Skip to content

Commit 211d5d8

Browse files
author
Diptorup Deb
committed
Update tests to check DI tag generation.
1 parent b05c7fa commit 211d5d8

File tree

1 file changed

+16
-32
lines changed

1 file changed

+16
-32
lines changed

numba_dpex/tests/test_debuginfo.py

Lines changed: 16 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,16 @@ def debug_option(request):
2323
return request.param
2424

2525

26-
def get_kernel_ir(sycl_queue, fn, sig, debug=None):
27-
kernel = compiler.compile_kernel(
28-
sycl_queue, fn.py_func, sig, None, debug=debug
26+
def get_kernel_ir(fn, sig, debug=None):
27+
kernel = dpex.core.kernel_interface.spirv_kernel.SpirvKernel(
28+
fn, fn.__name__
2929
)
30-
return kernel.assembly
30+
kernel.compile(
31+
arg_types=sig,
32+
debug=debug,
33+
extra_compile_flags=None,
34+
)
35+
return kernel.llvm_module
3136

3237

3338
def make_check(ir, val_to_search):
@@ -45,15 +50,11 @@ def test_debug_flag_generates_ir_with_debuginfo(debug_option):
4550
Check debug info is emitting to IR if debug parameter is set to True
4651
"""
4752

48-
@dpex.kernel
4953
def foo(x):
5054
x = 1 # noqa
5155

52-
sycl_queue = dpctl.get_current_queue()
5356
sig = (types.int32,)
54-
55-
kernel_ir = get_kernel_ir(sycl_queue, foo, sig, debug=debug_option)
56-
57+
kernel_ir = get_kernel_ir(foo, sig, debug=debug_option)
5758
tag = "!dbg"
5859

5960
if debug_option:
@@ -68,7 +69,6 @@ def test_debug_info_locals_vars_on_no_opt():
6869
if debug parameter is set to True and optimization is O0
6970
"""
7071

71-
@dpex.kernel
7272
def foo(var_a, var_b, var_c):
7373
i = dpex.get_global_id(0)
7474
var_c[i] = var_a[i] + var_b[i]
@@ -79,16 +79,14 @@ def foo(var_a, var_b, var_c):
7979
'!DILocalVariable(name: "var_c"',
8080
'!DILocalVariable(name: "i"',
8181
]
82-
83-
sycl_queue = dpctl.get_current_queue()
8482
sig = (
8583
npytypes_array_to_dpex_array(types.float32[:]),
8684
npytypes_array_to_dpex_array(types.float32[:]),
8785
npytypes_array_to_dpex_array(types.float32[:]),
8886
)
8987

9088
with override_config("OPT", 0):
91-
kernel_ir = get_kernel_ir(sycl_queue, foo, sig, debug=True)
89+
kernel_ir = get_kernel_ir(foo, sig, debug=True)
9290

