mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Remove benchmark::internal::Benchmark* from all benchmarks
libeigen/eigen!2332 Co-authored-by: Rasmus Munk Larsen <rlarsen@nvidia.com>
This commit is contained in:
@@ -53,24 +53,29 @@ static void BM_GemmCustomBlocking(benchmark::State& state) {
|
||||
benchmark::Counter(2.0 * k * m * n, benchmark::Counter::kIsIterationInvariantRate, benchmark::Counter::kIs1000);
|
||||
}
|
||||
|
||||
static void DefaultBlockingSizes(::benchmark::Benchmark* b) {
|
||||
for (int s : {64, 128, 256, 512, 1024, 2048}) {
|
||||
b->Args({s, s, s});
|
||||
}
|
||||
}
|
||||
// clang-format off
|
||||
BENCHMARK(BM_GemmDefaultBlocking)
|
||||
->Args({64, 64, 64})->Args({128, 128, 128})->Args({256, 256, 256})
|
||||
->Args({512, 512, 512})->Args({1024, 1024, 1024})->Args({2048, 2048, 2048});
|
||||
|
||||
static void CustomBlockingSizes(::benchmark::Benchmark* b) {
|
||||
// Test a few product sizes with varying block sizes
|
||||
for (int s : {256, 512, 1024}) {
|
||||
for (int bk : {16, 32, 64, 128, 256}) {
|
||||
if (bk > s) continue;
|
||||
for (int bm : {16, 32, 64, 128, 256}) {
|
||||
if (bm > s) continue;
|
||||
b->Args({s, s, s, bk, bm, s});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BENCHMARK(BM_GemmDefaultBlocking)->Apply(DefaultBlockingSizes);
|
||||
BENCHMARK(BM_GemmCustomBlocking)->Apply(CustomBlockingSizes);
|
||||
// {k, m, n, bk, bm, bn} — all bk/bm values ≤ 256 ≤ min(s), so no filtering needed.
|
||||
BENCHMARK(BM_GemmCustomBlocking)
|
||||
// s = 256
|
||||
->Args({256,256,256,16,16,256})->Args({256,256,256,16,32,256})->Args({256,256,256,16,64,256})->Args({256,256,256,16,128,256})->Args({256,256,256,16,256,256})
|
||||
->Args({256,256,256,32,16,256})->Args({256,256,256,32,32,256})->Args({256,256,256,32,64,256})->Args({256,256,256,32,128,256})->Args({256,256,256,32,256,256})
|
||||
->Args({256,256,256,64,16,256})->Args({256,256,256,64,32,256})->Args({256,256,256,64,64,256})->Args({256,256,256,64,128,256})->Args({256,256,256,64,256,256})
|
||||
->Args({256,256,256,128,16,256})->Args({256,256,256,128,32,256})->Args({256,256,256,128,64,256})->Args({256,256,256,128,128,256})->Args({256,256,256,128,256,256})
|
||||
->Args({256,256,256,256,16,256})->Args({256,256,256,256,32,256})->Args({256,256,256,256,64,256})->Args({256,256,256,256,128,256})->Args({256,256,256,256,256,256})
|
||||
// s = 512
|
||||
->Args({512,512,512,16,16,512})->Args({512,512,512,16,32,512})->Args({512,512,512,16,64,512})->Args({512,512,512,16,128,512})->Args({512,512,512,16,256,512})
|
||||
->Args({512,512,512,32,16,512})->Args({512,512,512,32,32,512})->Args({512,512,512,32,64,512})->Args({512,512,512,32,128,512})->Args({512,512,512,32,256,512})
|
||||
->Args({512,512,512,64,16,512})->Args({512,512,512,64,32,512})->Args({512,512,512,64,64,512})->Args({512,512,512,64,128,512})->Args({512,512,512,64,256,512})
|
||||
->Args({512,512,512,128,16,512})->Args({512,512,512,128,32,512})->Args({512,512,512,128,64,512})->Args({512,512,512,128,128,512})->Args({512,512,512,128,256,512})
|
||||
->Args({512,512,512,256,16,512})->Args({512,512,512,256,32,512})->Args({512,512,512,256,64,512})->Args({512,512,512,256,128,512})->Args({512,512,512,256,256,512})
|
||||
// s = 1024
|
||||
->Args({1024,1024,1024,16,16,1024})->Args({1024,1024,1024,16,32,1024})->Args({1024,1024,1024,16,64,1024})->Args({1024,1024,1024,16,128,1024})->Args({1024,1024,1024,16,256,1024})
|
||||
->Args({1024,1024,1024,32,16,1024})->Args({1024,1024,1024,32,32,1024})->Args({1024,1024,1024,32,64,1024})->Args({1024,1024,1024,32,128,1024})->Args({1024,1024,1024,32,256,1024})
|
||||
->Args({1024,1024,1024,64,16,1024})->Args({1024,1024,1024,64,32,1024})->Args({1024,1024,1024,64,64,1024})->Args({1024,1024,1024,64,128,1024})->Args({1024,1024,1024,64,256,1024})
|
||||
->Args({1024,1024,1024,128,16,1024})->Args({1024,1024,1024,128,32,1024})->Args({1024,1024,1024,128,64,1024})->Args({1024,1024,1024,128,128,1024})->Args({1024,1024,1024,128,256,1024})
|
||||
->Args({1024,1024,1024,256,16,1024})->Args({1024,1024,1024,256,32,1024})->Args({1024,1024,1024,256,64,1024})->Args({1024,1024,1024,256,128,1024})->Args({1024,1024,1024,256,256,1024});
|
||||
// clang-format on
|
||||
|
||||
Reference in New Issue
Block a user