anlsys / aml

Building Blocks for Explicit Memory Management on Complex Architectures
https://argo-aml.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
4 stars 2 forks source link

Unification of backend activation and path customization #216

Closed NicolasDenoyelle closed 2 years ago

NicolasDenoyelle commented 2 years ago

In order to ease the spack install process we make a uniform interface to enable/disable backends: hwloc, cuda, opencl, ze. --with-<backend> options are unified by using pkgconf m4 macros. This largely simplifies the work for hwloc and opencl. However, a special attention has to be given to (1) ze and (2) cuda. (1) ze is not always installed with a .pc companion and the detection might fail even if it is installed in a standard path. Therefore, we provide a fallback method to detect it. (2) cuda detection is left untouched until we figure out how to deal with nvcc detection and pkg-config for cuda.

In order to customize the installation path of these backends, one can pass ./configure <backend>_CFLAGS <backend>_LDFLAGS to override pkgconf path. For the case of cuda however, the path has to be specified with the --with-cuda=path option.