1 #define EIGEN_USE_THREADS 7 #define CREATE_THREAD_POOL(threads) \ 8 Eigen::ThreadPool pool(threads); \ 9 Eigen::ThreadPoolDevice device(&pool, threads); 14 #define BM_ContractionCPU(D1, D2, D3) \ 15 static void BM_##Contraction##_##D1##x##D2##x##D3(int iters, int Threads) { \ 16 StopBenchmarkTiming(); \ 17 CREATE_THREAD_POOL(Threads); \ 18 BenchmarkSuite<Eigen::ThreadPoolDevice, float> suite(device, D1, D2, D3); \ 19 suite.contraction(iters); \ 21 BENCHMARK_RANGE(BM_##Contraction##_##D1##x##D2##x##D3, 1, 32); #define BM_ContractionCPU(D1, D2, D3)