diff options
Diffstat (limited to 'Examples/SimpleWaveOpenCL/src/initial_sine.cc')
-rw-r--r-- | Examples/SimpleWaveOpenCL/src/initial_sine.cc | 40 |
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) { |