aboutsummaryrefslogtreecommitdiff
path: root/Examples/SimpleWaveOpenCL/src/initial_sine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/SimpleWaveOpenCL/src/initial_sine.cc')
-rw-r--r--Examples/SimpleWaveOpenCL/src/initial_sine.cc40
1 files changed, 23 insertions, 17 deletions
diff --git a/Examples/SimpleWaveOpenCL/src/initial_sine.cc b/Examples/SimpleWaveOpenCL/src/initial_sine.cc
index fa553dd..b29c7b5 100644
--- a/Examples/SimpleWaveOpenCL/src/initial_sine.cc
+++ b/Examples/SimpleWaveOpenCL/src/initial_sine.cc
@@ -18,17 +18,17 @@
/* 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)))
static void initial_sine_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
- char const * const source =
+ char const *const source =
"\n"
"/* Include user-supplied include files */\n"
"\n"
@@ -74,9 +74,9 @@ static void initial_sine_Body(cGH const * restrict const cctkGH, int const dir,
"\n"
"/* Loop over the grid points */\n"
"#pragma omp parallel\n"
- "CCTK_LOOP3 (initial_sine,\n"
+ "CCTK_LOOP3(initial_sine,\n"
" i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],\n"
- " cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])\n"
+ " cctk_ash[0],cctk_ash[1],cctk_ash[2])\n"
"{\n"
" ptrdiff_t const index = di*i + dj*j + dk*k;\n"
" \n"
@@ -90,25 +90,29 @@ static void initial_sine_Body(cGH const * restrict const cctkGH, int const dir,
" /* Precompute derivatives */\n"
" \n"
" /* Calculate temporaries and grid functions */\n"
- " CCTK_REAL phiL = Sin(2*Pi*(xL - t));\n"
+ " CCTK_REAL phiL = sin(2*Pi*(xL - t));\n"
" \n"
- " CCTK_REAL piL = -2*Pi*Cos(2*Pi*(xL - t));\n"
+ " CCTK_REAL piL = -2*Pi*cos(2*Pi*(xL - t));\n"
" \n"
" /* Copy local copies back to grid functions */\n"
+ " vec_store_partial_prepare(i,lc_imin,lc_imax);\n"
" vec_store_nta_partial(phi[index],phiL);\n"
" vec_store_nta_partial(pi[index],piL);\n"
"}\n"
- "CCTK_ENDLOOP3 (initial_sine);\n"
+ "CCTK_ENDLOOP3(initial_sine);\n"
""
;
- char const * const groups[] = {"SimpleWaveOpenCL::evolved_group","grid::coordinates",NULL};
+ char const *const groups[] = {
+ "SimpleWaveOpenCL::evolved_group",
+ "grid::coordinates",
+ NULL};
- static struct OpenCLKernel * kernel = NULL;
- char const * const sources[] = {differencing, source, NULL};
- OpenCLRunTime_CallKernel (cctkGH, CCTK_THORNSTRING, "initial_sine",
- sources, groups, NULL, NULL, NULL, -1,
- imin, imax, &kernel);
+ static struct OpenCLKernel *kernel = NULL;
+ char const *const sources[] = {differencing, source, NULL};
+ OpenCLRunTime_CallKernel(cctkGH, CCTK_THORNSTRING, "initial_sine",
+ sources, groups, NULL, NULL, NULL, -1,
+ imin, imax, &kernel);
}
@@ -128,11 +132,13 @@ extern "C" void initial_sine(CCTK_ARGUMENTS)
return;
}
- const char *groups[] = {"SimpleWaveOpenCL::evolved_group","grid::coordinates"};
+ const char *const groups[] = {
+ "SimpleWaveOpenCL::evolved_group",
+ "grid::coordinates"};
GenericFD_AssertGroupStorage(cctkGH, "initial_sine", 2, groups);
- GenericFD_LoopOverEverything(cctkGH, &initial_sine_Body);
+ GenericFD_LoopOverEverything(cctkGH, initial_sine_Body);
if (verbose > 1)
{