diff options
author | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2014-10-15 15:32:59 -0700 |
---|---|---|
committer | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2014-10-15 15:32:59 -0700 |
commit | bfdd9f3ac95d9a2b41e6f2ec1f7434331125b9e1 (patch) | |
tree | 00febe753c88df728b8e818d5b3ec4df27238e14 /test/product_large.cpp | |
parent | dba55041ab62961e549ea58778dffa3eaa0cbdb5 (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.cpp | 7 |
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); } { |