HSA version in header inconsistent with symbols in library
Hello Debian rocm packaging,
HSA 1.2 introduces an API call hsa_amd_memory_async_copy_on_engine
/usr/include/hsa_ext_amd.h contains:
/*
* - 1.0 - initial version
* - 1.1 - dmabuf export
* - 1.2 - hsa_amd_memory_async_copy_on_engine
* - 1.3 - HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_EXTENDED_SCOPE_FINE_GRAINED
pool
*/
#define HSA_AMD_INTERFACE_VERSION_MAJOR 1
#define HSA_AMD_INTERFACE_VERSION_MINOR 3
Openmp has decided to branch on those version macros to guess whether
hsa_amd_memory_async_copy_on_engine is available or not. That's sort
of the best of various bad options available.
The shared library Debian packages doesn't export the
hsa_amd_memory_async_copy_on_engine symbol. Can check with nm
--dynamic | grep.
Thus openmp's runtime now refuses to build. Locally 'm going to change
that 3 to a 1. I'm not sure what the right change to packaging is
beyond that the header should match the shared library.
Thanks!
Jon
Reply to: