Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync #1

Merged
merged 39 commits into from
May 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
cccd2cb
[doc] Fix doc link (#4835)
k-ye Apr 21, 2022
b83b72c
[Lang] Remove obsolete vectypes class (#4831)
neozhaoliang Apr 22, 2022
abf87a2
[mesh] Remove link hints from ti.Mesh (#4825)
BillXu2000 Apr 22, 2022
ecc0521
[Bug] [ir] Fix implicit cast warning for global stores (#4834)
strongoier Apr 22, 2022
0185aa0
[misc] Update pre-commit hooks (#4713)
pre-commit-ci[bot] Apr 22, 2022
db99acd
[Error] Provide source code info in warnings (#4840)
strongoier Apr 22, 2022
8766d38
[Bug] [ir] Fix and refactor type check for local stores (#4843)
strongoier Apr 22, 2022
c865bb5
[Lang] Add single character property for vector swizzle && test (#4845)
neozhaoliang Apr 22, 2022
e1ad07e
[lang] Group related Matrix methods closer (#4836)
k-ye Apr 22, 2022
86d403f
[Error] Show warning when serialize=True is set on a struct for (#4844)
lin-hitonami Apr 22, 2022
d82ea90
[bug] Fix bug that building with TI_EXPORT_CORE:BOOL=ON failed (#4850)
PGZXB Apr 23, 2022
9178a5b
[Doc] Updated URL (#4847)
writinwaters Apr 26, 2022
baedd61
[Bug] [ir] Fix and refactor type check for atomic ops (#4858)
strongoier Apr 26, 2022
433b0e3
[lang] Add better error detection for swizzle patterens (#4860)
k-ye Apr 26, 2022
1c3619d
[gui] Avoid implicit type casts in staging_buffer (#4861)
strongoier Apr 26, 2022
e346e9f
[Build] Switch to scikit-build as the build backend (#4624)
frostming Apr 27, 2022
5bb28e2
[build] Install export core library to build dir (#4866)
frostming Apr 27, 2022
5d20a1d
[misc] Bump version to v1.0.2 (#4867)
taichi-gardener Apr 27, 2022
92f8464
[Bug] Remove redundant AllocStmt when lowering FrontendWhileStmt (#4870)
jim19930609 Apr 27, 2022
5bb3b0e
[build] [bug] Fix a bug of skbuild that loses the root package_dir (#…
frostming Apr 27, 2022
477c996
[ci] Add libtaichi_export_core build for desktop in CI (#4871)
ailzhang Apr 27, 2022
6e055f0
[Build] [refactor] Define runtime build target (#4838)
qiao-bo Apr 27, 2022
0abd24b
[Doc] Add limitation about TLS optimization (#4877)
ailzhang Apr 28, 2022
a9bd5c9
[ci] Use the updated docker image for libtaichi_export_core (#4881)
qiao-bo Apr 28, 2022
3291be6
[refactor] Add ASTSerializer and use it to generate offline-cache-key…
PGZXB Apr 28, 2022
850c8c7
[build] Change the library output dir for export core (#4880)
frostming Apr 28, 2022
eae8339
[vulkan] Device API explicit semaphores (#4852)
bobcao3 Apr 28, 2022
d096f15
[metal] Complete Device API (#4862)
k-ye Apr 28, 2022
ca81ba3
[Doc] Updated links that may break. (#4874)
writinwaters Apr 28, 2022
e4eea27
[error] [lang] Improved error messages for illegal slicing or indexin…
jim19930609 Apr 28, 2022
8a3a2d7
[metal] Migrate runtime's MTLBuffer allocation to unified device API …
k-ye Apr 28, 2022
c2a44d8
[Build] [refactor] Use keywords instead of plain target_link_librarie…
qiao-bo Apr 29, 2022
b9bb482
[bug] Fixed type promotion rule for bit-shift operations (#4884)
jim19930609 Apr 29, 2022
de08a27
[aot] [vulkan] Expose symbols for AOT (#4879)
k-ye Apr 29, 2022
b3446e9
[Build] [refactor] Define Cmake OpenGL runtime target (#4887)
qiao-bo Apr 30, 2022
6d223da
[vulkan] Fix typo for waitSemaphoreCount (#4892)
ghuau-innopeak Apr 30, 2022
e583b2d
[vulkan] Add new VMA vulkan functions. (#4893)
bobcao3 Apr 30, 2022
eedf20d
Use Ninja generator on Windows and skip generator test (#4896)
frostming May 3, 2022
3d6fcb0
[Lang] [test] Copy-free interaction between Taichi and PaddlePaddle (…
0xzhang May 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ assignees: ''

---

<!-- We've collected some common issue solutions in https://docs.taichi.graphics/lang/articles/misc/install. Make sure you've check them out first. Hopefully they could address your problem. -->
<!-- We've collected some common issue solutions in https://docs.taichi-lang.org/lang/articles/install. Make sure you've check them out first. Hopefully they could address your problem. -->

**Describe the bug**
A clear and concise description of what the bug is, ideally within 20 words.
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
blank_issues_enabled: true
contact_links:
- name: Contributor Guideline
url: https://docs.taichi.graphics/lang/articles/contributor_guide
url: https://docs.taichi-lang.org/lang/articles/contributor_guide
about: Please check this out if you'd like to contribute by opening a PR :)
- name: Taichi Forum
url: https://forum.taichi.graphics
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ Before asking a question, please first consider:

- Searching Google
- Searching [existing issues](https://github.com/taichi-dev/taichi/issues)
- Searching [Taichi Doc](https://docs.taichi.graphics/)
- Searching [Taichi Doc](https://docs.taichi-lang.org/)
- Searching [Taichi Forum](https://forum.taichi.graphics/)
-->
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ Related issue = #
Thank you for your contribution!

If it is your first time contributing to Taichi, please read our Contributor Guidelines:
https://docs.taichi.graphics/lang/articles/contribution/contributor_guide
https://docs.taichi-lang.org/lang/articles/contributor_guide

- Please always prepend your PR title with tags such as [CUDA], [Lang], [Doc], [Example]. For a complete list of valid PR tags, please check out https://github.com/taichi-dev/taichi/blob/master/misc/prtags.json.
- Use upper-case tags (e.g., [Metal]) for PRs that change public APIs. Otherwise, please use lower-case tags (e.g., [metal]).
- More details: https://docs.taichi.graphics/lang/articles/contribution/contributor_guide#pr-title-format-and-tags
- More details: https://docs.taichi-lang.org/lang/articles/contributor_guide#pr-title-format-and-tags

- Please fill in the issue number that this PR relates to.
- If your PR fixes the issue **completely**, use the `close` or `fixes` prefix so that GitHub automatically closes the issue when the PR is merged. For example,
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/scripts/check_clang_tidy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,5 @@ CI_SETUP_CMAKE_ARGS=$1
cd taichi
python3 -m pip install -r requirements_dev.txt

rm -rf build && mkdir build && cd build
cmake $CI_SETUP_CMAKE_ARGS ..

cd ..
python3 ./scripts/run_clang_tidy.py $PWD/taichi -clang-tidy-binary clang-tidy-10 -checks=-*,performance-inefficient-string-concatenation,readability-identifier-naming -header-filter=$PWD/taichi -p $PWD/build -j2
export CI_SETUP_CMAKE_ARGS
python3 ./scripts/run_clang_tidy.py $PWD/taichi -clang-tidy-binary clang-tidy-10 -checks=-*,performance-inefficient-string-concatenation,readability-identifier-naming -header-filter=$PWD/taichi -j2
19 changes: 14 additions & 5 deletions .github/workflows/scripts/unix_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ setup_python() {
python3 -m pip install -r requirements_dev.txt
}

build() {
build_taichi_wheel() {
git fetch origin master
PROJECT_TAGS=""
EXTRA_ARGS=""
Expand All @@ -69,12 +69,21 @@ build() {
sccache -s
}

build_libtaichi_export() {
git fetch origin master
python3 setup.py build_ext
}

setup_sccache
setup_python
build
cat "$SCCACHE_ERROR_LOG" || true
NUM_WHL=$(ls dist/*.whl | wc -l)
if [ $NUM_WHL -ne 1 ]; then echo "ERROR: created more than 1 whl." && exit 1; fi

if [ "$EXPORT_CORE" == "1" ]; then
build_libtaichi_export
else
build_taichi_wheel
NUM_WHL=$(ls dist/*.whl | wc -l)
if [ $NUM_WHL -ne 1 ]; then echo "ERROR: created more than 1 whl." && exit 1; fi
fi

chmod -R 777 "$SCCACHE_DIR"
rm -f python/CHANGELOG.md
26 changes: 18 additions & 8 deletions .github/workflows/scripts/unix_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,16 @@ python3 -m pip install dist/*.whl
if [ -z "$GPU_TEST" ]; then
python3 -m pip install -r requirements_test.txt
python3 -m pip install "torch; python_version < '3.10'"
# Paddle's develop package doesn't support CI's MACOS machine at present
if [[ $OSTYPE == "linux-"* ]]; then
python3 -m pip install "paddlepaddle==0.0.0; python_version < '3.10'" -f https://www.paddlepaddle.org.cn/whl/linux/cpu-mkl/develop.html
fi
else
## Only GPU machine uses system python.
export PATH=$PATH:$HOME/.local/bin
# pip will skip packages if already installed
python3 -m pip install -r requirements_test.txt
# Import Paddle's develop GPU package will occur error `Illegal Instruction`.
fi
ti diagnose
ti changelog
Expand All @@ -38,27 +43,32 @@ TI_LIB_DIR="$TI_PATH/_lib/runtime" ./build/taichi_cpp_tests
if [ -z "$GPU_TEST" ]; then
if [[ $PLATFORM == *"m1"* ]]; then
# Split per arch to avoid flaky test
python3 tests/run_tests.py -vr2 -t4 -k "not torch" -a cpu
python3 tests/run_tests.py -vr2 -t4 -k "not torch and not paddle" -a cpu
# Run metal and vulkan separately so that they don't use M1 chip simultaneously.
python3 tests/run_tests.py -vr2 -t4 -k "not torch" -a vulkan
python3 tests/run_tests.py -vr2 -t2 -k "not torch" -a metal
python3 tests/run_tests.py -vr2 -t4 -k "not torch and not paddle" -a vulkan
python3 tests/run_tests.py -vr2 -t2 -k "not torch and not paddle" -a metal
python3 tests/run_tests.py -vr2 -t1 -k "torch" -a "$TI_WANTED_ARCHS"
else
python3 tests/run_tests.py -vr2 -t4 -a "$TI_WANTED_ARCHS"
# Fail fast, give priority to the error-prone tests
if [[ $OSTYPE == "linux-"* ]]; then
python3 tests/run_tests.py -vr2 -t1 -k "paddle" -a "$TI_WANTED_ARCHS"
fi
python3 tests/run_tests.py -vr2 -t4 -k "not paddle" -a "$TI_WANTED_ARCHS"
fi
else
# Split per arch to increase parallelism for linux GPU tests
if [[ $TI_WANTED_ARCHS == *"cuda"* ]]; then
python3 tests/run_tests.py -vr2 -t4 -k "not torch" -a cuda
python3 tests/run_tests.py -vr2 -t4 -k "not torch and not paddle" -a cuda
fi
if [[ $TI_WANTED_ARCHS == *"cpu"* ]]; then
python3 tests/run_tests.py -vr2 -t8 -k "not torch" -a cpu
python3 tests/run_tests.py -vr2 -t8 -k "not torch and not paddle" -a cpu
fi
if [[ $TI_WANTED_ARCHS == *"vulkan"* ]]; then
python3 tests/run_tests.py -vr2 -t8 -k "not torch" -a vulkan
python3 tests/run_tests.py -vr2 -t8 -k "not torch and not paddle" -a vulkan
fi
if [[ $TI_WANTED_ARCHS == *"opengl"* ]]; then
python3 tests/run_tests.py -vr2 -t4 -k "not torch" -a opengl
python3 tests/run_tests.py -vr2 -t4 -k "not torch and not paddle" -a opengl
fi
python3 tests/run_tests.py -vr2 -t1 -k "torch" -a "$TI_WANTED_ARCHS"
# Paddle's paddle.fluid.core.Tensor._ptr() is only available on develop branch, and CUDA version on linux will get error `Illegal Instruction`
fi
1 change: 0 additions & 1 deletion .github/workflows/scripts/win_build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ python -m venv venv
. venv\Scripts\activate.ps1
python -m pip install wheel
python -m pip install -r requirements_dev.txt
python -m pip install -r requirements_test.txt
if (-not $?) { exit 1 }
WriteInfo("Building Taichi")
$env:TAICHI_CMAKE_ARGS += " -DCLANG_EXECUTABLE=$libsDir\\taichi_clang\\bin\\clang++.exe"
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/scripts/win_test.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,24 @@ pip install -r requirements_test.txt
# TODO relax this when torch supports 3.10
if ("$env:TI_WANTED_ARCHS".Contains("cuda")) {
pip install "torch==1.10.1+cu113; python_version < '3.10'" -f https://download.pytorch.org/whl/cu113/torch_stable.html
pip install "paddlepaddle-gpu==0.0.0.post112; python_version < '3.10'" -f https://www.paddlepaddle.org.cn/whl/windows/gpu/develop.html
} else {
pip install "torch; python_version < '3.10'"
pip install "paddlepaddle==0.0.0; python_version < '3.10'" -f https://www.paddlepaddle.org.cn/whl/windows/cpu-mkl-avx/develop.html
}
# Fail fast, give priority to the error-prone tests
python tests/run_tests.py -vr2 -t1 -k "paddle" -a "$env:TI_WANTED_ARCHS"
if ("$env:TI_WANTED_ARCHS".Contains("cuda")) {
python tests/run_tests.py -vr2 -t4 -k "not torch" -a cuda
python tests/run_tests.py -vr2 -t4 -k "not torch and not paddle" -a cuda
if (-not $?) { exit 1 }
}
if ("$env:TI_WANTED_ARCHS".Contains("cpu")) {
python tests/run_tests.py -vr2 -t6 -k "not torch" -a cpu
python tests/run_tests.py -vr2 -t6 -k "not torch and not paddle" -a cpu
if (-not $?) { exit 1 }
}
if ("$env:TI_WANTED_ARCHS".Contains("opengl")) {
python tests/run_tests.py -vr2 -t4 -k "not torch" -a opengl
python tests/run_tests.py -vr2 -t4 -k "not torch and not paddle" -a opengl
if (-not $?) { exit 1 }
}
python tests/run_tests.py -vr2 -t2 -k "torch" -a "$env:TI_WANTED_ARCHS"
python tests/run_tests.py -vr2 -t1 -k "torch" -a "$env:TI_WANTED_ARCHS"
if (-not $?) { exit 1 }
54 changes: 54 additions & 0 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -415,3 +415,57 @@ jobs:
PY: ${{ matrix.python }}
PLATFORM: 'm1'
TI_CI: 1

build_libtaichi_export:
name: Build libtaichi_export.so(GPU)
needs: check_files
runs-on: [self-hosted, cuda, vulkan, cn]
timeout-minutes: 60
strategy:
matrix:
include:
- os: ubuntu-latest
python: py39
with_cc: ON
permissions:
packages: read
contents: read
steps:
- uses: actions/checkout@v2
with:
submodules: "recursive"

- name: Get sccache cache
uses: actions/cache@v2
with:
path: sccache_cache
key: sccache-linux-${{matrix.with_cc}}-${{ github.sha }}
restore-keys: |
sccache-linux-${{matrix.with_cc}}-

- name: Build For Desktop
run: |
if [[ ${{needs.check_files.outputs.run_job}} == false ]]; then
exit 0
fi
docker create --user dev --name taichi_build_desktop --gpus all -v /tmp/.X11-unix:/tmp/.X11-unix \
-e PY -e GPU_BUILD -e PROJECT_NAME -e TAICHI_CMAKE_ARGS -e DISPLAY -e EXPORT_CORE\
registry.taichigraphics.com/taichidev-ubuntu18.04:v0.3.0 \
/home/dev/taichi/.github/workflows/scripts/unix_build.sh
# A tarball is needed because sccache needs some permissions that only the file owner has.
# 1000 is the uid and gid of user "dev" in the container.
# If the uid or gid of the user inside the docker changes, please change the uid and gid in the following line.
tar -cf - ../${{ github.event.repository.name }} --mode u=+rwx,g=+rwx,o=+rwx --owner 1000 --group 1000 | docker cp - taichi_build_desktop:/home/dev/
docker start -a taichi_build_desktop
env:
PY: ${{ matrix.python }}
GPU_BUILD: ON
PROJECT_NAME: taichi
TAICHI_CMAKE_ARGS: -DTI_WITH_VULKAN:BOOL=ON -DTI_WITH_CUDA:BOOL=OFF -DTI_WITH_OPENGL:BOOL=OFF -DTI_WITH_LLVM:BOOL=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DTI_EXPORT_CORE:BOOL=ON
EXPORT_CORE: 1
DISPLAY: :1

- name: clean docker container
if: always()
run: |
docker rm taichi_build_desktop -f
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,4 @@ _build
!docs/**/*.json
imgui.ini
/venv/
/_skbuild/
12 changes: 7 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,32 +1,34 @@
ci:
autoupdate_schedule: quarterly
autoupdate_commit_msg: '[misc] Update pre-commit hooks'

exclude: ^((tests/python/test_exception|.*/examples/.*)\.py$|external/)
repos:
- repo: https://github.com/google/yapf
rev: v0.31.0
rev: v0.32.0
hooks:
- id: yapf
additional_dependencies: [toml]

- repo: https://github.com/timothycrosley/isort
- repo: https://github.com/PyCQA/isort
rev: 5.10.1
hooks:
- id: isort

- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v10.0.1
rev: v13.0.1
hooks:
- id: clang-format
exclude: .*\.json$

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
rev: v4.1.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer

- repo: https://github.com/PyCQA/pylint
rev: v2.13.1
rev: v2.13.4
hooks:
- id: pylint
args: ['-rn', '-sn']
Expand Down
15 changes: 3 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
# The Taichi Programming Language
#*********************************************************************

cmake_minimum_required(VERSION 3.12)
cmake_minimum_required(VERSION 3.13)

project(taichi)

if (NOT DEFINED TI_VERSION_MAJOR)
message(WARNING "It seems that you are running cmake manually, which may cause issues. Please use setup.py to build taichi from source, see https://docs.taichi.graphics/lang/articles/dev_install for more details.")
message(WARNING "It seems that you are running cmake manually, which may cause issues. Please use setup.py to build taichi from source, see https://docs.taichi-lang.org/lang/articles/dev_install for more details.")
set(TI_VERSION_MAJOR 0)
set(TI_VERSION_MINOR 0)
set(TI_VERSION_PATCH 0)
Expand Down Expand Up @@ -49,7 +49,6 @@ else ()
endif ()

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build")

find_program(CCACHE_PROGRAM ccache)
if(CCACHE_PROGRAM)
Expand Down Expand Up @@ -149,15 +148,7 @@ if (${CLANG_VERSION_MAJOR} VERSION_GREATER ${CLANG_HIGHEST_VERSION})
endif()
endif()

# Build llvm-runtime for host arch and cuda (if available)
foreach(arch IN LISTS HOST_ARCH CUDA_ARCH)
add_custom_target(
"generate_llvm_runtime_${arch}"
COMMAND ${CLANG_EXECUTABLE} ${CLANG_OSX_FLAGS} -c runtime.cpp -o "runtime_${arch}.bc" -fno-exceptions -emit-llvm -std=c++17 -D "ARCH_${arch}" -I ${PROJECT_SOURCE_DIR};
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/taichi/runtime/llvm"
)
add_dependencies(${CORE_LIBRARY_NAME} "generate_llvm_runtime_${arch}")
endforeach()
add_subdirectory(taichi/runtime/llvm)

configure_file(taichi/common/version.h.in ${CMAKE_SOURCE_DIR}/taichi/common/version.h)
configure_file(taichi/common/commit_hash.h.in ${CMAKE_SOURCE_DIR}/taichi/common/commit_hash.h)
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Contributing Guide

Thank you for your interest in contributing to Taichi! Please check out the [Contribution Guidelines](https://docs.taichi.graphics/lang/articles/contributor_guide) for how to make a contribution.
Thank you for your interest in contributing to Taichi! Please check out the [Contribution Guidelines](https://docs.taichi-lang.org/lang/articles/contributor_guide) for how to make a contribution.

All contributors are expected to follow the [code of conduct](https://github.com/taichi-dev/taichi/blob/master/CODE_OF_CONDUCT.md).

## Developer installation

Taichi is developed mainly in C++17 and Python3. Please check out the [Developer Installation](https://docs.taichi.graphics/lang/articles/dev_install) to build Taichi from source. Note that Taichi is LLVM-10.0.0 dependent and that we recommend installing [our pre-built LLVM libraries](https://docs.taichi.graphics/lang/articles/dev_install#install-llvm) for your platform.
Taichi is developed mainly in C++17 and Python3. Please check out the [Developer Installation](https://docs.taichi-lang.org/lang/articles/dev_install) to build Taichi from source. Note that Taichi is LLVM-10.0.0 dependent and that we recommend installing [our pre-built LLVM libraries](https://docs.taichi-lang.org/lang/articles/dev_install#install-llvm) for your platform.

## Contribution opportunities

Expand Down
5 changes: 0 additions & 5 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
include MANIFEST.in
include version.txt
include python/*.txt
include python/*.py
include *.cfg
include python/taichi/*.md
recursive-include python/taichi/assets *
recursive-include python/taichi/examples *.py
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ The language has broad applications spanning real-time physical simulation, numb
## Why Taichi?

- Built around Python: Taichi shares almost the same syntax with Python, allowing you to write algorithms with minimal language barrier. It is also well integrated into the Python ecosystem, including NumPy and PyTorch.
- Flexibility: Taichi provides a set of generic data containers known as *SNode* (/ˈsnoʊd/), an effective mechanism for composing hierarchical, multi-dimensional fields. This can cover many use patterns in numerical simulation (e.g. [spatially sparse computing](https://docs.taichi.graphics/lang/articles/sparse)).
- Flexibility: Taichi provides a set of generic data containers known as *SNode* (/ˈsnoʊd/), an effective mechanism for composing hierarchical, multi-dimensional fields. This can cover many use patterns in numerical simulation (e.g. [spatially sparse computing](https://docs.taichi-lang.org/lang/articles/sparse)).
- Performance: With the `@ti.kernel` decorator, Taichi's JIT compiler automatically compiles your Python functions into efficient GPU or CPU machine code for parallel execution.
- Portability: Write your code once and run it everywhere. Currently, Taichi supports most mainstream GPU APIs, such as CUDA and Vulkan.
- ... and many more features! A cross-platform, Vulkan-based 3D visualizer, [differentiable programming](https://docs.taichi.graphics/lang/articles/differentiable_programming), [quantized computation](https://github.com/taichi-dev/quantaichi) (experimental), etc.
- ... and many more features! A cross-platform, Vulkan-based 3D visualizer, [differentiable programming](https://docs.taichi-lang.org/lang/articles/differentiable_programming), [quantized computation](https://github.com/taichi-dev/quantaichi) (experimental), etc.

## Getting Started

Expand Down Expand Up @@ -120,17 +120,17 @@ for i in range(1000000):

<a href="https://github.com/taichi-dev/taichi/blob/master/python/taichi/examples/simulation/fractal.py#L1-L31"> </a><img src="https://raw.githubusercontent.com/taichi-dev/public_files/master/taichi/fractal_small.gif" height="270px">

See [Get started](https://docs.taichi.graphics) for more information.
See [Get started](https://docs.taichi-lang.org) for more information.

### Build from source

If you wish to try our our experimental features or build Taichi for your own environments, see [Developer installation](https://docs.taichi.graphics/lang/articles/dev_install).
If you wish to try our our experimental features or build Taichi for your own environments, see [Developer installation](https://docs.taichi-lang.org/lang/articles/dev_install).

## Documentation

- [Technical documents](https://docs.taichi.graphics/)
- [API Reference](https://docs.taichi.graphics/api/)
- [Blog](https://docs.taichi.graphics/blog)
- [Technical documents](https://docs.taichi-lang.org/)
- [API Reference](https://docs.taichi-lang.org/api/)
- [Blog](https://docs.taichi-lang.org/blog)

## Contributing

Expand Down
2 changes: 1 addition & 1 deletion benchmarks/microbenchmarks/_items.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def __init__(self):
class MathOps(BenchmarkItem):
name = 'math_op'

#reference: https://docs.taichi.graphics/lang/articles/operator
#reference: https://docs.taichi-lang.org/lang/articles/operator
def __init__(self):
self._items = {
# Trigonometric
Expand Down
Loading