Skip to content

Enable AdaptiveCpp builds - #2384

Open
ndgrigorian wants to merge 16 commits into
masterfrom
feature/build-with-adaptivecpp
Open

ndgrigorian wants to merge 16 commits into
masterfrom
feature/build-with-adaptivecpp

Conversation

@ndgrigorian

Copy link
Copy Markdown
Collaborator
  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • Have you checked performance impact of proposed changes?
  • Have you added documentation for your changes, if necessary?
  • Have you added your changes to the changelog?
  • If this PR is a work in progress, are you opening the PR as a draft?

@github-actions

Copy link
Copy Markdown

@coveralls

coveralls commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

Coverage Status

coverage: 74.996% (+0.03%) from 74.963% — feature/build-with-adaptivecpp into master

@ndgrigorian
ndgrigorian force-pushed the feature/build-with-adaptivecpp branch 3 times, most recently from cee555b to d1888a5 Compare September 19, 2026 06:13
@ndgrigorian
ndgrigorian changed the base branch from master to feature/drop-host-task-object-management September 20, 2026 21:06
@ndgrigorian
ndgrigorian force-pushed the feature/drop-host-task-object-management branch 2 times, most recently from 920ff28 to 3e31cd7 Compare November 4, 2026 19:10
Base automatically changed from feature/drop-host-task-object-management to master November 5, 2026 17:28
Also add OpenMP backend
@ndgrigorian
ndgrigorian force-pushed the feature/build-with-adaptivecpp branch from d1888a5 to 4dd89c6 Compare November 5, 2026 17:41
@ndgrigorian
ndgrigorian force-pushed the feature/build-with-adaptivecpp branch from 4dd89c6 to 307f51c Compare November 5, 2026 17:55
Queues created without a handler inherited the AdaptiveCpp default
context handler, which calls std::terminate from ~queue(), e.g. after
a failed USM allocation on the OpenCL backend.
Set DPCTL_VERBOSITY=error and use --capture=sys so SYCL errors reach the log.
@ndgrigorian
ndgrigorian marked this pull request as ready for review November 5, 2026 18:12
The adaptivecpp HIP plugin links libamdhip64.so.6; a fresh solve now pulls
ROCm 7, the plugin fails to load, and its warning on stderr fails the
py_sycl_ls example.
Every filter-string test probing an absent device logged an [ERR] line
before skipping, thousands per run. The abort it was added to diagnose is
fixed; --capture=sys still lets native output reach the log.
Comment thread dpctl/tests/test_sycl_usm.py Resolved
Comment thread CMakeLists.txt Resolved
Comment thread dpctl/enum_types.py Resolved
The barrier kernel now depends on the queue's wait list, as ext_oneapi_barrier does. Also drop the unused AdaptiveCpp SET_LOCAL_ACCESSOR_ARG.
component_devices returns an empty tuple, can_compile is false for spirv and opencl, and enable/disable_peer_access raise ValueError.
Restore DPCTL_WITH_REDIST and DPCTL_OFFLOAD_COMPRESS options, validate DPCTL_SYCL_PROVIDER, default it in a standalone libsyclinterface build, and derive ACPP_TARGETS (keeping generic) only when the user has not set it, without caching it.
Use a skipif marker in _device_attributes_checks, which is imported before the marker is registered.
m2 = MemoryUSMDevice(nbytes, queue=q)
except USMAllocationError:
pytest.skip("Not enough memory")
ev = q.memcpy_async(m1, m2, nbytes)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following up on #2384 (comment): under AdaptiveCpp on the OpenCL CPU this test passes without the fix. The first barrier JIT-compiles its kernel (about 200 ms), so the copy is done before it. One barrier first makes the test fail without the fix (8/8 on omp and ocl) and pass with it:

    q.submit_barrier().wait()  # compile the barrier kernel first
    ev = q.memcpy_async(m1, m2, nbytes)

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants