4 ms·
Taichi: Productive, portable, and performant GPU programming in Python
- OutOfHere 2y agoI strongly recommend against using taichi because it doesn't support Python 3.12. Even if they add support now, they have already demonstrated a disinterest in keeping up with Python, unfairly blaming it on Pytorch. Note that Pytorch itself supports 3.12 just fine. If you have an Nvidia CUDA GPU, consider https://github.com/NVIDIA/warp https://github.com/NVIDIA/warp instead.
- lastdong 2y agoThank you for sharing!
- pjmlp 2y agoAdditionally there is ongoing work for generating MLIR NVGPU from Python, see "Zero to Hero: Programming Nvidia Hopper Tensor Core with MLIR's NVGPU Dialect" from 2024 EuroLLVM. https://www.youtube.com/watch?v=V3Q9IjsgXvA https://www.youtube.com/watch?v=V3Q9IjsgXvA NVidia not only made CUDA great for C, C++, Fortran, and any language with a PTX backend, they are now adding a couple of Python frameworks as DSL for GPU JITs into the mix. Meanwhile competition is too busy trying to replicate CUDA C without the ecosystem.
- almostgotcaught 2y ago> Additionally there is ongoing work for generating MLIR NVGPU from Python This isn't on-going work - this is my work from last year. I'm not Guray but I'm one of the people that built out the python bindings in MLIR (and I helped him with his demo). I'm not doing it anymore except for ~once every 3 months (and that's mostly some small fix). Also note the PTX emission in LLVM is far behind what NVIDIA has internally.
- pjmlp 2y agoThanks for the clarification, and it looks great by the way.
- OutOfHere 2y agoIn fairness, I think replicating CUDA is the essential foundation of allowing tooling to run without much change.
- pjmlp 2y agoAs long as people don't fool themselves that doing that for CUDA C, or even CUDA C++, without everything else in regards to programming languages, IDE tooling, graphical debuggers, compute and graphical libraries, is enough.
- deleted 2y ago[deleted]
- almostgotcaught 2y ago[flagged]
- OutOfHere 2y agoI really don't, but it is evident that you have a vendetta against me. I have no conflict of interest. I have simply come to the logical conclusion that it's a hazardous to stick to use it if you don't want to be stuck on an old version of Python.
- almostgotcaught 2y agoThere's a phrase I heard somewhere that fits perfectly here: you're not the victim here, you're just starting a fight and then losing that fight.
- OutOfHere 2y agoThe fight is in your mind. I have shared the facts, the reasoning, which others can see plainly. Unlike you, I don't view it as an emotional decision, but a pragmatic one.
- almostgotcaught 2y agoYou got a detailed response from me in the last thread about how your facts are merely "facts" and you continue to repeat these "facts". Not sure how one could infer anything here other then bad faith on your part.
- OutOfHere 2y agoPytorch has supported Python 3.12 for a month, but Taichi has held back support citing excuses. Ergo, everyone can plainly see that the lie is all yours.
- sitkack 2y agoTaichi is phenomenal, it supports Apple Silicon/Metal and the perf is great.
- Archit3ch 2y agoEven on iPad/iOS? I assume it would run into the no-JIT restriction. A quick search reveals an AOT option for Taichi, has anyone tried this?
- ladberg 2y agoIdk about this particular library but the no-jit restriction wouldn't apply to GPU code where pretty much every platform is always jitting the code, and shipping AOT-compiled code is often the exception.
- atorodius 2y agoLooks cool! I have been trying to do some rendering stuff in Python but never found a framework suitable for me