-
Notifications
You must be signed in to change notification settings - Fork 2
Description
What feature or enhancement are you proposing?
Hello,
Since Genesis is heavily based on taichi, I noticed that it's based on cuda 10.0 (Sept 2018) with this code :
import taichi as ti
ti.init(arch=ti.cuda)
print("CUDA version :", ti._lib.core.cuda_version())
I think we could have a huge benefit by patching Taichi with a support for newer version of Cuda, like 12.x.
Motivation
I have a RTX 6000 (Ada) whitch is at least 10 times faster than my personnal 1070 GTX.
But when i run Genesis, the simulation is only 1.9x faster on the RTX 6000.
Potential Benefit
i saw that taichi use llvm 15 and cuda to generate GPU code,
Having a version of taichi with llvm 20 and cuda 12.x could have a huge benefit for user with recent graphics Card.
In the release note of cuda we can see than there is some update about routine in cuSolver and cuBLAS and in the nvidia compiler.
I think llvm 15 to 20 have receive some improvement too.
I cannot quantify the benefit but i think that by improving the way we compile and generate kernel code we can have a performance improvement.
What is the expected outcome of the implementation work?
Having better gpu code generation with a better use of the capabilities of ours novel GPU and newest research about routines from nvidia.
Genesis can be faster IMO.
Additional information
I have started to investigate and there a PR where someone started to patch Taichi to use LLVM 20.
When i tried to compile taichi with cuda-toolkit 12.9, with the docs informations I have some error about cuda function name that aren't reconized.
I have tried every version of cuda toolkit to build taichi with (12.9 -> 12.4 -> 11.8 -> 11.4 -> 11.1 -> 10.0 (normaly shipped with taichi))
but none of it worked and it seems that it's because someone in the last commit of this file used some preview cuda API who has never been released like this.
Best Regards,
Paul