From e5b0303aea50dbbea889c0f16f2bea724c8c8fa1 Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni Date: Fri, 31 Aug 2018 19:36:54 -0400 Subject: [PATCH 1/2] actually use `for_atomic` in the constructor --- loopy/kernel/array.py | 1 + 1 file changed, 1 insertion(+) diff --git a/loopy/kernel/array.py b/loopy/kernel/array.py index 186597c64..6bf733a84 100644 --- a/loopy/kernel/array.py +++ b/loopy/kernel/array.py @@ -833,6 +833,7 @@ class ArrayBase(ImmutableRecord): dim_names=dim_names, order=order, alignment=alignment, + for_atomic=for_atomic, **kwargs) def __eq__(self, other): -- GitLab From 5137aded65aa9e7f55219eba4b66b86055a4f627 Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni Date: Sat, 1 Sep 2018 07:33:45 -0500 Subject: [PATCH 2/2] actually update the dtype target, for array base sub-classes. --- loopy/preprocess.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/loopy/preprocess.py b/loopy/preprocess.py index fc950c78e..2afcd3db4 100644 --- a/loopy/preprocess.py +++ b/loopy/preprocess.py @@ -53,7 +53,7 @@ def prepare_for_caching(kernel): for arg in kernel.args: dtype = arg.dtype if dtype is not None and dtype is not lp.auto and dtype.target is not tgt: - arg = arg.copy(dtype=dtype.with_target(kernel.target)) + arg = arg.copy(dtype=dtype.with_target(tgt), target=tgt) new_args.append(arg) @@ -61,7 +61,7 @@ def prepare_for_caching(kernel): for name, temp in six.iteritems(kernel.temporary_variables): dtype = temp.dtype if dtype is not None and dtype is not lp.auto and dtype.target is not tgt: - temp = temp.copy(dtype=dtype.with_target(tgt)) + temp = temp.copy(dtype=dtype.with_target(tgt), target=tgt) new_temporary_variables[name] = temp -- GitLab