Taichi 计算加速 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
wizardyhnr
V2EX    Python

Taichi 计算加速

  •  
  •   wizardyhnr 2023-04-25 02:06:31 +08:00 2134 次点击
    这是一个创建于 903 天前的主题,其中的信息可能已经有所发展或是发生改变。

    无意间发现 Taichi 计算加速还挺快的。官网例子如下。不知道更复杂的案例效果怎么样。

    #!/usr/bin/env python #prime_taichi.py import taichi as ti ti.init(arch=ti.gpu) @ti.func def is_prime(n: int): result = True for k in range(2, int(n ** 0.5) + 1): if n % k == 0: result = False break return result @ti.kernel def count_primes(n: int) -> int: count = 0 for k in range(2, n): if is_prime(k): count += 1 return count 
    #!/usr/bin/env python #test.py """Count the prime numbers in the range [1, n] """ from prime_taichi import count_primes import time start: int = time.time() print(count_primes(10000000)) print(time.time()-start) 

    #Taichi 版本,笔记本 2070S

    [Taichi] version 1.5.0, llvm 15.0.4, commit 7b885c28, linux, python 3.10.6 [Taichi] Starting on arch=cuda 664579 0.20201754570007324 

    #纯 Python 版本

    664579 83.8845808506012 
    5 条回复    2023-04-25 14:23:14 +08:00
    dayeye2006199
        1
    dayeye2006199  
       2023-04-25 02:20:26 +08:00
    这个和 numba 之类的是否有相似之处?
    wizardyhnr
        2
    wizardyhnr  
    OP
       2023-04-25 02:38:19 +08:00
    都是 JIT 加速,性能好像比 numba 好不少。
    file:///dev/shm/performance-comparisons-for-python-libraries-in-parallel-computing-and-physical-simulation-1.pdf
    https://docs.taichi-lang.org/blog/taichi-compared-to-cub-cupy-numba
    huoshen
        3
    huoshen  
       2023-04-25 02:46:06 +08:00
    Taichi 是能加速, 因为运行的时候不是 python 了, 是他编译的静态语言, 但限制挺多的, 有些不支持递归, 有的不支持嵌套, 有的并行运行, 会导致额外的非原子内存操作导致数据不一致. 想额外吐槽一下 Taichi, 这学期上的一个 CG 课, 教授指定用的就是 Taichi, 官网上文档都不全, 然后各种 Machine dependent bug 搞得我心态都快炸了.
    t133
        4
    t133  
       2023-04-25 08:42:07 +08:00
    taichi 跟 jax 哪个快有没有都用过的
    oldshensheep
        5
    oldshensheep  
       2023-04-25 14:23:14 +08:00
    怎么不试试神奇的 GraalVM ,用 GraalVM 直接运行 Python 文件:
    664579
    8.049000024795532
    用 CPython 运行:
    664579
    115.89525604248047
    GraalVM 不能使用 GPU 加速,实验在甲骨文的 ARM 服务器上运行,快了十几倍
    优点就是不用改代码,不过不能使用 GPU
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3721 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 05:07 PVG 13:07 LAX 22:07 JFK 01:07
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86