9391
for tag in ir_tags:
9492
assert tag in kernel_ir
@@ -100,7 +98,6 @@ def test_debug_kernel_local_vars_in_ir():
10098
created in kernel
10199
"""
102100

103-
@dpex.kernel
104101
def foo(arr):
105102
index = dpex.get_global_id(0)
106103
local_d = 9 * 99 + 5
@@ -110,11 +107,8 @@ def foo(arr):
110107
'!DILocalVariable(name: "index"',
111108
'!DILocalVariable(name: "local_d"',
112109
]
113-
114-
sycl_queue = dpctl.get_current_queue()
115110
sig = (npytypes_array_to_dpex_array(types.float32[:]),)
116-
117-
kernel_ir = get_kernel_ir(sycl_queue, foo, sig, debug=True)
111+
kernel_ir = get_kernel_ir(foo, sig, debug=True)
118112

119113
for tag in ir_tags:
120114
assert tag in kernel_ir
@@ -130,7 +124,6 @@ def func_sum(a, b):
130124
result = a + b
131125
return result
132126

133-
@dpex.kernel(debug=debug_option)
134127
def data_parallel_sum(a, b, c):
135128
i = dpex.get_global_id(0)
136129
c[i] = func_sum(a[i], b[i])
@@ -140,16 +133,13 @@ def data_parallel_sum(a, b, c):
140133
r'\!DISubprogram\(name: ".*data_parallel_sum"',
141134
]
142135

143-
sycl_queue = dpctl.get_current_queue()
144136
sig = (
145137
npytypes_array_to_dpex_array(types.float32[:]),
146138
npytypes_array_to_dpex_array(types.float32[:]),
147139
npytypes_array_to_dpex_array(types.float32[:]),
148140
)
149141

150-
kernel_ir = get_kernel_ir(
151-
sycl_queue, data_parallel_sum, sig, debug=debug_option
152-
)
142+
kernel_ir = get_kernel_ir(data_parallel_sum, sig, debug=debug_option)
153143

154144
for tag in ir_tags:
155145
assert debug_option == make_check(kernel_ir, tag)
@@ -165,7 +155,6 @@ def func_sum(a, b):
165155
result = a + b
166156
return result
167157

168-
@dpex.kernel
169158
def data_parallel_sum(a, b, c):
170159
i = dpex.get_global_id(0)
171160
c[i] = func_sum(a[i], b[i])
@@ -175,22 +164,20 @@ def data_parallel_sum(a, b, c):
175164
r'\!DISubprogram\(name: ".*data_parallel_sum"',
176165
]
177166

178-
sycl_queue = dpctl.get_current_queue()
179167
sig = (
180168
npytypes_array_to_dpex_array(types.float32[:]),
181169
npytypes_array_to_dpex_array(types.float32[:]),
182170
npytypes_array_to_dpex_array(types.float32[:]),
183171
)
184172

185173
with override_config("DEBUGINFO_DEFAULT", int(debug_option)):
186-
kernel_ir = get_kernel_ir(sycl_queue, data_parallel_sum, sig)
174+
kernel_ir = get_kernel_ir(data_parallel_sum, sig)
187175

188176
for tag in ir_tags:
189177
assert debug_option == make_check(kernel_ir, tag)
190178

191179

192180
def test_debuginfo_DISubprogram_linkageName():
193-
@dpex.kernel
194181
def func(a, b):
195182
i = dpex.get_global_id(0)
196183
b[i] = a[i]
@@ -199,20 +186,18 @@ def func(a, b):
199186
r'\!DISubprogram\(.*linkageName: ".*e4func.*"',
200187
]
201188

202-
sycl_queue = dpctl.get_current_queue()
203189
sig = (
204190
npytypes_array_to_dpex_array(types.float32[:]),
205191
npytypes_array_to_dpex_array(types.float32[:]),
206192
)
207193

208-
kernel_ir = get_kernel_ir(sycl_queue, func, sig, debug=True)
194+
kernel_ir = get_kernel_ir(func, sig, debug=True)
209195

210196
for tag in ir_tags:
211197
assert make_check(kernel_ir, tag)
212198

213199

214200
def test_debuginfo_DICompileUnit_language_and_producer():
215-
@dpex.kernel
216201
def func(a, b):
217202
i = dpex.get_global_id(0)
218203
b[i] = a[i]
@@ -222,13 +207,12 @@ def func(a, b):
222207
r'\!DICompileUnit\(.*producer: "numba-dpex"',
223208
]
224209

225-
sycl_queue = dpctl.get_current_queue()
226210
sig = (
227211
npytypes_array_to_dpex_array(types.float32[:]),
228212
npytypes_array_to_dpex_array(types.float32[:]),
229213
)
230214

231-
kernel_ir = get_kernel_ir(sycl_queue, func, sig, debug=True)
215+
kernel_ir = get_kernel_ir(func, sig, debug=True)
232216

233217
for tag in ir_tags:
234218
assert make_check(kernel_ir, tag)

0 commit comments

Comments
 (0)