Skip to content

Commit a49020d

Browse files
committed
compiler: add local array with fixed size type
1 parent 0d90d06 commit a49020d

File tree

6 files changed

+14
-10
lines changed

6 files changed

+14
-10
lines changed

devito/arch/archinfo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ def get_advisor_path():
555555
@memoized_func
556556
def get_hip_path():
557557
# *** First try: via commonly used environment variables
558-
for i in ['HIP_HOME']:
558+
for i in ['HIP_HOME', 'ROCM_HOME']:
559559
hip_home = os.environ.get(i)
560560
if hip_home:
561561
return hip_home

devito/ir/iet/visitors.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,10 @@ def _gen_rettype(self, obj):
353353
elif isinstance(obj, (FieldFromComposite, FieldFromPointer)):
354354
return self._gen_value(obj.function.base, 0).typename
355355
else:
356-
return None
356+
try:
357+
return obj._type_.__name__
358+
except AttributeError:
359+
return None
357360

358361
def _args_decl(self, args):
359362
"""Generate cgen declarations from an iterable of symbols and expressions."""

devito/mpi/routines.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1395,7 +1395,7 @@ def _arg_values(self, args=None, **kwargs):
13951395
class AllreduceCall(Call):
13961396

13971397
def __init__(self, arguments, **kwargs):
1398-
super().__init__('MPI_Allreduce', arguments)
1398+
super().__init__('MPI_Allreduce', arguments, **kwargs)
13991399

14001400

14011401
class ReductionBuilder(object):
@@ -1422,6 +1422,6 @@ def make(self, dr):
14221422
op = self.mapper[dr.op]
14231423

14241424
arguments = [inplace, Byref(f), Integer(1), mpitype, op, comm]
1425-
allreduce = AllreduceCall(arguments)
1425+
allreduce = AllreduceCall(arguments, writes=f)
14261426

14271427
return allreduce

devito/symbolics/extended_sympy.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,9 @@ def __new__(cls, call, pointer, params=None, **kwargs):
172172
pointer = Symbol(pointer)
173173
if isinstance(call, str):
174174
call = Symbol(call)
175-
elif not isinstance(call, Basic):
176-
raise ValueError("`call` must be a `devito.Basic` or a type "
177-
"with compatible interface")
175+
elif not isinstance(call, (BasicWrapperMixin, Basic)):
176+
raise ValueError(f"`call` {call} must be a `devito.Basic` or a type "
177+
f"with compatible interface, not {type(call)}")
178178
_params = []
179179
for p in as_tuple(params):
180180
if isinstance(p, str):

devito/types/dense.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def wrapper(self):
149149
# Perhaps user only wants to initialise the physical domain
150150
self._initializer(self.data)
151151
else:
152-
self.data_with_halo.fill(0)
152+
self._data_allocated.fill(0)
153153

154154
return func(self)
155155
return wrapper
@@ -297,7 +297,8 @@ def shape_global(self):
297297

298298
@property
299299
def symbolic_shape(self):
300-
return tuple(self._C_get_field(FULL, d).size for d in self.dimensions)
300+
return DimensionTuple(*[self._C_get_field(FULL, d).size for d in self.dimensions],
301+
getters=self.dimensions)
301302

302303
@property
303304
def size_global(self):

devito/types/dimension.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1482,7 +1482,7 @@ def _arg_defaults(self, **kwargs):
14821482
def _arg_values(self, *args, **kwargs):
14831483
return {}
14841484

1485-
def _arg_check(self, *args):
1485+
def _arg_check(self, *args, **kwargs):
14861486
"""A CustomDimension performs no runtime checks."""
14871487
return
14881488

0 commit comments

Comments
 (0)