跳转至主要内容
Version: v1.5.0

开发者安装指南

目标受众

对编译器、计算机图形或高性能计算感兴趣, 并想要为 Taichi编程语言 贡献新功能或修复漏洞的开发者。

IMPORTANT

本安装指南适用于只想进行模拟或高性能数字计算的终端用户。 We recommend that end users install Taichi via pip install taichi. There is no need for you to build Taichi from source.

参阅 起步,了解终端用户如何快速设置 Taichi 的更多信息。

简介

本安装指南涵盖以下内容:

note

安装指导因操作系统(OS)而异。 在继续阅读前选择正确的操作系统或平台。

先决条件

类型先决条件
OSmacOS / Ubuntu / Arch Linux / 其它 Linux 发行版
Python3.7/3.8/3.9/3.10 如果你使用搭载 M1 芯片的 MacBook,我们建议从 Miniforge conda 安装 Python。
Clang++Clang++ >8
LLVM15.0.4 (Taichi customized version)
Command line tools for XcodeFor macOS users only: xcode-select --install

安装 Clang

Taichi supports building from source with any clang compiler greater than version 8.0. Install one from your favorite package tool for the operating system. For example, you can use apt on Ubuntu, brew on macOS, and so on.

安装 LLVM

安装预编译的定制版 LLVM 二进制文件

We provide pre-built, customized LLVM 15 binaries.

  1. 根据系统环境下载并安装定制版二进制文件:
  1. 配置环境变量
  1. Set LLVM_DIR environment variable:

    echo "export LLVM_DIR=<PATH_TO_LLVM_FOLDER>" >>  ~/.bashrc
  2. 更新会话剩余部分的路径:

    source ~/.bashrc
Build LLVM 15.0.0 from source
We provide instructions here if you need to build LLVM 15.0.0 from source.
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-15.0.5.tar.gz

tar zxvf llvmorg-15.0.5.tar.gz

cd llvm-project-llvmorg-15.0.5/llvm

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 -DLLVM_ENABLE_TERMINFO=OFF

# If you are building on Apple M1, use -DLLVM_TARGETS_TO_BUILD="AArch64".

# If you are building on NVIDIA Jetson TX2, use -DLLVM_TARGETS_TO_BUILD="ARM;NVPTX"

# If you are building for a PyPI release, add -DLLVM_ENABLE_Z3_SOLVER=OFF to reduce the library dependency.

make -j 8

sudo make install

# Check your LLVM installation

llvm-config --version # You should get 15.0.5
## 可选依赖的安装 [CUDA](https://en.wikipedia.org/wiki/CUDA) is NVIDIA's answer to high-performance computing. Taichi has implemented a backend based on CUDA 10.0.0+. Vulkan is a next-generation, cross-platform API, open standard for 3D graphics and computing. Taichi has added a Vulkan backend as of v0.8.0. This section provides instructions on installing these two optional dependencies.
Install CUDA
This section works for you if you have a Nvidia GPU supporting CUDA. Note that the required CUDA version is 10.0+. To install CUDA:
  1. 前往 官方网站 下载安装程序。

  2. 选择 deb(本地) 作为 安装程序类型

  3. 检查 CUDA 是否正确安装:

    nvidia-smi
安装 Vulkan

必须安装 Vulkan SDK 才能调试 Taichi 的 Vulkan 后端。 要继续安装:

  1. 前往 Vulkan SDK 下载页面,根据所用操作系统,遵循相应指示。

  2. 检查环境变量 VULKAN_SDKPATHLD_LIBRARY_PATHVK_LAYER_PATH 是否已更新。

    Ubuntu 的 SDK 提供 setup-env.sh 用于更新这些变量。

  3. 请确保你正确安装了 GPU 供应商提供的 Vulkan 驱动程序。

    对于 Ubuntu,检查 /etc/vulkan/icd.d//usr/share/vulkan/icd.d/ 中是否有一个名称与 GPU 供应商一致的 JSON 文件。

  4. 检查 SDK 是否已正确安装:vulkaninfo

  5. 如果 SDK 已正确安装,使用值 -DTI_WITH_VULKAN:BOOL=ON 添加一个环境变量 TAICHI_CMAKE_ARGS,以激活 Vulkan 后端:(否则在从源代码编译的情况下,默认不使用 Vulkan。):

export TAICHI_CMAKE_ARGS="$TAICHI_CMAKE_ARGS -DTI_WITH_VULKAN:BOOL=ON"
## 从源代码编译 Taichi
  1. 递归克隆 Taichi 仓库,并编译[^1]:
    git clone --recursive https://github.com/taichi-dev/taichi

    cd taichi

    python3 -m pip install --user -r requirements_dev.txt

    # export CXX=/path/to/clang++ # Uncomment if clang++ is not default compiler of the system. Note that clang is not acceptable due to requirements of some submodules.

    # export DEBUG=1 #Uncomment it if you wish to keep debug information.

    python3 setup.py develop --user
  2. 尝试运行 examples/ 文件夹中的一些演示,以检查 Taichi 是否已正确安装。 For example:

    python3 python/taichi/examples/simulation/mpm128.py
note

1Although the two commands work similarly, python setup.py develop is recommended for you as a developer and python setup.py installmore for end users. 区别在于:

  • develop 命令实际没有安装任何东西,只是象征性地把源代码链接到部署目录。
  • install 命令则深复制源代码,所以终端用户每次修改源代码时都需要重新运行命令。

develop 命令更好地服务于开发者的需求,因为对 Python 文件的编辑能立即生效,无需重新运行命令。 只有在修改了项目的 C 扩展或编译文件时才需要重新运行。 详见 开发模式

Troubleshooting and debugging

没有权限

描述 输入 python3 setup.py developpython3 setup.py install 后提醒 permission denied根本原因 在没有写入权限的情况下试图在 Python 环境下安装软件包。 Workaround

  1. python3 setup.py develop --user or python3 setup.py install --user.
  2. Install Conda and use python from within the conda environment.

make 编译失败

描述 make 编译失败并报告 fatal error: 'spdlog/XXX.h' file not found根本原因 在克隆 Taichi 仓库时没有使用 --recursive 标记。 Workaround 运行 git submodule update --init --recursive --depth=1

which python 仍然返回系统的 Python 位置

描述 Conda 安装完成后,which python 仍返回系统的 Python 位置。 Workaround 运行以下命令来激活 Conda:

source <PATH_TO_CONDA>/bin/activate

conda init

Frequently asked questions

我如何重新从头编译 Taichi?

  1. Clean up cache from your previous builds:

    python3 setup.py clean
  2. Uninstall the Taichi package from your Python environment:

  • python setup.py develop --uninstall, if you build Taichi using python setup.py develop.
  • pip uninstall taichi, if you build Taichi using python setup.py install.

如果我的 macOS 上没有 wget 怎么办?

  1. Install Homebrew.

  2. Use Homebrew to install wget:

    brew install wget

Still have issues?