diff options
author | Young Jin Kim <youki@microsoft.com> | 2020-01-10 00:07:16 +0300 |
---|---|---|
committer | Young Jin Kim <youki@microsoft.com> | 2020-01-10 00:07:16 +0300 |
commit | 53275f272f88d3aa463c94dc0f76de092ce60b13 (patch) | |
tree | e74217b8970019198e21f49e986aa0b1b8b21eff | |
parent | 828a68b406ee245ee25e7c05922cebf99979de58 (diff) |
Sparse MM benchmarkyouki/benchmarksparse
-rw-r--r-- | bench/PackedFloatInOutBenchmark.cc | 70 | ||||
-rw-r--r-- | bench/SpMMFP32Benchmark.cc | 11 | ||||
-rw-r--r-- | bench/SpMMI8Benchmark.cc | 6 |
3 files changed, 48 insertions, 39 deletions
diff --git a/bench/PackedFloatInOutBenchmark.cc b/bench/PackedFloatInOutBenchmark.cc index 0c953f8..b53d7c5 100644 --- a/bench/PackedFloatInOutBenchmark.cc +++ b/bench/PackedFloatInOutBenchmark.cc @@ -32,40 +32,44 @@ void performance_test() { vector<vector<int>> shapes = { // NOTE: clang-format wants to use a different formatting but the current // formatting should be easier to read. - {1, 128, 512}, - {1, 1024, 256}, + {1, 512, 512}, + {1, 512, 512}, {1, 2048, 512}, - {1, 4096, 1024}, - - {6, 256, 1024}, - {6, 256, 2048}, - {6, 512, 512}, - {6, 1024, 256}, - {6, 2048, 256}, - {6, 2048, 512}, - {6, 4096, 256}, - {6, 4096, 1024}, - {6, 4096, 2048}, - - {10, 2048, 256}, - {10, 4096, 1024}, - - {20, 2048, 256}, - {20, 4096, 1024}, - - {102, 1024, 512}, - {102, 2323, 256}, - {102, 512, 256}, - - {1, 800, 3200}, - {1, 800, 8000}, - - {16, 256, 1500}, - {16, 256, 1567}, - {1, 128, 2876}, - {16, 128, 1567}, - {1, 128, 2722}, - {16, 256, 512}, + {1, 32000, 512}, + // {1, 128, 512}, + // {1, 1024, 256}, + // {1, 2048, 512}, + // {1, 4096, 1024}, + + // {6, 256, 1024}, + // {6, 256, 2048}, + // {6, 512, 512}, + // {6, 1024, 256}, + // {6, 2048, 256}, + // {6, 2048, 512}, + // {6, 4096, 256}, + // {6, 4096, 1024}, + // {6, 4096, 2048}, + + // {10, 2048, 256}, + // {10, 4096, 1024}, + + // {20, 2048, 256}, + // {20, 4096, 1024}, + + // {102, 1024, 512}, + // {102, 2323, 256}, + // {102, 512, 256}, + + // {1, 800, 3200}, + // {1, 800, 8000}, + + // {16, 256, 1500}, + // {16, 256, 1567}, + // {1, 128, 2876}, + // {16, 128, 1567}, + // {1, 128, 2722}, + // {16, 256, 512}, }; // clang-format on bool flush = true; diff --git a/bench/SpMMFP32Benchmark.cc b/bench/SpMMFP32Benchmark.cc index 6f6892a..21167a5 100644 --- a/bench/SpMMFP32Benchmark.cc +++ b/bench/SpMMFP32Benchmark.cc @@ -7,9 +7,11 @@ using namespace std; using namespace fbgemm; int main(int, char**) { - vector<char> llc(128 * 1024 * 1024); +// vector<char> llc(128 * 1024 * 1024); + vector<char> llc(1 * 512 * 2048); - vector<vector<int>> shapes = {{1024, 128, 1024}}; +// vector<vector<int>> shapes = {{1024, 128, 1024}}; + vector<vector<int>> shapes = {{2048, 1, 512}, {512, 1, 512}, {32000, 1, 512}}; // C is MxN -> CT is NxM // A is MxK -> BT is KxM @@ -38,10 +40,11 @@ int main(int, char**) { constexpr int NWARMUP = 5; constexpr int NITER = 32; auto secs = measureWithWarmup( - [&]() { fn(bData.data(), cData.data(), 0); }, NWARMUP, NITER, &llc); + [&]() { //fn = generateSpMM<float>(m, n, k, aData.data(), lda, ldb, ldc); + fn(bData.data(), cData.data(), 0); }, NWARMUP, NITER, &llc); auto secs_varying_n = measureWithWarmup( - [&]() { + [&]() { //fn_varying_n = generateSpMM<float>(m, k, aData.data(), lda); fn_varying_n( bData.data(), cData.data(), diff --git a/bench/SpMMI8Benchmark.cc b/bench/SpMMI8Benchmark.cc index 212fd09..484f0cc 100644 --- a/bench/SpMMI8Benchmark.cc +++ b/bench/SpMMI8Benchmark.cc @@ -8,12 +8,14 @@ using namespace std; using namespace fbgemm; int main(int, char**) { - vector<char> llc(128 * 1024 * 1024); + //vector<char> llc(128 * 1024 * 1024); + vector<char> llc(1 * 512 * 2048); // vector<vector<unsigned>> shapes = {{64, 64, 64}}; // vector<vector<unsigned>> shapes = {{1, 16, 4}}; - vector<vector<unsigned>> shapes = {{1024, 128, 1024}}; + // vector<vector<unsigned>> shapes = {{1024, 128, 1024}}; + vector<vector<unsigned>> shapes = {{2048, 1, 512}, {512, 1, 512}, {32000, 1, 512}}; // C is MxN -> CT is NxM // A is MxK -> BT is KxM |