Skip to content
6 changes: 3 additions & 3 deletions .github/workflows/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
env:
TI_CI: "1"
TI_SKIP_VERSION_CHECK: "ON"
CI_IMAGE_VERSION: '202311231829'
CI_IMAGE_VERSION: '202507261736'

jobs:
gpu_backends:
Expand Down Expand Up @@ -43,7 +43,7 @@ jobs:
/home/dev/taichi/.github/workflows/scripts/build.py

env:
PY: '3.11'
PY: '3.13'
PROJECT_NAME: taichi
TAICHI_CMAKE_ARGS: >-
-DTI_WITH_OPENGL:BOOL=ON
Expand Down Expand Up @@ -82,7 +82,7 @@ jobs:
/home/dev/taichi/.github/workflows/scripts/unix-perf-mon.sh

env:
PY: '3.11'
PY: '3.13'
BENCHMARK_UPLOAD_TOKEN: ${{ secrets.BENCHMARK_UPLOAD_TOKEN }}
GITHUB_EVENT_ACTION: ${{ github.event.action }}
GITHUB_TOKEN: ${{ secrets.GARDENER_PAT }}
2 changes: 1 addition & 1 deletion .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-python@v5
with:
python-version: 3.11
python-version: 3.13
- name: Install Dependencies
run: pip install semver GitPython PyGithub

Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ env:
METADATA_URL: ${{ secrets.METADATA_URL }}
RELEASE_VERSION: ${{ github.event.inputs.version }}
NIGHTLY: ${{ !github.event.inputs.version && '--nightly' || '' }}
CI_IMAGE_VERSION: '202311231829'
CI_IMAGE_VERSION: '202507261736'
TI_CI: "1"
TI_SKIP_VERSION_CHECK: 'ON'
# TI_USE_GIT_CACHE: ${{ vars.TI_USE_GIT_CACHE }}
Expand Down Expand Up @@ -56,11 +56,11 @@ jobs:
- id: set-matrix
run: |
if [ -n "$RELEASE_VERSION" ]; then
echo 'matrix={"include":[{"name":"taichi","python":"3.9"},{"name":"taichi","python":"3.10"},{"name":"taichi","python":"3.11"},{"name":"taichi","python":"3.12"}]}"' >> $GITHUB_OUTPUT
echo 'matrix_osx={"include":[{"name":"taichi","python":"3.10"},{"name":"taichi","python":"3.11"},{"name":"taichi","python":"3.12"}]}"' >> $GITHUB_OUTPUT
echo 'matrix={"include":[{"name":"taichi","python":"3.9"},{"name":"taichi","python":"3.10"},{"name":"taichi","python":"3.11"},{"name":"taichi","python":"3.12"},{"name":"taichi","python":"3.13"}]}"' >> $GITHUB_OUTPUT
echo 'matrix_osx={"include":[{"name":"taichi","python":"3.10"},{"name":"taichi","python":"3.11"},{"name":"taichi","python":"3.12"},{"name":"taichi","python":"3.13"}]}"' >> $GITHUB_OUTPUT
else
echo 'matrix={"include":[{"name":"taichi-nightly","python":"3.9"},{"name":"taichi-nightly","python":"3.10"},{"name":"taichi-nightly","python":"3.11"},{"name":"taichi","python":"3.12"}]}"' >> $GITHUB_OUTPUT
echo 'matrix_osx={"include":[{"name":"taichi-nightly","python":"3.9"},{"name":"taichi-nightly","python":"3.10"},{"name":"taichi-nightly","python":"3.11"},{"name":"taichi","python":"3.12"}]}"' >> $GITHUB_OUTPUT
echo 'matrix={"include":[{"name":"taichi-nightly","python":"3.9"},{"name":"taichi-nightly","python":"3.10"},{"name":"taichi-nightly","python":"3.11"},{"name":"taichi","python":"3.12"},{"name":"taichi","python":"3.13"}]}"' >> $GITHUB_OUTPUT
echo 'matrix_osx={"include":[{"name":"taichi-nightly","python":"3.9"},{"name":"taichi-nightly","python":"3.10"},{"name":"taichi-nightly","python":"3.11"},{"name":"taichi","python":"3.12"},{"name":"taichi","python":"3.13"}]}"' >> $GITHUB_OUTPUT
fi

