diff --git a/tests/tiling/test_tiling.cpp b/tests/tiling/test_tiling.cpp index f938de11f35905fc43d92d8b52423a2daf48a080..cd9b1f8aae3519dab39842fcbb4b4eb39b188996 100644 --- a/tests/tiling/test_tiling.cpp +++ b/tests/tiling/test_tiling.cpp @@ -55,28 +55,28 @@ TEST_F(TestTiling, MultiCoreSmallMN) EXPECT_GE(tilingData.get_shareL1Size(), 63552); } -TEST_F(TestTiling, MatmulApiTilingFP32OverFlowND2NZ) -{ - matmul_tiling::PlatformInfo plat {.socVersion = platform_ascendc::SocVersion::ASCEND910B, .l1Size = 524288, - .l0CSize = 131072, .ubSize = 196608, .l0ASize = 65536, .l0BSize = 65536}; - matmul_tiling::MatmulApiTiling stft(plat); - stft.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_FLOAT); - stft.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_FLOAT, true); - stft.SetCType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_FLOAT); - stft.SetBiasType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_FLOAT); - auto ret = stft.SetOrgShape(378, 168, 960); - ret = stft.SetShape(378, 168, 960); - ret = stft.SetBufferSpace(-1, -1, -1); // will use all buffer space if not explicitly specified - stft.SetMatmulConfigParams(1, false, ScheduleType::INNER_PRODUCT, MatrixTraverse::NOSET, true); - stft.socVersion = platform_ascendc::SocVersion::ASCEND310P; - optiling::TCubeTiling tilingData; - tilingData.set_usedCoreNum(1); +TEST_F(TestTiling, MatmulApiTilingFP32OverFlowND2NZ) +{ + matmul_tiling::PlatformInfo plat {.socVersion = platform_ascendc::SocVersion::ASCEND910B, .l1Size = 524288, + .l0CSize = 131072, .ubSize = 196608, .l0ASize = 65536, .l0BSize = 65536}; + matmul_tiling::MatmulApiTiling stft(plat); + stft.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_FLOAT); + stft.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_FLOAT, true); + stft.SetCType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_FLOAT); + stft.SetBiasType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_FLOAT); + auto ret = stft.SetOrgShape(378, 168, 960); + ret = stft.SetShape(378, 168, 960); + ret = stft.SetBufferSpace(-1, -1, -1); // will use all buffer space if not explicitly specified + stft.SetMatmulConfigParams(1, false, ScheduleType::INNER_PRODUCT, MatrixTraverse::NOSET, true); + stft.socVersion = platform_ascendc::SocVersion::ASCEND310P; + optiling::TCubeTiling tilingData; + tilingData.set_usedCoreNum(1); ret = stft.GetTiling(tilingData); - tilingData.set_iterateOrder(1); - stft.PrintTilingData(); - EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 194560); - EXPECT_GE(tilingData.get_transLength(), 90112); + tilingData.set_iterateOrder(1); + stft.PrintTilingData(); + EXPECT_EQ(ret, 0); + EXPECT_GE(tilingData.get_shareL1Size(), 194560); + EXPECT_GE(tilingData.get_transLength(), 90112); } TEST_F(TestTiling, MatmulApiTilingFP32OverFlow) @@ -139,7 +139,7 @@ TEST_F(TestTiling, MatmulMDL1951ND2NZNoFullLoad) ret = rnnMatmul3.GetTiling(tilingDataA); rnnMatmul3.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingDataA.get_shareL1Size(), 98304); + EXPECT_GE(tilingDataA.get_shareL1Size(), 98304); EXPECT_GE(tilingDataA.get_transLength(), 65536); rnnMatmul4.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType ::DT_INT8); @@ -157,7 +157,7 @@ TEST_F(TestTiling, MatmulMDL1951ND2NZNoFullLoad) ret = rnnMatmul4.GetTiling(tilingDataB); rnnMatmul4.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingDataB.get_shareL1Size(), 163840); + EXPECT_GE(tilingDataB.get_shareL1Size(), 163840); EXPECT_GE(tilingDataB.get_transLength(), 69632); } @@ -217,7 +217,7 @@ TEST_F(TestTiling, L1CacheUBCase01NoCacheND2NZ) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 458752); + EXPECT_GE(tilingData.get_shareL1Size(), 458752); EXPECT_GE(tilingData.get_transLength(), 131072); EXPECT_EQ(tilingData.get_depthAL1CacheUB(), 2); EXPECT_EQ(tilingData.get_depthBL1CacheUB(), 4); @@ -471,43 +471,43 @@ TEST_F(TestTiling, Tiling_BatchMatmulWithCppStruct) EXPECT_EQ(ret, -1); } -TEST_F(TestTiling, ATscmCase310P) -{ - MatmulApiTiling tiling; - tiling.SetAType(TPosition::TSCM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); - tiling.SetBType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); - tiling.SetCType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetBiasType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetShape(32, 4096, 80); - tiling.SetOrgShape(32, 4096, 80); - tiling.EnableBias(true); - tiling.SetBufferSpace(256 * 1024, -1, -1); - tiling.socVersion = platform_ascendc::SocVersion::ASCEND310P; - optiling::TCubeTiling tilingData; - int ret = tiling.GetTiling(tilingData); - tiling.PrintTilingData(); - EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 65536); - EXPECT_GE(tilingData.get_transLength(), 34816); -} - -TEST_F(TestTiling, ATscmCase910B) -{ - MatmulApiTiling tiling; - tiling.SetAType(TPosition::TSCM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); - tiling.SetBType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); - tiling.SetCType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetBiasType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); +TEST_F(TestTiling, ATscmCase310P) +{ + MatmulApiTiling tiling; + tiling.SetAType(TPosition::TSCM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); + tiling.SetBType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); + tiling.SetCType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetBiasType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetShape(32, 4096, 80); + tiling.SetOrgShape(32, 4096, 80); + tiling.EnableBias(true); + tiling.SetBufferSpace(256 * 1024, -1, -1); + tiling.socVersion = platform_ascendc::SocVersion::ASCEND310P; + optiling::TCubeTiling tilingData; + int ret = tiling.GetTiling(tilingData); + tiling.PrintTilingData(); + EXPECT_EQ(ret, 0); + EXPECT_GE(tilingData.get_shareL1Size(), 65536); + EXPECT_GE(tilingData.get_transLength(), 34816); +} + +TEST_F(TestTiling, ATscmCase910B) +{ + MatmulApiTiling tiling; + tiling.SetAType(TPosition::TSCM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); + tiling.SetBType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); + tiling.SetCType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetBiasType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); tiling.SetShape(32, 4096, 80); - tiling.SetOrgShape(32, 4096, 80); - tiling.EnableBias(true); - tiling.SetBufferSpace(256 * 1024, -1, -1); - tiling.socVersion = platform_ascendc::SocVersion::ASCEND910B; - optiling::TCubeTiling tilingData; - int ret = tiling.GetTiling(tilingData); - tiling.PrintTilingData(); - EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 66560); + tiling.SetOrgShape(32, 4096, 80); + tiling.EnableBias(true); + tiling.SetBufferSpace(256 * 1024, -1, -1); + tiling.socVersion = platform_ascendc::SocVersion::ASCEND910B; + optiling::TCubeTiling tilingData; + int ret = tiling.GetTiling(tilingData); + tiling.PrintTilingData(); + EXPECT_EQ(ret, 0); + EXPECT_GE(tilingData.get_shareL1Size(), 66560); } TEST_F(TestTiling, BmmFailedCase) @@ -619,7 +619,7 @@ TEST_F(TestTiling, L1CacheUBCase01NoCache) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 458752); + EXPECT_GE(tilingData.get_shareL1Size(), 458752); EXPECT_GE(tilingData.get_transLength(), 163840); EXPECT_EQ(tilingData.get_depthAL1CacheUB(), 0); EXPECT_EQ(tilingData.get_depthBL1CacheUB(), 0); @@ -642,7 +642,7 @@ TEST_F(TestTiling, L1CacheUBCase02NeiABFullLoad) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 491520); + EXPECT_GE(tilingData.get_shareL1Size(), 491520); EXPECT_GE(tilingData.get_transLength(), 163840); EXPECT_EQ(tilingData.get_depthAL1CacheUB(), 0); EXPECT_EQ(tilingData.get_depthBL1CacheUB(), 3); @@ -665,7 +665,7 @@ TEST_F(TestTiling, L1CacheUBCase03BothABFullLoad) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 1088); + EXPECT_GE(tilingData.get_shareL1Size(), 1088); EXPECT_GE(tilingData.get_transLength(), 1024); EXPECT_EQ(tilingData.get_depthAL1CacheUB(), 1); EXPECT_EQ(tilingData.get_depthBL1CacheUB(), 1); @@ -690,7 +690,7 @@ TEST_F(TestTiling, L1CacheUBCase04OnlyAFullLoad) tiling.PrintTilingData(); EXPECT_EQ(ret, 0); EXPECT_EQ(tilingData.get_depthAL1CacheUB(), 1); - EXPECT_GE(tilingData.get_shareL1Size(), 393984); + EXPECT_GE(tilingData.get_shareL1Size(), 393984); EXPECT_GE(tilingData.get_transLength(), 393728); } @@ -711,7 +711,7 @@ TEST_F(TestTiling, L1CacheUBCase04OnlyBFullLoad) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 393984); + EXPECT_GE(tilingData.get_shareL1Size(), 393984); EXPECT_GE(tilingData.get_transLength(), 393216); EXPECT_EQ(tilingData.get_depthBL1CacheUB(), 1); } @@ -734,7 +734,7 @@ TEST_F(TestTiling, L1CacheUBCase05BothCache) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 507904); + EXPECT_GE(tilingData.get_shareL1Size(), 507904); EXPECT_GE(tilingData.get_transLength(), 163840); EXPECT_EQ(tilingData.get_depthAL1CacheUB(), 1); EXPECT_EQ(tilingData.get_depthBL1CacheUB(), 2); @@ -757,7 +757,7 @@ TEST_F(TestTiling, L1CacheUBCase06AMatIsTSCM) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 327680); + EXPECT_GE(tilingData.get_shareL1Size(), 327680); EXPECT_GE(tilingData.get_transLength(), 131584); EXPECT_EQ(tilingData.get_depthAL1CacheUB(), 0); EXPECT_EQ(tilingData.get_depthBL1CacheUB(), 1); @@ -893,28 +893,28 @@ TEST_F(TestTiling, AFullLoadCase) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 279552); -} - -TEST_F(TestTiling, AFullLoadND2NZCase) -{ - MatmulApiTiling tiling; - tiling.SetAType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetBType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetCType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetBiasType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetShape(32, 512000, 128); - tiling.SetOrgShape(32, 512000, 128); - tiling.EnableBias(true); - tiling.SetBufferSpace(-1, -1, -1); - tiling.SetMatmulConfigParams(1, false, ScheduleType::INNER_PRODUCT, MatrixTraverse::NOSET, true); - tiling.socVersion = platform_ascendc::SocVersion::ASCEND310P; + EXPECT_GE(tilingData.get_shareL1Size(), 279552); +} + +TEST_F(TestTiling, AFullLoadND2NZCase) +{ + MatmulApiTiling tiling; + tiling.SetAType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetBType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetCType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetBiasType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetShape(32, 512000, 128); + tiling.SetOrgShape(32, 512000, 128); + tiling.EnableBias(true); + tiling.SetBufferSpace(-1, -1, -1); + tiling.SetMatmulConfigParams(1, false, ScheduleType::INNER_PRODUCT, MatrixTraverse::NOSET, true); + tiling.socVersion = platform_ascendc::SocVersion::ASCEND310P; optiling::TCubeTiling tilingData; - int ret = tiling.GetTiling(tilingData); - tiling.PrintTilingData(); - EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 278528); - EXPECT_GE(tilingData.get_transLength(), 270336); + int ret = tiling.GetTiling(tilingData); + tiling.PrintTilingData(); + EXPECT_EQ(ret, 0); + EXPECT_GE(tilingData.get_shareL1Size(), 278528); + EXPECT_GE(tilingData.get_transLength(), 270336); } TEST_F(TestTiling, BFullLoadCase) @@ -950,28 +950,28 @@ TEST_F(TestTiling, BothNotFullLoadCase) int ret = tiling.GetTiling(tilingData); tiling.PrintTilingData(); EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 230400); -} - -TEST_F(TestTiling, BothNotFullLoadND2NZCase) -{ - MatmulApiTiling tiling; - tiling.SetAType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetBType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetCType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetBiasType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); - tiling.SetShape(512, 1024, 128000); - tiling.SetOrgShape(512, 1024, 128000); - tiling.EnableBias(true); - tiling.SetBufferSpace(-1, -1, -1); - tiling.SetMatmulConfigParams(1, false, ScheduleType::INNER_PRODUCT, MatrixTraverse::NOSET, true); - tiling.socVersion = platform_ascendc::SocVersion::ASCEND310P; + EXPECT_GE(tilingData.get_shareL1Size(), 230400); +} + +TEST_F(TestTiling, BothNotFullLoadND2NZCase) +{ + MatmulApiTiling tiling; + tiling.SetAType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetBType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetCType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetBiasType(TPosition::GM, CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); + tiling.SetShape(512, 1024, 128000); + tiling.SetOrgShape(512, 1024, 128000); + tiling.EnableBias(true); + tiling.SetBufferSpace(-1, -1, -1); + tiling.SetMatmulConfigParams(1, false, ScheduleType::INNER_PRODUCT, MatrixTraverse::NOSET, true); + tiling.socVersion = platform_ascendc::SocVersion::ASCEND310P; optiling::TCubeTiling tilingData; - int ret = tiling.GetTiling(tilingData); - tiling.PrintTilingData(); - EXPECT_EQ(ret, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 196608); - EXPECT_GE(tilingData.get_transLength(), 131072); + int ret = tiling.GetTiling(tilingData); + tiling.PrintTilingData(); + EXPECT_EQ(ret, 0); + EXPECT_GE(tilingData.get_shareL1Size(), 196608); + EXPECT_GE(tilingData.get_transLength(), 131072); } TEST_F(TestTiling, TestMatmulApiTilngCase1) @@ -2699,7 +2699,7 @@ TEST_F(TestTiling, TestMatmulApiTilngBMatrixTSCM) optiling::TCubeTiling tilingData; tiling.GetTiling(tilingData); tiling.PrintTilingData(); - EXPECT_GE(tilingData.get_shareL1Size(), 2048); + EXPECT_GE(tilingData.get_shareL1Size(), 2048); EXPECT_GE(tilingData.get_transLength(), 0); EXPECT_EQ(tilingData.get_baseK(), 32); } @@ -3081,28 +3081,10 @@ TEST_F(TestTiling, TestMatmulApiTilngMultiCoreBTSCM5) int64_t res = tilingApi.GetTiling(tilingData); tilingApi.PrintTilingData(); EXPECT_EQ(res, 0); - EXPECT_GE(tilingData.get_shareL1Size(), 24832); + EXPECT_GE(tilingData.get_shareL1Size(), 24832); EXPECT_GE(tilingData.get_transLength(), 0); } -TEST_F(TestTiling, TestConcatTiling) -{ - fe::PlatFormInfos platform_info; - auto plat = platform_ascendc::PlatformAscendC(&platform_info); - const uint32_t elemCount = 128; - - AscendC::GetConcatTmpSize(plat, elemCount, 2); -} - -TEST_F(TestTiling, TestSortTiling) -{ - fe::PlatFormInfos platform_info; - auto plat = platform_ascendc::PlatformAscendC(&platform_info); - const uint32_t elemCount = 128; - - AscendC::GetSortTmpSize(plat, elemCount, 4); -} - TEST_F(TestTiling, TestUnPadTiling) { const uint32_t stackBufferSize = 100 * 1024; diff --git a/version.info b/version.info index 07bae3d13552d7da753d5949641535562179c937..3eaabbc2f785752a2289a2bd5282bd9a37d0fd12 100644 --- a/version.info +++ b/version.info @@ -1,2 +1 @@ -Version=7.8.T5.0.B028 - +Version=8.2.T12.0.B077 \ No newline at end of file