aboutsummaryrefslogtreecommitdiff
path: root/Examples/AdvectCaKernel
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2012-11-14 19:53:02 +0100
committerIan Hinder <ian.hinder@aei.mpg.de>2012-11-14 19:53:02 +0100
commitcda73baf0fbca06d75e51ad28ed708d7a087a849 (patch)
tree4fac3164d827c0713877954ac0730f166714a5ad /Examples/AdvectCaKernel
parent72b0c57fbcbbc71f55464dfdf751dbdb0b45fcb8 (diff)
Regenerate examples
Diffstat (limited to 'Examples/AdvectCaKernel')
-rw-r--r--Examples/AdvectCaKernel/cakernel.ccl15
-rw-r--r--Examples/AdvectCaKernel/configuration.ccl1
-rw-r--r--Examples/AdvectCaKernel/interface.ccl14
-rw-r--r--Examples/AdvectCaKernel/schedule.ccl27
-rw-r--r--Examples/AdvectCaKernel/src/CaKernel__initial_gaussian.code7
-rw-r--r--Examples/AdvectCaKernel/src/make.code.defn7
6 files changed, 35 insertions, 36 deletions
diff --git a/Examples/AdvectCaKernel/cakernel.ccl b/Examples/AdvectCaKernel/cakernel.ccl
index ddec99a..058f48a 100644
--- a/Examples/AdvectCaKernel/cakernel.ccl
+++ b/Examples/AdvectCaKernel/cakernel.ccl
@@ -1,15 +1,6 @@
-CCTK_CUDA_KERNEL initial_gaussian TYPE=gpu_cuda/3dblock STENCIL="0,0,0,0,0,0" TILE="8,8,8" SHARECODE=yes
+CCTK_CUDA_KERNEL initial_gaussian TYPE=gpu_cuda/3dblock TILE="8,8,8" SHARECODE=yes STENCIL="0,0,0,0,0,0"
{
- CCTK_CUDA_KERNEL_VARIABLE cached=yes intent=out
- {
- phi
- }
- "phi"
-
- CCTK_CUDA_KERNEL_VARIABLE cached=yes intent=in
- {
- x
- }
- "x"
+ CCTK_CUDA_KERNEL_VARIABLE cached=no intent=out {phi} "phi"
+ CCTK_CUDA_KERNEL_VARIABLE cached=no intent=in {x} "x"
}
diff --git a/Examples/AdvectCaKernel/configuration.ccl b/Examples/AdvectCaKernel/configuration.ccl
index 0a66ec2..6d94724 100644
--- a/Examples/AdvectCaKernel/configuration.ccl
+++ b/Examples/AdvectCaKernel/configuration.ccl
@@ -4,3 +4,4 @@ REQUIRES GenericFD
OPTIONAL LoopControl
{
}
+REQUIRES CUDA MPI
diff --git a/Examples/AdvectCaKernel/interface.ccl b/Examples/AdvectCaKernel/interface.ccl
index beec223..bac17d7 100644
--- a/Examples/AdvectCaKernel/interface.ccl
+++ b/Examples/AdvectCaKernel/interface.ccl
@@ -2,13 +2,14 @@
implements: AdvectCaKernel
-inherits: Grid GenericFD Boundary
+inherits: Grid GenericFD Boundary Accelerator
USES INCLUDE: GenericFD.h
USES INCLUDE: Symmetry.h
USES INCLUDE: sbp_calc_coeffs.h
+USES INCLUDE: CaCUDALib_driver_support.h
USES INCLUDE: Boundary.h
USES INCLUDE: loopcontrol.h
@@ -32,3 +33,14 @@ CCTK_REAL phi_g type=GF timelevels=1 tags=''
{
phi
} "phi_g"
+
+# These functions are provided by the CaKernel thorn
+
+CCTK_INT FUNCTION Device_RegisterMem(CCTK_POINTER IN cctkGH, CCTK_INT IN vi, CCTK_INT IN num_tls)
+REQUIRES FUNCTION Device_RegisterMem
+
+CCTK_INT FUNCTION Device_UnRegisterMem(CCTK_POINTER IN cctkGH, CCTK_INT IN vi)
+REQUIRES FUNCTION Device_UnRegisterMem
+
+CCTK_POINTER FUNCTION Device_GetVarI (CCTK_POINTER IN cctkGH, CCTK_INT IN vi, CCTK_INT IN num_tls)
+REQUIRES FUNCTION Device_GetVarI
diff --git a/Examples/AdvectCaKernel/schedule.ccl b/Examples/AdvectCaKernel/schedule.ccl
index b83b7b8..f0cafb4 100644
--- a/Examples/AdvectCaKernel/schedule.ccl
+++ b/Examples/AdvectCaKernel/schedule.ccl
@@ -12,21 +12,18 @@ schedule AdvectCaKernel_Startup at STARTUP
OPTIONS: meta
} "create banner"
-schedule AdvectCaKernel_RegisterVars in MoL_Register
-{
- LANG: C
- OPTIONS: meta
-} "Register Variables for MoL"
-
schedule AdvectCaKernel_RegisterSymmetries in SymmetryRegister
{
LANG: C
OPTIONS: meta
} "register symmetries"
-schedule CAKERNEL_Launch_initial_gaussian AT INITIAL
+schedule CAKERNEL_Launch_initial_gaussian as initial_gaussian AT INITIAL
{
LANG: C
+ TAGS: Device=1
+ READS: grid::x
+ WRITES: AdvectCaKernel::phi
} "initial_gaussian"
schedule AdvectCaKernel_SelectBoundConds in MoL_PostStep
@@ -41,17 +38,19 @@ schedule AdvectCaKernel_CheckBoundaries at BASEGRID
OPTIONS: meta
} "check boundaries treatment"
-schedule CaKernel_CopyFromDev at ANALYSIS
+schedule AdvectCaKernel_RegisterVars in MoL_Register
+{
+ LANG: C
+ OPTIONS: meta
+} "Register Variables for MoL"
+
+schedule AdvectCaKernel_Init in CCTK_BASEGRID after Accelerator_SetDevice
{
LANG: C
-} "Copy variables from devices"
+ OPTIONS: local
+} "Initialize CUDA Device"
schedule group ApplyBCs as AdvectCaKernel_ApplyBCs in MoL_PostStep after AdvectCaKernel_SelectBoundConds
{
# no language specified
} "Apply boundary conditions controlled by thorn Boundary"
-
-
-############################################################
-#CAKERNEL AUTO GENERATED PART. DO NOT EDIT BELOW THIS POINT#
-############################################################
diff --git a/Examples/AdvectCaKernel/src/CaKernel__initial_gaussian.code b/Examples/AdvectCaKernel/src/CaKernel__initial_gaussian.code
index 19ecad8..c239ee0 100644
--- a/Examples/AdvectCaKernel/src/CaKernel__initial_gaussian.code
+++ b/Examples/AdvectCaKernel/src/CaKernel__initial_gaussian.code
@@ -3,15 +3,16 @@
#include "Differencing.h"
#include "GenericFD.h"
+#undef KRANC_GFOFFSET3D
#define KRANC_GFOFFSET3D(u,i,j,k) I3D(u,i,j,k)
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
+#define INV(x) ((CCTK_REAL)1.0 / (x))
#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define CUB(x) ((x) * SQR(x))
+#define QAD(x) (SQR(SQR(x)))
CAKERNEL_initial_gaussian_Begin
diff --git a/Examples/AdvectCaKernel/src/make.code.defn b/Examples/AdvectCaKernel/src/make.code.defn
index 9f29474..b3329bd 100644
--- a/Examples/AdvectCaKernel/src/make.code.defn
+++ b/Examples/AdvectCaKernel/src/make.code.defn
@@ -1,8 +1,3 @@
# File produced by Kranc
-SRCS = Startup.cc RegisterMoL.cc RegisterSymmetries.cc Boundaries.cc
-
-
-############################################################
-#CAKERNEL AUTO GENERATED PART. DO NOT EDIT BELOW THIS POINT#
-############################################################
+SRCS = Startup.cc RegisterSymmetries.cc RegisterMoL.cc Boundaries.cc