You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provided a build environment for numba_dpex, when running
python ./setup.py bdist_wheel
the archive does not include the file atomic_ops.spir, when installing the binary later there will not be support for atomic operations. But one can see that the file atomic_ops.spir, despite not being included in the archive, was effectively created.
The source of the issue might come from the MANIFEST.in or metadata in setup,py, those can be tricky to get right.
The text was updated successfully, but these errors were encountered:
The workaround I've found is to run python setup.py develop before running python setup.py bdist_wheel, it ensures that spirv compile steps are triggered early enough to ensure that the packaging steps will index the binaries that are created during compilation and add it to the tarball.
@fcharras More of an FYI at this point. I am working on overhauling the atomics support in numba-dpex (#783). The file you point to was added back when there was no native atomic instruction support in the hardware and the file atomic_ops.spir provided an emulation layer (copied from what the DPC++ compiler used to do) for atomics ops.
Since then, dpex does support generating native atomic instructions. The emulator is still the default and generating native atomics is an opt-in feature at the moment by setting NUMBA_DPEX_ACTIVATE_ATOMICS_FP_NATIVE to a non zero value.
In my current work, I am evaluating if emulation is still needed and if we can make generation of native atomics instructions the default.
Provided a build environment for
numba_dpex
, when runningpython ./setup.py bdist_wheel
the archive does not include the file
atomic_ops.spir
, when installing the binary later there will not be support for atomic operations. But one can see that the fileatomic_ops.spir
, despite not being included in the archive, was effectively created.The source of the issue might come from the
MANIFEST.in
or metadata insetup,py
, those can be tricky to get right.The text was updated successfully, but these errors were encountered: