Yggdrasil icon indicating copy to clipboard operation
Yggdrasil copied to clipboard

[Libxc] version 7.0.0 + CUDA binaries for aarch64

Open abussy opened this issue 4 months ago • 0 comments

This a follow up of PR #9580. Since Libxc v7.0.0 was released in the meantime, the previous PR (update to v6.2.2) was closed before merging. The following is essentially the same description.

Update Libxc version from 6.1.0 to 7.0.0.

Additionally, added recipes for the combination of aarch64 and CUDA, for Libxc_GPU_jll. Because BinaryBuilder only runs on x86_64, and nvcc is not a cross compiler, this is a non-trivial operation.

Pre-compiled binaries are available on a separate GitHub repository, specifically created for this purpose. The aarch64 BinaryBuilder recipe downloads the binary for the given CUDA version (from 11.4 to 12.6), and repackages it in the correct format.

The binaries were all generated in Docker images, for total control of the environment and reproducibility. All scripts and recipes are available in https://github.com/abussy/libxc_aarch64_gpu_binaries as well. After a discussion on the Julia slack, special care was given to the glibc version and RPATH. All glibc symbols used by the libxc.so shared library come from version 2.17, as per the BinaryBuilder requirements for aarch64.

Both x86_64 and aarch64 GPU binaries were successfully tested using the Libxc.jl and DFTK.jl packages.

abussy avatar Oct 24 '24 15:10 abussy