-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Upgrade taichi to use LLVM15 #6447
Comments
|
|
…6458) Issue: #6447 ### Brief Summary Previously we inject some cuda kernel metadata after linking, that was problematic since when you modify metadata for a llvm::Function you'll have to use the exactly same LLVMContext it was created in. Thus we failed verifyModule check from LLVM15. And we happened to only TI_WARN there so didn't notice this issue. ![Screenshot from 2022-10-26 17-10-43](https://user-images.githubusercontent.com/5248122/198422336-fd4ed5e8-aa3c-4baf-841a-95bba5c148e0.png) This PR fixes it by moving the mark as CUDA step up to parallel compilation so that it was guaranteed to be in the same LLVMContext.
Issue: #6447 ### Brief Summary Just trying my luck in CI since my local mac is on macOS12.
Issue: #6447 ### Brief Summary Deleting this job first since we're almost there, deleting this one can make the windows queue shorter.
Issue: #6447 ### Brief Summary Getting closer...
Issue: #6447 ### Brief Summary Updating links in dev install doc. Nit: we still depend on clang-10/clang-11 to produce runtime.bc files and that part will be updated once those are cleaned up.
For taichi devs, if you hit any issues with this option, please turn it off temporarily and open an issue. Issue: #6447 ### Brief Summary There're a few followup cleanups after PR but let's turn it on by default to shake out all the problems.
FYI #6649 turned on TI_LLVM_15 by default, we'll make sure nightly runs well and then remove all the Other tasks I'm looking into atm:
|
Issue: #6447 ### Brief Summary Got the following error message when building manylinux2014 wheel since the base docker image doesn't have `unzip`: ``` 2022-11-18T06:14:27.6476325Z + unzip taichi-llvm-15-linux.zip 2022-11-18T06:14:27.6485595Z /home/dev/taichi/.github/workflows/scripts/unix-build.sh: line 13: unzip: command not found ``` reference log: https://pipelines.actions.githubusercontent.com/serviceHosts/ebf0abad-1193-4ff9-9c60-da990d1eacd9/_apis/pipelines/1/runs/56327/signedlogcontent/20?urlExpires=2022-11-18T06%3A42%3A59.6939664Z&urlSigningMethod=HMACV1&urlSignature=pRp%2BtWL7jg6DXBr5bfgq0r5KqUwjrJ6bAM4WAXwP5S0%3D
FYI I'd consider LLVM15 upgrade is done at this point. There're two followups that might be helpful but with lower priority:
I'll open separate issues to track these followups. |
Issue: taichi-dev#6447 ### Brief Summary Just trying my luck in CI since my local mac is on macOS12.
Issue: taichi-dev#6447 ### Brief Summary Deleting this job first since we're almost there, deleting this one can make the windows queue shorter.
Issue: taichi-dev#6447 ### Brief Summary Getting closer...
Issue: taichi-dev#6447 ### Brief Summary Updating links in dev install doc. Nit: we still depend on clang-10/clang-11 to produce runtime.bc files and that part will be updated once those are cleaned up.
For taichi devs, if you hit any issues with this option, please turn it off temporarily and open an issue. Issue: taichi-dev#6447 ### Brief Summary There're a few followup cleanups after PR but let's turn it on by default to shake out all the problems.
Issue: taichi-dev#6447 ### Brief Summary Got the following error message when building manylinux2014 wheel since the base docker image doesn't have `unzip`: ``` 2022-11-18T06:14:27.6476325Z + unzip taichi-llvm-15-linux.zip 2022-11-18T06:14:27.6485595Z /home/dev/taichi/.github/workflows/scripts/unix-build.sh: line 13: unzip: command not found ``` reference log: https://pipelines.actions.githubusercontent.com/serviceHosts/ebf0abad-1193-4ff9-9c60-da990d1eacd9/_apis/pipelines/1/runs/56327/signedlogcontent/20?urlExpires=2022-11-18T06%3A42%3A59.6939664Z&urlSigningMethod=HMACV1&urlSignature=pRp%2BtWL7jg6DXBr5bfgq0r5KqUwjrJ6bAM4WAXwP5S0%3D
Thanks to @python3kgae we have pretty nice LLVM15 compatible code across the codebase now. And using an old version of LLVM (LLVM10) have limited us from applying advanced optimizations as well as adapting to newer hardware. So we're planning to upgrade taichi to depend on LLVM15. The overall process is kinda simple, fix the failed tests and enable TI_LLVM_15 in every CI job we have, and finally remove all the
ifdef TI_LLVM_15
in the codebase.A rough list of tasks:
.bc
files? ([build] Support any clang<=15 as CLANG_EXECUTABLE #6678)ifdef TI_LLVM_15
! ([build] Delete all llvm10 code and TI_LLVM_15 macro #6685)The text was updated successfully, but these errors were encountered: