Skip to content
This repository was archived by the owner on Jan 25, 2023. It is now read-only.

Commit 02b504f

Browse files
authored
Added parfor lower message (#43)
1 parent 9666627 commit 02b504f

File tree

3 files changed

+36
-2
lines changed

3 files changed

+36
-2
lines changed

numba/dppl/dppl_lowerer.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1012,8 +1012,11 @@ def lower_parfor_rollback(lowerer, parfor):
10121012

10131013
try:
10141014
_lower_parfor_gufunc(lowerer, parfor)
1015+
if numba.dppl.compiler.DEBUG:
1016+
msg = "Parfor lowered on DPPL-device"
1017+
print(msg, parfor.loc)
10151018
except Exception as e:
1016-
msg = ("Failed to lower parfor on GPU")
1019+
msg = "Failed to lower parfor on DPPL-device"
10171020
warnings.warn(NumbaPerformanceWarning(msg, parfor.loc))
10181021
raise e
10191022
finally:

numba/dppl/tests/dppl/test_dppl_fallback.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def run_dppl():
4949
ref_result = ref()
5050

5151
np.testing.assert_array_equal(dppl_result, ref_result)
52-
self.assertTrue('Failed to lower parfor on GPU' in err)
52+
self.assertTrue('Failed to lower parfor on DPPL-device' in err)
5353

5454

5555
if __name__ == '__main__':
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import numpy as np
2+
import numba
3+
from numba import dppl, njit, prange
4+
from numba.dppl.testing import unittest, DPPLTestCase
5+
from numba.tests.support import captured_stdout
6+
import dpctl.ocldrv as ocldrv
7+
8+
9+
def prange_example():
10+
n = 10
11+
a = np.ones((n, n), dtype=np.float64)
12+
b = np.ones((n, n), dtype=np.float64)
13+
c = np.ones((n, n), dtype=np.float64)
14+
for i in prange(n):
15+
a[i] = b[i] + c[i]
16+
17+
18+
@unittest.skipUnless(ocldrv.has_gpu_device, 'test only on GPU system')
19+
class TestParforMessage(DPPLTestCase):
20+
def test_parfor_message(self):
21+
numba.dppl.compiler.DEBUG = 1
22+
jitted = njit(parallel={'offload':True})(prange_example)
23+
24+
with captured_stdout() as got:
25+
jitted()
26+
27+
self.assertTrue('Parfor lowered on DPPL-device' in got.getvalue())
28+
29+
30+
if __name__ == '__main__':
31+
unittest.main()

0 commit comments

Comments
 (0)