pycl test_codegen.py 'test_random_dag_against_numpy(cl._csc)'
[...]
18
Traceback (most recent call last):
File "/home/andreas/src/pytato/test/test_codegen.py", line 1290, in <module>
exec(sys.argv[1])
File "<string>", line 1, in <module>
File "/home/andreas/src/pytato/test/test_codegen.py", line 1283, in test_random_dag_against_numpy
_, pt_result = pt.generate_loopy(dict_named_arys)(cq)
File "/home/andreas/src/pytato/pytato/target/loopy/__init__.py", line 146, in __call__
return self.program(queue,
File "/home/andreas/src/loopy/loopy/translation_unit.py", line 342, in __call__
return pex(*args, **kwargs)
File "/home/andreas/src/loopy/loopy/target/pyopencl_execution.py", line 364, in __call__
translation_unit_info = self.translation_unit_info(entrypoint,
File "/home/andreas/src/pytools/pytools/__init__.py", line 704, in wrapper
result = function(obj, *args, **kwargs)
File "/home/andreas/src/loopy/loopy/target/pyopencl_execution.py", line 282, in translation_unit_info
program = self.get_typed_and_scheduled_translation_unit(
File "/home/andreas/src/loopy/loopy/target/execution.py", line 813, in get_typed_and_scheduled_translation_unit
kernel = self.get_typed_and_scheduled_translation_unit_uncached(entrypoint,
File "/home/andreas/src/loopy/loopy/target/execution.py", line 790, in get_typed_and_scheduled_translation_unit_uncached
program = preprocess_program(program)
File "/home/andreas/src/loopy/loopy/preprocess.py", line 2483, in preprocess_program
new_subkernel = _preprocess_single_kernel(
File "/home/andreas/src/loopy/loopy/preprocess.py", line 2386, in _preprocess_single_kernel
check_reduction_iname_uniqueness(kernel)
File "/home/andreas/src/loopy/loopy/preprocess.py", line 110, in check_reduction_iname_uniqueness
raise LoopyError("iname '%s' used in more than one reduction. "
loopy.diagnostic.LoopyError: iname '_pt_sum_r0_3' used in more than one reduction. (2 of them, to be precise.) Since this usage can easily cause loop scheduling problems, this is prohibited by default. Use loopy.make_reduction_inames_unique() to fix this. If you are sure that this is OK, write the reduction as 'simul_reduce(...)' instead of 'reduce(...)'
I.e. it found a bug! :)