aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/product_large.cpp
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2014-10-15 15:32:59 -0700
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2014-10-15 15:32:59 -0700
commitbfdd9f3ac95d9a2b41e6f2ec1f7434331125b9e1 (patch)
tree00febe753c88df728b8e818d5b3ec4df27238e14 /test/product_large.cpp
parentdba55041ab62961e549ea58778dffa3eaa0cbdb5 (diff)
Made the blocking computation aware of the l3 cache
Also optimized the blocking parameters to take into account the number of threads used for a computation
Diffstat (limited to 'test/product_large.cpp')
-rw-r--r--test/product_large.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/test/product_large.cpp b/test/product_large.cpp
index 11531aa1d..ffb8b7bf2 100644
--- a/test/product_large.cpp
+++ b/test/product_large.cpp
@@ -39,15 +39,16 @@ void test_product_large()
// check the functions to setup blocking sizes compile and do not segfault
// FIXME check they do what they are supposed to do !!
std::ptrdiff_t l1 = internal::random<int>(10000,20000);
- std::ptrdiff_t l2 = internal::random<int>(1000000,2000000);
- setCpuCacheSizes(l1,l2);
+ std::ptrdiff_t l2 = internal::random<int>(100000,200000);
+ std::ptrdiff_t l3 = internal::random<int>(1000000,2000000);
+ setCpuCacheSizes(l1,l2,l3);
VERIFY(l1==l1CacheSize());
VERIFY(l2==l2CacheSize());
std::ptrdiff_t k1 = internal::random<int>(10,100)*16;
std::ptrdiff_t m1 = internal::random<int>(10,100)*16;
std::ptrdiff_t n1 = internal::random<int>(10,100)*16;
// only makes sure it compiles fine
- internal::computeProductBlockingSizes<float,float>(k1,m1,n1);
+ internal::computeProductBlockingSizes<float,float>(k1,m1,n1,1);
}
{