diff options
Diffstat (limited to 'Carpet/CarpetLib/src/mem.cc')
-rw-r--r-- | Carpet/CarpetLib/src/mem.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Carpet/CarpetLib/src/mem.cc b/Carpet/CarpetLib/src/mem.cc index 77cd6b704..c8bb8388b 100644 --- a/Carpet/CarpetLib/src/mem.cc +++ b/Carpet/CarpetLib/src/mem.cc @@ -49,13 +49,18 @@ namespace { { max_cache_linesize = 1; if (CCTK_IsFunctionAliased("GetCacheInfo1")) { - int const num_levels = GetCacheInfo1(NULL, NULL, 0); + int const num_levels = + GetCacheInfo1(NULL, NULL, NULL, NULL, NULL, NULL, 0); + vector<int> types (num_levels); vector<int> linesizes(num_levels); vector<int> strides (num_levels); - GetCacheInfo1(&linesizes[0], &strides[0], num_levels); + GetCacheInfo1(NULL, &types[0], NULL, &linesizes[0], &strides[0], NULL, + num_levels); for (int level=0; level<num_levels; ++level) { - max_cache_linesize = - max(max_cache_linesize, size_t(linesizes[level])); + if (types[level]==0) { // if this is a cache + max_cache_linesize = + max(max_cache_linesize, size_t(linesizes[level])); + } } } } |