Skip to content
Snippets Groups Projects
Commit 1c39545e authored by Andreas Klöckner's avatar Andreas Klöckner
Browse files

Merge branch 'intel-gpu-fixes' into 'master'

Intel gpu fixes

See merge request inducer/pyopencl!42
parents 5d37e4aa 8c277f47
No related branches found
No related tags found
1 merge request!42Intel gpu fixes
Pipeline #13085 passed with warnings
......@@ -1227,8 +1227,17 @@ class GenericScanKernel(_GenericScanKernelBase):
max_scan_wg_size = min(dev.max_work_group_size for dev in self.devices)
wg_size_multiples = 64
# Intel beignet fails "Out of shared local memory" in test_scan int64
# and asserts in test_sort with this enabled:
# https://github.com/inducer/pyopencl/pull/238
# A beignet bug report (outside of pyopencl) suggests packed structs
# (which this is) can even give wrong results:
# https://bugs.freedesktop.org/show_bug.cgi?id=98717
# TODO: does this also affect Intel Compute Runtime?
use_bank_conflict_avoidance = (
self.dtype.itemsize > 4 and self.dtype.itemsize % 8 == 0 and is_gpu)
self.dtype.itemsize > 4 and self.dtype.itemsize % 8 == 0
and is_gpu
and "beignet" not in self.devices[0].platform.version.lower())
# k_group_size should be a power of two because of in-kernel
# division by that number.
......
......@@ -31,6 +31,7 @@ import pyopencl.clrandom as clrandom
from pyopencl.tools import ( # noqa
pytest_generate_tests_for_pyopencl
as pytest_generate_tests)
from pyopencl.characterize import has_double_support
try:
import faulthandler
......@@ -59,6 +60,8 @@ def make_ranlux_generator(cl_ctx):
cltypes.float4])
def test_clrandom_dtypes(ctx_factory, rng_class, dtype):
cl_ctx = ctx_factory()
if dtype == np.float64 and not has_double_support(cl_ctx.devices[0]):
pytest.skip("double precision not supported on this device")
rng = rng_class(cl_ctx)
size = 10
......
......@@ -953,6 +953,7 @@ def test_coarse_grain_svm(ctx_factory):
dev = ctx.devices[0]
has_svm = (ctx._get_cl_version() >= (2, 0) and
ctx.devices[0]._get_cl_version() >= (2, 0) and
cl.get_cl_header_version() >= (2, 0))
if dev.platform.name == "Portable Computing Language":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment