diff --git a/hysop/__init__.py b/hysop/__init__.py index c7837446ab5ddc747c7b39a06f83a72361073be9..3d858751360fa2b672c80e971cf6a117ef995fc6 100644 --- a/hysop/__init__.py +++ b/hysop/__init__.py @@ -45,8 +45,8 @@ __TEST_ALL_OPENCL_PLATFORMS__ = get_env('TEST_ALL_OPENCL_PLATFORMS', False) __ENABLE_LONG_TESTS__ = get_env('ENABLE_LONG_TESTS', ("OFF" is "ON")) # OpenCL -__DEFAULT_PLATFORM_ID__ = 0 -__DEFAULT_DEVICE_ID__ = 0 +__DEFAULT_PLATFORM_ID__ = get_env('DEFAULT_PLATFORM_ID', 0) +__DEFAULT_DEVICE_ID__ = get_env('DEFAULT_DEVICE_ID', 0) if __MPI_ENABLED__: diff --git a/hysop/__init__.py.in b/hysop/__init__.py.in index 4e9ba6b3f9b066da41ca9643630b0feccb88be5a..8037731957abe6e93d8225e8b3f5d1a977e2f486 100644 --- a/hysop/__init__.py.in +++ b/hysop/__init__.py.in @@ -45,8 +45,8 @@ __TEST_ALL_OPENCL_PLATFORMS__ = get_env('TEST_ALL_OPENCL_PLATFORMS', False) __ENABLE_LONG_TESTS__ = get_env('ENABLE_LONG_TESTS', ("@ENABLE_LONG_TESTS@" is "ON")) # OpenCL -__DEFAULT_PLATFORM_ID__ = @OPENCL_DEFAULT_OPENCL_PLATFORM_ID@ -__DEFAULT_DEVICE_ID__ = @OPENCL_DEFAULT_OPENCL_DEVICE_ID@ +__DEFAULT_PLATFORM_ID__ = get_env('DEFAULT_PLATFORM_ID', @OPENCL_DEFAULT_OPENCL_PLATFORM_ID@) +__DEFAULT_DEVICE_ID__ = get_env('DEFAULT_DEVICE_ID', @OPENCL_DEFAULT_OPENCL_DEVICE_ID@) if __MPI_ENABLED__: from hysop.core.mpi import MPI, main_rank, main_size, \ diff --git a/hysop/backend/device/codegen/symbolic/functions/apply_stencil.py b/hysop/backend/device/codegen/symbolic/functions/apply_stencil.py index aec9251825fea3f43308b62f09317d3a62c6b2e6..6291d7fcb41b66f4f25272da00f40e6b4a621305 100644 --- a/hysop/backend/device/codegen/symbolic/functions/apply_stencil.py +++ b/hysop/backend/device/codegen/symbolic/functions/apply_stencil.py @@ -13,7 +13,7 @@ from hysop.backend.device.codegen.symbolic.expr import OpenClPrinter, Return, Nu from hysop.symbolic.misc import ApplyStencil from hysop.backend.device.codegen.symbolic.expr import FunctionCall, OpenClVariable -from hysop.backend.device.codegen.symbolic.ops import Mul, Add, Pow +from hysop.backend.device.codegen.symbolic.relational import OpenClMul, OpenClAdd class CustomApplyStencilFunction(CustomSymbolicFunction): def __init__(self, csc, name, expr, target_ctype=None, **kwds): @@ -33,9 +33,9 @@ class CustomApplyStencilFunction(CustomSymbolicFunction): factor = self.parse_expr(csc, name, stencil.factor, args, reqs) pexprs = () for (i, coeff) in stencil.iteritems(include_factor=False): - pexprs += (Mul(fn.ctype, NumericalConstant.build(coeff, csc.typegen), fn_call(i[0], fn_kwds)),) - pexpr = Add(fn.ctype, *pexprs) - pexpr = Mul(fn.ctype, factor, pexpr) + pexprs += (OpenClMul(fn.ctype, NumericalConstant.build(coeff, csc.typegen), fn_call(i[0], fn_kwds)),) + pexpr = OpenClAdd(fn.ctype, *pexprs) + pexpr = OpenClMul(fn.ctype, factor, pexpr) else: pexpr = super(CustomApplyStencilFunction, self).parse_expr(csc, name, expr, args, reqs) return pexpr