build_and_test_linux:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scripts/ti_build/vulkan.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def setup_vulkan():
os.environ["VULKAN_SDK"] = str(sdk)
path_prepend("PATH", sdk / "bin")
path_prepend("LD_LIBRARY_PATH", sdk / "lib")
os.environ["VK_LAYER_PATH"] = str(sdk / "etc" / "vulkan" / "explicit_layer.d")
os.environ["VK_LAYER_PATH"] = str(sdk / "share" / "vulkan" / "explicit_layer.d")
# elif (u.system, u.machine) == ("Darwin", "arm64"):
# elif (u.system, u.machine) == ("Darwin", "x86_64"):
elif (u.system, u.machine) == ("Windows", "AMD64"):
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ env:
TI_SKIP_VERSION_CHECK: 'ON'
TI_LITE_TEST: ${{ github.event_name == 'pull_request' && ! contains(github.event.pull_request.labels.*.name, 'full-ci') && ! startsWith(github.base_ref, 'rc-') && '1' || '' }}
TI_TEST_OFFLINE_CACHE: ${{ github.event.schedule == '0 18 * * *' && '1' || '' }}
CI_IMAGE_VERSION: '202311231829'
CI_IMAGE_VERSION: '202507261736'
# TI_USE_GIT_CACHE: ${{ vars.TI_USE_GIT_CACHE }}
TI_USE_GIT_CACHE: '1' # variables are also not populated on forked PRs
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -120,7 +120,7 @@ jobs:
# matrix:
# include:
# - os: macos-10.15
# python: 3.11
# python: 3.13
# with_cpp_tests: ON
# wanted_archs: 'cpu,vulkan'
# runs-on:
Expand Down Expand Up @@ -203,7 +203,7 @@ jobs:
- ${{ matrix.driver }}
- ${{ matrix.extra_markers == 'sm70' && 'sm70' || 'Linux' }}
env:
PY: '3.11'
PY: '3.13'
PROJECT_NAME: taichi
TAICHI_CMAKE_ARGS: >-
-DTI_WITH_OPENGL:BOOL=ON
Expand Down
118 changes: 15 additions & 103 deletions ci/Dockerfile.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -20,24 +20,6 @@ COPY assets/mitm-ca.crt /usr/local/share/ca-certificates/mitm-ca.crt
RUN chmod 644 /usr/local/share/ca-certificates/mitm-ca.crt && \
update-ca-certificates

SNIPPET mitm-ca-centos
COPY assets/mitm-ca.crt /etc/pki/ca-trust/source/anchors/mitm-ca.crt
RUN chmod 644 /etc/pki/ca-trust/source/anchors/mitm-ca.crt && \
update-ca-trust

# -------
SNIPPET devtoolset-11
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo && \
yum updateinfo && \
yum install -y epel-release centos-release-scl-rh && \
yum install -y devtoolset-11-{gcc,gcc-c++} git wget unzip sudo libXrandr which rh-python38 && \
. /opt/rh/rh-python38/enable && \
python3 -m pip install -U pip && \
python3 -m pip install -U cmake && \
true

ENV PATH="/opt/rh/rh-python38/root/usr/local/bin:/opt/rh/rh-python38/root/usr/bin:$PATH"

