Install
Dependancies
To build ibis
, you will need to have:
- A c++ compiler (with c++17 support; g++ 11.4 works)
- cmake (at least version 3.20.1)
- make (or any cmake compatible generator you like)
- Python
- Native compilers for the target architecture (e.g. cuda, hip)
For all functionality, it is recommended to also have installed:
- numpy
- matplotlib
Without these optional dependancies, some features may not work properly.
Download
To download the code:
git clone git@github.com:wattrg/ibis.git --recurse-submodules
If you missed the --recurse-submodules
, you can initialise the submodules with
git submodule update --init --recursive
Configure
Ibis does not allow you to build the code directly in the source code tree. We need to make a separate directory to build the code in. In the root of the repository, make a new directory:
mkdir build
cd build
ibis
uses cmake
to configure things like the architecture you will run the code on.
The available architectures are:
CUDA
(NVIDIA GPUs)HIP
(AMD GPUs)OPENMP
(Parallel on the CPU)SERIAL
(Serial on the CPU)
Once you know the architecture you will be using, follow the instructions for that architecture.
Configure for CUDA or CPU
With your chosen architecture, run
cmake .. -DKokkos_ENABLE_[ARCH]=ON
Configure for HIP
If using an AMD GPU, make sure that ROCM_PATH
is set to /opt/rocm
before proceeding.
If you are using any machine but Bunya, configure ibis
with:
cmake .. -DKokkos_ENABLE_HIP=ON -DCMAKE_CXX_COMPILER=hipcc
Configure for HIP on Bunya
If you are compiling for the AMD GPUs on Bunya, the filesystem module has to be linked manually.
Configure ibis
with:
cmake .. -DKokkos_ENABLE_HIP=ON -DCMAKE_CXX_COMPILER=hipcc -DIbis_LINK_FS=ON
Compile and Install
Once configuration is complete, the compilation and install are the same:
make -j install
Finally, add the install location to your system path.
By default, the install location is <path_to_ibis_repo>/inst