Installation¶
Taccel runs on Python > 3.10. We strongly recommend using a virtual environment with tools like conda.
Install the Essential Libraries¶
sudo apt install libsuitesparse-dev
Clone Our Repo and Install Taccel¶
git clone --recursive https://github.com/Taccel-Simulator/Taccel -b main
cd Taccel
After cloning, go through the following steps:
Prepare a Virtual Environment¶
Create a virtual environment:
conda create -n taccel python=3.10 -y
Install required packages:
conda activate taccel
pip install -r requirements.txt
# A few more dependencies that requires torch being already installed
pip install torch-scatter
Install Our Fork of NVIDIA Warp¶
We need to install a modified fork of NVIDIA Warp. It keeps the update from the NVIDIA/Warp repo, but with the context module modified to force loading kernels from the PTX files.
cd thirdparty/warp
python build_lib.py
pip install -e .
This step is problematic. For issues please refer to this page. Some FAQs below:
FAQ 1: CUDA Toolkit¶
Before building, make sure that the CUDA Toolkit 12.x is installed. You may need to set the environment variable if related errors occur:
# Optional: We need CUDA 12
export CUDA_HOME=/usr/local/cuda-12.x
FAQ 2: 'GLIBCXX_3.4.30' not found
¶
A frequent problem is:
OSError: <...>/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by <...>/warp/warp/bin/warp.so)
To solve this, upgrade the libstdcxx-ng
with conda:
conda install -c conda-forge libstdcxx-ng=12.1
FAQ 3: cc1plus: execvp: No such file or directory
¶
This may be due to errors in your g++
installation. Please refer to this page.
FAQ 4: Packman
timeout fetching libmathdx
¶
If the packman
cannot download the libmathdx
due to Internet connection issues, download libmathdx
manually, unzip the package, and pass the directory with the --libmathdx_path
argument. For examples:
python build_lib.py --libmathdx_path=/home/jensen/utils/libmathdx
Install the Warp-IPC and Taccel¶
Then we will come back:
cd ../.. # get back to the root dir
pip install -e .
This will install warp_ipc
and taccel
packages.
Finish¶
After the steps above, your Taccel repo is ready to go.