# -------
SNIPPET dev-user
RUN useradd -ms /bin/bash dev && \
Expand Down Expand Up @@ -68,7 +50,7 @@ RUN set -x && \
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
pip install -U cmake && \
cd /usr && \
curl -L https://github.com/rui314/mold/releases/download/v1.10.1/mold-1.10.1-x86_64-linux.tar.gz | tar -xz --strip-components=1 && \
curl -L https://github.com/rui314/mold/releases/download/v2.40.2/mold-2.40.2-x86_64-linux.tar.gz | tar -xz --strip-components=1 && \
rm /usr/bin/ld && ln -sf /usr/bin/mold /usr/bin/ld && \
rm -rf /var/cache/apt/archives /var/lib/apt/lists && \
ln -sf /usr/bin/python3 /usr/bin/python && \
Expand All @@ -89,17 +71,16 @@ RUN set -x && \
sed -i 's/security.ubuntu.com/mirrors.tencent.com/g' /etc/apt/sources.list && \
apt update && apt upgrade -y && \
apt install -y \
curl wget sudo python3 python3-distutils git unzip \
libvulkan1 qt5-default libglfw3 ffmpeg \
curl wget sudo python3 python3-pip python3-distutils git unzip \
libvulkan1 qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libglfw3 ffmpeg \
&& \
curl -sSL https://bootstrap.pypa.io/pip/3.6/get-pip.py | python3 - && \
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip && \
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
rm -rf /var/cache/apt/archives /var/lib/apt/lists && \
true

# -------
FROM ubuntu:18.04 AS build-cpu
FROM ubuntu:22.04 AS build-cpu
USE debian-addons
USE mitm-ca
RUN set -x && \
Expand All @@ -112,7 +93,7 @@ USE timezone-patch
BUILD build-cpu AS registry.botmaster.tgr/taichi-build-cpu:__TIME__

# -------
FROM ubuntu:18.04 AS test-cpu
FROM ubuntu:22.04 AS test-cpu
USE debian-addons-test
USE mitm-ca
USE dev-user
Expand All @@ -131,17 +112,17 @@ RUN set -x && \
libssl-dev libglm-dev \
libxcb-keysyms1-dev libxcb-dri3-dev \
libxcb-randr0-dev libxcb-ewmh-dev \
libpng-dev libmirclient-dev \
libpng-dev \
libwayland-dev bison \
liblz4-dev libzstd-dev \
qt5-default libglfw3 \
libglfw3-dev libjpeg-dev \
qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools \
libglfw3 libglfw3-dev libjpeg-dev \
&& \
rm -rf /var/cache/apt/archives /var/lib/apt/lists && \
true

