Calling it with multiple filenames was broken, revised and modernized
the script in the process. The cloud-based precommit was running it on
all files even though it was never intended to work on shell scripts.
Fixed that as well.
- Add support for AMD gpus in the toolchain
- Works with both Nvidia and AMD gpus
- generic kernels with templated types
- Needs ROCM 4.2 and CUDA 11 (for compiling on nvidia hardware)
- task list creation is hardware agnostic
This PR drops FFTW library if MKL is present and if FFTW is not necessary otherwise (e.g., libvdwxc relies on native FFTW library). For cases where FFTW library and MKL are mixed, a new warning is issued by CP2K's toolchain.
* Implemented warning about mixing MKL FFTW interface and FFTW library at link-line.
* Export FFTW3_INCLUDES and FFTW3_LIBS (install_fftw.sh and install_mkl.sh).
* Revised build/installation of libvdwxc to not rely on FFTW_ROOT.
* Allow using Intel MPI even with --mpi-mode=mpich.
* Moved install_fftw.sh from stage2 to stage3 (after MKL).
* Disable using separate FFTW library if MKL is linked.
* Fixed picking MKL's ScaLAPACK in case of Intel MPI.
* Show message about default MPI-kind (MPICH).
* Improved toolchain/main script (help line).
* Rely on MPICXX=mpicxx (Intel MPI).
* Adjusted MKL help line message.