A set of containers for building Neko with cpu, CUDA, HIP, and opencl. The intention is to mimic the builds we have at Github Actions and enable easy local testing against different architectures.
-
Install apptainer
See https://apptainer.org/docs/admin/main/installation.html
For Ubuntu
sudo apt-get update
sudo apt-get install -y wget
wget https://github.com/apptainer/apptainer/releases/download/v1.1.0/apptainer_1.1.0_amd64.deb
sudo apt-get install -y ./apptainer_1.1.0_amd64.deb
-
Set the
APPTAINER_BINDenvironmental variableHere you need to bind two directories, the one where you have neko's source, and the one where neko will be installed. The former is bound to /neko on the container and the latter to /neko_install. For example, this is how it can look in
bsahrcexport APPTAINER_BIND="/home/username/neko:/neko,/home/username/neko_install:/neko_install"So, here
/home/username/nekois where you have your Neko repo, and/home/username/neko_installis where Neko will be installed -
Build the containers
Clone this repo and then run the
build_allscript. This will build all the containers (.sif files). This will take quite a while! -
Set
NEKO_CONTAINER_DIRSet this variable to the location of this repo; in your bashrc.
-
Add the
bindirectory in the repo to your path.export PATH="$NEKO_CONTAINER_DIR/bin:$PATH"also in your bashrc.This is optional, since the scripts in bin just run the container, which execute the compilation as defined in the container .def file.
The scripts in the bin directory will execute compilation for a given architecture.
For example, running neko_compile_cuda will build with CUDA, etc.