# -------
FROM rocm/dev-ubuntu-20.04:5.4.3 AS build-amdgpu
FROM rocm/dev-ubuntu-22.04:6.4.2 AS build-amdgpu
# The AMDGPU lists has bad distribution
RUN rm /etc/apt/sources.list.d/*.list
USE debian-addons
Expand All @@ -153,8 +134,7 @@ BUILD build-amdgpu AS registry.botmaster.tgr/taichi-build-amdgpu:__TIME__
BUILD build-amdgpu AS registry.botmaster.tgr/taichi-test-amdgpu:__TIME__

# -------
# Use 11.2 instead of 11.4 to avoid forward compatibility issue on Nvidia driver 460
FROM nvidia/cudagl:11.2.2-devel-ubuntu18.04 AS build-cuda
FROM nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04 AS build-cuda
ENV NVIDIA_DRIVER_CAPABILITIES compute,graphics,utility
USE debian-addons
USE mitm-ca
Expand All @@ -166,8 +146,7 @@ USE timezone-patch
BUILD build-cuda AS registry.botmaster.tgr/taichi-build-cuda:__TIME__

# -------
# Use 11.2 instead of 11.4 to avoid forward compatibility issue on Nvidia driver 460
FROM nvidia/cudagl:11.2.2-devel-ubuntu18.04 AS test-cuda
FROM nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04 AS test-cuda
ENV NVIDIA_DRIVER_CAPABILITIES compute,graphics,utility
USE debian-addons-test
USE mitm-ca
Expand All @@ -178,7 +157,7 @@ USE timezone-patch
BUILD test-cuda AS registry.botmaster.tgr/taichi-test-cuda:__TIME__

# -------
FROM ubuntu:18.04 AS android-sdk
FROM ubuntu:22.04 AS android-sdk
RUN set -x && \
apt-get update && apt-get -y install wget unzip openjdk-11-jdk redis-tools && \
mkdir /android-sdk && \
Expand Down Expand Up @@ -207,82 +186,15 @@ RUN set -x && \

COPY --from=android-sdk /android-sdk /android-sdk
USER dev
COPY assets/dot-android.tgz /dot-android.tgz
RUN set -x && \
curl http://172.16.5.1:9000/misc/dot-android.tgz | tar -xz && \
cd /home/dev && mkdir .android && cd .android && \
tar -xzf /dot-android.tgz && \
chown -R dev:dev /home/dev/.android && \
true

USE timezone-patch
BUILD build-android AS registry.botmaster.tgr/taichi-build-android:__TIME__
BUILD build-android AS registry.botmaster.tgr/taichi-test-android:__TIME__

# ------- intermediate
SNIPPET build-llvm
RUN set -x && \
. /opt/rh/devtoolset-11/enable && \
cd /llvm-project && \
rm -rf build && mkdir -p build && cd build && \
cmake ../llvm \
-DLLVM_ENABLE_RTTI:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="X86;AArch64;NVPTX;AMDGPU" \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_PROJECTS=clang \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-G "Unix Makefiles" \
&& \
make -j$(nproc) && \
true

RUN set -x && \
. /opt/rh/devtoolset-11/enable && \
cd /llvm-project/build && \
DESTDIR=__INSTALL__ cmake -P tools/cmake_install.cmake && \
true

FROM centos:7 AS clang-for-centos
USE devtoolset-11

RUN set -x && \
cd / && \
git clone --depth=1 --branch=release/15.x https://github.com/llvm/llvm-project && \
true

USE build-llvm __INSTALL__=/loop1
ENV CC="/loop1/usr/bin/clang" CXX="/loop1/usr/bin/clang++"
USE build-llvm __INSTALL__=/prepare/clang

# -------
SNIPPET manylinux2014-addons
USE devtoolset-11
COPY --from=clang-for-centos /prepare/clang /
RUN set -x && \
mkdir -p /usr/lib/gcc/x86_64-redhat-linux && \
ln -s \
/opt/rh/devtoolset-11/root/usr/lib/gcc/x86_64-redhat-linux/11 \
/usr/lib/gcc/x86_64-redhat-linux/11 \
&& \
clang++ -v && \
true

FROM centos:7 AS manylinux2014
USE manylinux2014-addons
USE mitm-ca-centos
USE dev-user
USE timezone-patch
BUILD manylinux2014 AS registry.botmaster.tgr/taichi-build-manylinux2014:__TIME__
BUILD manylinux2014 AS registry.botmaster.tgr/taichi-test-manylinux2014:__TIME__

FROM nvidia/cudagl:11.2.2-devel-centos7 AS manylinux2014-cuda
USE manylinux2014-addons
USE mitm-ca-centos
USE dev-user
USE timezone-patch
BUILD manylinux2014-cuda AS registry.botmaster.tgr/taichi-build-manylinux2014-cuda:__TIME__
BUILD manylinux2014-cuda AS registry.botmaster.tgr/taichi-test-manylinux2014-cuda:__TIME__

# -------
# vim: ft=Dockerfile:
Binary file added ci/assets/dot-android.tgz
Binary file not shown.
2 changes: 1 addition & 1 deletion cmake/PythonNumpyPybind11.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Python, numpy, and pybind11
execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pybind11 --cmake
execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pybind11 --cmakedir
OUTPUT_VARIABLE pybind11_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy;print(numpy.get_include())"
OUTPUT_VARIABLE NUMPY_INCLUDE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
Expand Down
2 changes: 1 addition & 1 deletion taichi/rhi/vulkan/vulkan_device_creator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ vk_debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT message_severity,
std::cout << msg.substr(pos + 2);
}

if (message_severity > VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT) {
if (message_severity > VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT) {
char msg_buf[4096];
snprintf(msg_buf, sizeof(msg_buf), "Vulkan validation layer: %d, %s",
message_type, p_callback_data->pMessage);
Expand Down
Loading