From 4e3b65463a16a0fc66724ab72c4dec9b3f31dbd4 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 2 Feb 2012 13:36:18 -0600 Subject: Support accelerator data transfer This patch provides a function interface for accelerator (GPU) devices to be called at certain points when Carpet traverses the schedule tree. This can be used to copy data between the host (CPU) and the device (GPU) as it is needed. --- Carpet/Carpet/interface.ccl | 28 ++++++++++++++++++++++++++++ Carpet/Carpet/param.ccl | 6 ++++++ Carpet/Carpet/src/CallFunction.cc | 12 ++++++++++++ Carpet/Carpet/src/Comm.cc | 8 ++++++++ Carpet/Carpet/src/Cycle.cc | 4 ++++ Carpet/Carpet/src/Evolve.cc | 2 ++ Carpet/Carpet/src/Initialise.cc | 2 ++ Carpet/Carpet/src/Requirements.cc | 34 ++++++++++++++++++++++------------ Carpet/Carpet/src/variables.cc | 3 +++ Carpet/Carpet/src/variables.hh | 3 +++ 10 files changed, 90 insertions(+), 12 deletions(-) --- Carpet/Carpet/src/Evolve.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Carpet/Carpet/src/Evolve.cc') diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc index 21647a4e3..8a11fb4ed 100644 --- a/Carpet/Carpet/src/Evolve.cc +++ b/Carpet/Carpet/src/Evolve.cc @@ -602,7 +602,9 @@ namespace Carpet { ScheduleTraverse (where, "CCTK_CHECKPOINT", cctkGH); // Analysis + in_analysis_bin = true; ScheduleTraverse (where, "CCTK_ANALYSIS", cctkGH); + in_analysis_bin = false; if (do_late_global_mode) { // Timing statistics -- cgit v1.2.3