Add a mechanism to link in HIP device library implementations based on target capabilities quaried at runtime (rtdevlib). Using floating-point atomic add operations and their fall-backs as an use case.
Other changes:
Add checks for atomicAdd() and atomicExch().
OpenCL: Remove redundant OpenCL declarations.
Use built-in float/double atomic_exchange*() without cl_ext_float_atomics (they don't require the extension).
Don't give warnings about undefined symbols starting with __chip_ which are given for symbols defined in rtdevlib.
Add a mechanism to link in HIP device library implementations based on target capabilities quaried at runtime (rtdevlib). Using floating-point atomic add operations and their fall-backs as an use case.
Other changes:
Add checks for atomicAdd() and atomicExch().
OpenCL: Remove redundant OpenCL declarations.
Use built-in float/double atomic_exchange*() without cl_ext_float_atomics (they don't require the extension).
Don't give warnings about undefined symbols starting with
__chip_
which are given for symbols defined in rtdevlib.