Skip to content

Commit 213eb5e

Browse files
authored
Fix test_scan_layouts[True-1-src_layout10-64-32] on LTS driver; ignoring loadBinary error with large registers (#2808)
I think if there is at least one working combination, we can avoid raising an exception. I left the output of the message about this problem so that we could see such things and gradually fix them. Signed-off-by: Anatoly Myachev <[email protected]>
1 parent 434cd61 commit 213eb5e

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

scripts/skiplist/lts/language.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,6 @@ test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[64-float8e5-128-
113113
test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[64-float8e4nv-128-256-128-128-256-256]
114114
test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[64-float8e4b15-128-256-128-128-256-256]
115115
test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[128-float8e5-128-256-128-128-256-256]
116-
# https://github.com/intel/intel-xpu-backend-for-triton/issues/2662
117-
test/unit/language/test_core.py::test_scan_layouts[True-1-src_layout10-64-32]
118116
# https://github.com/intel/intel-xpu-backend-for-triton/issues/2703
119117
test/unit/language/test_core.py::test_chained_reductions[in_shape0-perm0-red_dims0]
120118
test/unit/language/test_core.py::test_dot3d[1-1-32-32-32-32-32-float16-float16]

third_party/intel/backend/driver.c

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -244,13 +244,21 @@ static PyObject *loadBinary(PyObject *self, PyObject *args) {
244244

245245
build_flags.addLargeGRFSizeFlag();
246246

247-
auto [l0_module, l0_kernel, n_spills] = compileLevelZeroObjects(
248-
binary_ptr, binary_size, kernel_name, l0_device, l0_context,
249-
build_flags(), is_spv);
250-
251-
if (debugEnabled)
252-
std::cout << "(I): Kernel has now " << n_spills << " spills"
253-
<< std::endl;
247+
try {
248+
auto [l0_module, l0_kernel, n_spills] = compileLevelZeroObjects(
249+
binary_ptr, binary_size, kernel_name, l0_device, l0_context,
250+
build_flags(), is_spv);
251+
252+
if (debugEnabled)
253+
std::cout << "(I): Kernel has now " << n_spills << " spills"
254+
<< std::endl;
255+
} catch (const std::exception &e) {
256+
std::cerr << "[Ignoring] Error during Intel loadBinary with large "
257+
"registers: "
258+
<< e.what() << std::endl;
259+
// construct previous working version
260+
build_flags = BuildFlags(build_flags_ptr);
261+
}
254262
}
255263
}
256264

0 commit comments

Comments
 (0)