[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: