体验 Taichi(太极)编程语言
Basic
Taichi(太极)是一种用于高性能数值计算的并行编程语言。它嵌入在
Python中,其即时编译器将计算密集型任务卸载到多核CPU和大规模并行GPU。
GitHub: https://github.com/taichi-dev/taichi
Install
Currently, Taichi only supports Python 3.6/3.7/3.8/3.9 (64-bit).
# install python
brew install python
# install taichi
python3 -m pip install taichi
Taichi Examples
➜ ~ ti example -h
[Taichi] version 0.8.10, llvm 10.0.0, commit 016feb38, osx, python 3.9.8
*******************************************
** Taichi Programming Language **
*******************************************
Docs: https://docs.taichi.graphics/
GitHub: https://github.com/taichi-dev/taichi/
Forum: https://forum.taichi.graphics/
usage: ti example [-h] [-p] [-P] [-s]
{ad_gravity,comet,cornell_box,euler,explicit_activation,export_mesh,export_ply,export_videos,fem128,fem128_ggui,fem99,fractal,fractal3d_ggui,fullscreen,game_of_life,gui_image_io,gui_widgets,implicit_mass_spring,inital_value_problem,keyboard,laplace,marching_squares,mass_spring_3d_ggui,mass_spring_game,mass_spring_game_ggui,mciso_advanced,mgpcg,mgpcg_advanced,minimal,minimization,mpm128,mpm128_ggui,mpm3d,mpm3d_ggui,mpm88,mpm99,mpm_lagrangian_forces,nbody,odop_solar,pbf2d,physarum,print_offset,rasterizer,regression,sdf_renderer,simple_derivative,simple_uv,stable_fluid,stable_fluid_ggui,taichi_bitmasked,taichi_dynamic,taichi_logo,taichi_sparse,tutorial,vortex_rings,waterwave}
Run an example by name (or name.py)
Autodiff gravity
编程语言/ad_gravity.png)
ti example ad_gravity
Comet
编程语言/comet.png)
ti example comet
Cornell Box
编程语言/cornell_box.png)
ti example cornell_box
Euler equations
编程语言/euler.png)
ti example euler
Encounter error:
- ModuleNotFoundError: No module named ‘matplotlib’
- solution:
python3 -m pip install matplotlib
- solution:
Explicit activation
编程语言/explicit_activation.png)
ti example explicit_activation
export_mesh
ti example export_mesh
Encounter error:
- Unknown type foo_data_type detected, skipping this channel
Export ply
编程语言/export_ply.png)
ti example export_ply
export_videos
ti example export_videos
Encounter error:
- FileNotFoundError: [Errno 2] No such file or directory: ‘palette.png’
FEM128
编程语言/fem128.png)
ti example fem128
fem128_ggui
ti example fem128_ggui
Encounter error:
- Exception: GGUI Not Available
FEM99
编程语言/fem99.png)
ti example fem99
Fractal - Julia Set
编程语言/fractal.png)
ti example fractal
fractal3d_ggui
ti example fractal3d_ggui
Encounter error:
- Exception: GGUI Not Available
Full screen
编程语言/fullscreen.png)
ti example fullscreen
Game of life
编程语言/game_of_life.png)
ti example game_of_life
GUI image IO - Random Generated
编程语言/gui_image_io.png)
ti example gui_image_io
GUI widgets
编程语言/gui_widgets.png)
ti example gui_widgets
Implicit mass spring system
编程语言/implicit_mass_spring.png)
ti example implicit_mass_spring
inital_value_problem
ti example inital_value_problem
Encounter error:
- RuntimeError: [kernel_utils.cpp:KernelContextAttributes@88] Metal kernel only supports <= 32-bit data, got double
Keyboard
编程语言/keyboard.png)
ti example keyboard
Laplace
编程语言/laplace.png)
ti example laplace
Marching squares
编程语言/marching_squares.png)
ti example marching_squares
mass_spring_3d_ggui
ti example mass_spring_3d_ggui
Encounter error:
- Exception: GGUI Not Available
Explicit mass spring system
编程语言/mass_spring_game.png)
ti example mass_spring_game
mass_spring_game_ggui
ti example mass_spring_game_ggui
Encounter error:
- Exception: GGUI Not Available
mciso_advanced
ti example mciso_advanced
Encounter error:
mgpcg
编程语言/mgpcg.png)
ti example mgpcg
mgpcg advanced
编程语言/mgpcg_advanced.png)
ti example mgpcg_advanced
minimal
编程语言/minimal.png)
ti example minimal
minimization
编程语言/minimization.png)
ti example minimization
MPM128
编程语言/mpm128.png)
ti example mpm128
mpm128_ggui
ti example mpm128_ggui
Encounter error:
- Exception: GGUI Not Available
MPM3d
编程语言/mpm3d.png)
ti example mpm3d
mpm3d_ggui
ti example mpm3d_ggui
Encounter error:
- Exception: GGUI Not Available
MPM88
编程语言/mpm88.png)
ti example mpm88
mpm99
编程语言/mpm99.png)
ti example mpm99
MPM lagrangian forces
编程语言/mpm_lagrangian_forces.png)
ti example mpm_lagrangian_forces
N-body problem
编程语言/nbody.png)
ti example nbody
Odop Solar
编程语言/odop_solar.png)
ti example odop_solar
PBF2D
编程语言/pbf2d.png)
ti example pbf2d
Physarum
编程语言/physarum.png)
ti example physarum
Print Offset - Layout
编程语言/print_offset.png)
ti example print_offset
Rasterizer
编程语言/rasterizer.png)
ti example rasterizer
Regression
编程语言/regression.png)
ti example regression
SDF renderer - SDF Path Tracer
编程语言/sdf_renderer.png)
ti example sdf_renderer
Simple derivative
编程语言/simple_derivative.png)
ti example simple_derivative
Simple UV
编程语言/simple_uv.png)
ti example simple_uv
Stable fluid
编程语言/stable_fluid.png)
ti example stable_fluid
stable_fluid_ggui
ti example stable_fluid_ggui
Encounter error:
- Exception: GGUI Not Available
Taichi bitmasked
编程语言/taichi_bitmasked.png)
ti example taichi_bitmasked
Taichi dynamic
编程语言/taichi_dynamic.png)
ti example taichi_dynamic
Taichi logo
编程语言/taichi_logo.png)
ti example taichi_logo
Taichi sparse
编程语言/taichi_sparse.png)
ti example taichi_sparse
tutorial
编程语言/tutorial.png)
ti example tutorial
Vortex rings
编程语言/vortex_rings.png)
ti example vortex_rings
Water waves
编程语言/waterwave.png)
ti example waterwave