diff options
author | Erik Schnetter <schnetter@gmail.com> | 2013-01-16 14:46:17 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2013-01-16 14:46:17 -0500 |
commit | e0ddb73239c73c6de42a01204194173ce65ebff4 (patch) | |
tree | d0380bec049f7807836d68a0001f2ec492f62d0e /Carpet/LoopControl/src/type_sizes.F90 | |
parent | 1cddd960d62da42ccd111022f1326740f688b48d (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/src/type_sizes.F90')
-rw-r--r-- | Carpet/LoopControl/src/type_sizes.F90 | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Carpet/LoopControl/src/type_sizes.F90 b/Carpet/LoopControl/src/type_sizes.F90 new file mode 100644 index 000000000..86e8304d8 --- /dev/null +++ b/Carpet/LoopControl/src/type_sizes.F90 @@ -0,0 +1,21 @@ +#include "cctk.h" +#include "cctk_Functions.h" + + + +subroutine lc_get_fortran_type_sizes(type_sizes) + use loopcontrol_types + implicit none + DECLARE_CCTK_FUNCTIONS + CCTK_POINTER :: type_sizes(4) + + type(lc_vec_t) :: vec(2) + type(lc_ivec_t) :: ivec(2) + type(lc_space_t) :: space(2) + type(lc_control_t) :: control(2) + + type_sizes(1) = CCTK_PointerTo(vec(2)) - CCTK_PointerTo(vec(1)) + type_sizes(2) = CCTK_PointerTo(ivec(2)) - CCTK_PointerTo(ivec(1)) + type_sizes(3) = CCTK_PointerTo(space(2)) - CCTK_PointerTo(space(1)) + type_sizes(4) = CCTK_PointerTo(control(2)) - CCTK_PointerTo(control(1)) +end subroutine lc_get_fortran_type_sizes |