test/cuda/test_tc_mapper_bugs.cc
// Reduction init separation was creating empty filters when there was no init
// statement.  Tightening was choking on such empty filters.
Reduction init separation was creating empty filters when there was no init
statement.  Tightening was choking on such empty filters.
Reduction init separation was creating empty filters when there was no init statement . Tightening was choking on such empty filters .
TEST_F(TensorDot_32_512_8_2_28_28, EmptyLeaf) {
  Init();
  auto options = tc::CudaMappingOptions::makeNaiveCudaMappingOptions()
                     .outerScheduleFusionStrategy(tc::FusionStrategy::Min)
                     .outerScheduleAllowSkewing(false)
                     .outerSchedulePositiveOrthant(true)
                     .intraTileScheduleFusionStrategy(tc::FusionStrategy::Min)
                     .intraTileScheduleAllowSkewing(false)
                     .intraTileSchedulePositiveOrthant(true)
                     .tile(256, 64)
                     .mapToThreads(32)
                     .mapToBlocks(128, 14)
                     .unroll(8)
                     .tileImperfectlyNested(false)
                     .useSharedMemory(false)
                     .usePrivateMemory(false)
                     .unrollCopyShared(false)
                     .matchLibraryCalls(true);
  Check(options, false);
}
TEST_F ( TensorDot_32_512_8_2_28_28 , EmptyLeaf ) { Init ( ) ; auto options = tc :: CudaMappingOptions :: makeNaiveCudaMappingOptions ( ) . outerScheduleFusionStrategy ( tc :: FusionStrategy :: Min ) . outerScheduleAllowSkewing ( false ) . outerSchedulePositiveOrthant ( true ) . intraTileScheduleFusionStrategy ( tc :: FusionStrategy :: Min ) . intraTileScheduleAllowSkewing ( false ) . intraTileSchedulePositiveOrthant ( true ) . tile ( 256 , 64 ) . mapToThreads ( 32 ) . mapToBlocks ( 128 , 14 ) . unroll ( 8 ) . tileImperfectlyNested ( false ) . useSharedMemory ( false ) . usePrivateMemory ( false ) . unrollCopyShared ( false ) . matchLibraryCalls ( true ) ; Check ( options , false ) ; }
Reduction init separation was creating empty filters when there was no init
statement.
Reduction init separation was creating empty filters when there was no init statement .
// Just compiling is enough for the test, run results in catastrophically // bad perf so skip it