# With GPU support (needs CUDA 9.0+)
python3 -m pip install taichi-gpu-nightly --user
# CPU only. No GPU/CUDA needed
python3 -m pip install taichi-nightly --user
(Note this is for the compiler developers of Taichi lang. I'm building a pip package for end users.) Supports Ubuntu 14.04/16.04/18.04, ArchLinux, Mac OS X. For GPU support, CUDA 9.0+ is needed.
- Execute
python3 -m pip install astpretty astor pytest opencv-python pybind11 Pillow numpy scipy GitPython yapf colorama psutil autograd
- Execute
sudo apt install libtinfo-dev
on Ubuntu. - (TODO: update) Install
taichi
with the installation script. - If you use the experimental LLVM backend, make sure you have LLVM 8 built from scratch, with
mkdir build
cd build
cmake .. -DLLVM_ENABLE_RTTI:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86;NVPTX" -DLLVM_ENABLE_ASSERTIONS=ON
make -j 8
sudo make install
- Execute
source ~/.bashrc
(orsource ~/.zshrc
) to reload shell config. - Execute
ti test
to run all the tests. It may take a around 20 minutes to run all tests. - Check out
examples
for runnable examples. Run them withpython3
.
Key folders are
- examples : example programs written in Taichi
- cpp: benchmarking examples in the SIGGRAPH Asia paper (mpm_benchmark.cpp, smoke_renderer.cpp, cnn.cpp)
- fem: the FEM benchmark
- include: language runtime
- src: the compiler implementation (The functionality is briefly documented in each file)
- analysis: static analysis passes
- backends: codegen to x86 and CUDA
- transforms: IR transform passes
- ir: the intermediate representation system
- program: the context for taichi programs
- ...
- test: unit tests
- Run with debug mode to see if there's any illegal memory access;
- Disable compiler optimizations to quickly confirm that the issue is not cause by optimization;
@inproceedings{hu2019taichi,
title={Taichi: A Language for High-Performance Computation on Spatially Sparse Data Structures},
author={Hu, Yuanming and Li, Tzu-Mao and Anderson, Luke and Ragan-Kelley, Jonathan and Durand, Fr\'edo},
booktitle={SIGGRAPH Asia 2019 Technical Papers},
pages={201},
year={2019},
organization={ACM}
}