aboutsummaryrefslogtreecommitdiff
path: root/Carpet/LoopControl/interface.ccl
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-01-16 14:46:17 -0500
committerErik Schnetter <schnetter@gmail.com>2013-01-16 14:46:17 -0500
commite0ddb73239c73c6de42a01204194173ce65ebff4 (patch)
treed0380bec049f7807836d68a0001f2ec492f62d0e /Carpet/LoopControl/interface.ccl
parent1cddd960d62da42ccd111022f1326740f688b48d (diff)
LoopControl: Rewrite
Rewrite code in C++. Remove dependency on GSL. Modify algorithm; now traverses arrays bottom-up (by splitting the looping region into equal-sized blocks) instead of top-down (splitting the region into a certain number of blocks) Make multi-threading dynamic Support SMT (hyper-threading), i.e. threads which share the same cache
Diffstat (limited to 'Carpet/LoopControl/interface.ccl')
-rw-r--r--Carpet/LoopControl/interface.ccl13
1 files changed, 13 insertions, 0 deletions
diff --git a/Carpet/LoopControl/interface.ccl b/Carpet/LoopControl/interface.ccl
index 8769d737b..c05c6f843 100644
--- a/Carpet/LoopControl/interface.ccl
+++ b/Carpet/LoopControl/interface.ccl
@@ -2,6 +2,19 @@
IMPLEMENTS: LoopControl
+INHERITS: CycleClock
+
INCLUDE HEADER: loopcontrol.h IN loopcontrol.h
+USES INCLUDE HEADER: cycleclock.h
USES INCLUDE HEADER: vectors.h
+
+
+
+CCTK_INT FUNCTION GetNumSMTThreads()
+USES FUNCTION GetNumSMTThreads
+
+CCTK_INT FUNCTION GetCacheInfo1(CCTK_INT ARRAY OUT linesizes, \
+ CCTK_INT ARRAY OUT strides, \
+ CCTK_INT IN max_num_cache_levels)
+USES FUNCTION GetCacheInfo1