diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-07 00:37:27 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-07 00:37:27 +0200 |
commit | f217f44ed4571c741c020202b32a52b842dc02d4 (patch) | |
tree | b6fc8bcb67537fc0be00fd09a28b274f3800da39 | |
parent | cb8e4c9039a14e9580305150c10a71094b92006a (diff) |
KrancThorn.m: Process OpenCL differencing header in OpenCL.m
-rw-r--r-- | Tools/CodeGen/KrancThorn.m | 10 | ||||
-rw-r--r-- | Tools/CodeGen/OpenCL.m | 8 |
2 files changed, 12 insertions, 6 deletions
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m index e42f904..d5c3697 100644 --- a/Tools/CodeGen/KrancThorn.m +++ b/Tools/CodeGen/KrancThorn.m @@ -29,7 +29,8 @@ BeginPackage["KrancThorn`", {"CodeGen`", "Thorn`", "MapLookup`", "KrancGroups`", "Differencing`", "CalculationFunction`", "Errors`", "Helpers`", "CactusBoundary`", "KrancTensor`", "Param`", "Schedule`", "Interface`", "Kranc`", "Jacobian`", - "ConservationCalculation`", "CaKernel`", "Calculation`", "ParamCheck`"}]; + "ConservationCalculation`", "CaKernel`", "Calculation`", "ParamCheck`", + "OpenCL`"}]; CreateKrancThorn::usage = "Construct a Kranc thorn"; @@ -309,11 +310,8 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[ "\n"}, {}], diffHeader]; - diffHeader = If[OptionValue[UseOpenCL], - "static const char* const differencing =\n" <> - Stringify[diffHeader] <> - ";\n", - diffHeader]; + + If[OptionValue[UseOpenCL], diffHeader = OpenCLProcessDifferencingHeader[diffHeader]]; (* Add the predefinitions into the calcs *) calcs = Map[Join[#, {PreDefinitions -> pDefs}] &, calcs]; diff --git a/Tools/CodeGen/OpenCL.m b/Tools/CodeGen/OpenCL.m index 528228f..b7cf3c5 100644 --- a/Tools/CodeGen/OpenCL.m +++ b/Tools/CodeGen/OpenCL.m @@ -26,6 +26,7 @@ OpenCLEpilogue; OpenCLProcessKernel; OpenCLIncludeFiles; OpenCLConfigurationCCL; +OpenCLProcessDifferencingHeader; Begin["`Private`"]; @@ -73,6 +74,13 @@ DefFn[ OpenCLConfigurationCCL[] := "REQUIRES OpenCL OpenCLRunTime\n"]; +DefFn[ + OpenCLProcessDifferencingHeader[diffHeader_] := + "static const char* const differencing =\n" <> + Stringify[diffHeader] <> + ";\n"]; + + End[]; EndPackage[]; |