Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/FBGEMM.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoung Jin Kim <youki@microsoft.com>2020-01-10 00:07:16 +0300
committerYoung Jin Kim <youki@microsoft.com>2020-01-10 00:07:16 +0300
commit53275f272f88d3aa463c94dc0f76de092ce60b13 (patch)
treee74217b8970019198e21f49e986aa0b1b8b21eff
parent828a68b406ee245ee25e7c05922cebf99979de58 (diff)
Sparse MM benchmarkyouki/benchmarksparse
-rw-r--r--bench/PackedFloatInOutBenchmark.cc70
-rw-r--r--bench/SpMMFP32Benchmark.cc11
-rw-r--r--bench/SpMMI8Benchmark.cc6
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