Skip to content
Snippets Groups Projects
Commit ce52edb3 authored by Jean-Baptiste Keck's avatar Jean-Baptiste Keck
Browse files

fixed stencil deps

parent f1fb8c2d
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -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__:
......
......@@ -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, \
......
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment