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) ...@@ -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")) __ENABLE_LONG_TESTS__ = get_env('ENABLE_LONG_TESTS', ("OFF" is "ON"))
# OpenCL # OpenCL
__DEFAULT_PLATFORM_ID__ = 0 __DEFAULT_PLATFORM_ID__ = get_env('DEFAULT_PLATFORM_ID', 0)
__DEFAULT_DEVICE_ID__ = 0 __DEFAULT_DEVICE_ID__ = get_env('DEFAULT_DEVICE_ID', 0)
if __MPI_ENABLED__: if __MPI_ENABLED__:
......
...@@ -45,8 +45,8 @@ __TEST_ALL_OPENCL_PLATFORMS__ = get_env('TEST_ALL_OPENCL_PLATFORMS', False) ...@@ -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")) __ENABLE_LONG_TESTS__ = get_env('ENABLE_LONG_TESTS', ("@ENABLE_LONG_TESTS@" is "ON"))
# OpenCL # OpenCL
__DEFAULT_PLATFORM_ID__ = @OPENCL_DEFAULT_OPENCL_PLATFORM_ID@ __DEFAULT_PLATFORM_ID__ = get_env('DEFAULT_PLATFORM_ID', @OPENCL_DEFAULT_OPENCL_PLATFORM_ID@)
__DEFAULT_DEVICE_ID__ = @OPENCL_DEFAULT_OPENCL_DEVICE_ID@ __DEFAULT_DEVICE_ID__ = get_env('DEFAULT_DEVICE_ID', @OPENCL_DEFAULT_OPENCL_DEVICE_ID@)
if __MPI_ENABLED__: if __MPI_ENABLED__:
from hysop.core.mpi import MPI, main_rank, main_size, \ 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 ...@@ -13,7 +13,7 @@ from hysop.backend.device.codegen.symbolic.expr import OpenClPrinter, Return, Nu
from hysop.symbolic.misc import ApplyStencil from hysop.symbolic.misc import ApplyStencil
from hysop.backend.device.codegen.symbolic.expr import FunctionCall, OpenClVariable 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): class CustomApplyStencilFunction(CustomSymbolicFunction):
def __init__(self, csc, name, expr, target_ctype=None, **kwds): def __init__(self, csc, name, expr, target_ctype=None, **kwds):
...@@ -33,9 +33,9 @@ class CustomApplyStencilFunction(CustomSymbolicFunction): ...@@ -33,9 +33,9 @@ class CustomApplyStencilFunction(CustomSymbolicFunction):
factor = self.parse_expr(csc, name, stencil.factor, args, reqs) factor = self.parse_expr(csc, name, stencil.factor, args, reqs)
pexprs = () pexprs = ()
for (i, coeff) in stencil.iteritems(include_factor=False): for (i, coeff) in stencil.iteritems(include_factor=False):
pexprs += (Mul(fn.ctype, NumericalConstant.build(coeff, csc.typegen), fn_call(i[0], fn_kwds)),) pexprs += (OpenClMul(fn.ctype, NumericalConstant.build(coeff, csc.typegen), fn_call(i[0], fn_kwds)),)
pexpr = Add(fn.ctype, *pexprs) pexpr = OpenClAdd(fn.ctype, *pexprs)
pexpr = Mul(fn.ctype, factor, pexpr) pexpr = OpenClMul(fn.ctype, factor, pexpr)
else: else:
pexpr = super(CustomApplyStencilFunction, self).parse_expr(csc, name, expr, args, reqs) pexpr = super(CustomApplyStencilFunction, self).parse_expr(csc, name, expr, args, reqs)
return pexpr 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