Skip to content

Conversation

johnnynunez
Copy link
Contributor

I open this PR if anyone want to use my fork
thanks to sonicflux fork also

454040244-f87ae1b3-b55f-4b6e-b385-8163a0009008.mp4

johnnynunez and others added 30 commits May 8, 2025 14:33
* [update] Upgrade Vulkan SDK to version 1.4.309.0 and add support for ARM64 on Linux

* [update] Refactor ImGui Vulkan integration for compatibility with version ≥ 1.90

* [logging] Include ranges header from spdlog for enhanced formatting capabilities
* [update] Upgrade Vulkan SDK to version 1.4.309.0 and add support for ARM64 on Linux

* [update] Refactor ImGui Vulkan integration for compatibility with version ≥ 1.90

* [logging] Include ranges header from spdlog for enhanced formatting capabilities

* Update vulkan.py
…TX handling, and implement new pass manager setup
@johnnynunez
Copy link
Contributor Author

@feisuzhu @yuanming-hu you can copy my files from here to merge for blackwell

@johnnynunez johnnynunez mentioned this pull request Jul 1, 2025
@johnnynunez johnnynunez changed the title Blackwell Support LLVM20 + ARM Support [build] Blackwell Support LLVM20 + ARM Support Jul 2, 2025
@Paulo-21
Copy link

Hello, thank you for your work !
i m trying to use your branch but i have struggle to compile your branch with CUDA TOOLKIT flag enable .
I tried to compile it with cuda 12.9 but failed.
Do you think taichi is compatible with recent cuda version ?
TY

@johnnynunez
Copy link
Contributor Author

Hello, thank you for your work ! i m trying to use your branch but i have struggle to compile your branch with CUDA TOOLKIT flag enable . I tried to compile it with cuda 12.9 but failed. Do you think taichi is compatible with recent cuda version ? TY

yes it is, i have it running in jetson and gh200

@Paulo-21
Copy link

Paulo-21 commented Jul 21, 2025

Ho so cool !
Would it be possible for you to explain me how did you buid or use cuda 12.9 for build taichi kernel for you recent nvidia gpu ?
I have a RTX 6000 ada, and i feel it's not used to it full potential because taichi use cuda 10.0.
I was able to build taichy with llvm 20.1.8 and when i print debug it show llvm : 20.1.8 succesfully.

I have see that maybe i have to replace slim_libdevice.10.bc with my 12.9 version. but i have struggle to find it.

import taichi as ti
ti.init(arch=ti.cuda)
print("CUDA version :", ti._lib.core._cuda_version())

This show cuda 10
Is it the right way ?
TY

@Paulo-21
Copy link

And every time i tried to compile with TI_WITH_CUDA_TOOLKIT flag ON and with cuda toolkit 12.9
I have this :

The error Trace
FAILED: taichi/codegen/spirv/CMakeFiles/spirv_codegen.dir/spirv_codegen.cpp.o
      /usr/bin/clang++-20  -I/tmp/pip-build-env-p4ho7jse/overlay/lib/python3.12/site-packages/numpy/_core/include -I/home/paul/taichi-new -I/home/paul/taichi-new/external/eigen -I/home/paul/taichi-new/external/include -I/home/paul/taichi-new/external/SPIRV-Headers/include -I/home/paul/taichi-new/external/SPIRV-Reflect -I/home/paul/taichi-new/external/FP16/include -I/usr/lib/llvm-20/include -I/home/paul/taichi-new/external/spdlog/include -I/home/paul/taichi-new/external/SPIRV-Tools/include -ffunction-sections -fdata-sections -DTI_ISE_NONE -std=c++17 -fsized-deallocation -Wno-deprecated-declarations -Wno-shorten-64-to-32 -Wall  -Werror  -Wno-ignored-attributes  -Wno-nullability-completeness  -Wno-unused-private-field  -Wno-unneeded-internal-declaration  -Wno-unqualified-std-cast-call  -Wno-unused-but-set-variable  -DTI_ARCH_x64 -march=nehalem -DTI_PASS_EXCEPTION_TO_PYTHON -DTI_INCLUDED -DTI_WITH_LLVM -DTI_WITH_CUDA -DTI_WITH_OPENGL -DTI_WITH_CUDA_TOOLKIT -O3 -DNDEBUG -std=gnu++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fcolor-diagnostics   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MD -MT taichi/codegen/spirv/CMakeFiles/spirv_codegen.dir/spirv_codegen.cpp.o -MF taichi/codegen/spirv/CMakeFiles/spirv_codegen.dir/spirv_codegen.cpp.o.d -o taichi/codegen/spirv/CMakeFiles/spirv_codegen.dir/spirv_codegen.cpp.o -c /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:8:53: error: use of undeclared identifier 'cusolverSpHandle_t'
          8 | PER_CUSOLVER_FUNCTION(csSpCreate, cusolverSpCreate, cusolverSpHandle_t * );
            |                                                     ^
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:8:1: error: expected expression
          8 | PER_CUSOLVER_FUNCTION(csSpCreate, cusolverSpCreate, cusolverSpHandle_t * );
            | ^
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:33: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:9:55: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
          9 | PER_CUSOLVER_FUNCTION(csSpDestory, cusolverSpDestroy, cusolverSpHandle_t );
            |                                                       ^~~~~~~~~~~~~~~~~~
            |                                                       cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:10:67: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         10 | PER_CUSOLVER_FUNCTION(csSpXcsrissymHost, cusolverSpXcsrissymHost, cusolverSpHandle_t,int ,int ,const cusparseMatDescr_t ,const void *,const void *,const void *,void *);
            |                                                                   ^~~~~~~~~~~~~~~~~~
            |                                                                   cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:11:69: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         11 | PER_CUSOLVER_FUNCTION(csSpXcsrsymrcmHost, cusolverSpXcsrsymrcmHost, cusolverSpHandle_t ,int ,int ,const cusparseMatDescr_t ,const void *,const void *,void *);
            |                                                                     ^~~~~~~~~~~~~~~~~~
            |                                                                     cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:12:69: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         12 | PER_CUSOLVER_FUNCTION(csSpXcsrsymamdHost, cusolverSpXcsrsymamdHost, cusolverSpHandle_t ,int ,int ,const cusparseMatDescr_t ,const void *,const void *,void *);
            |                                                                     ^~~~~~~~~~~~~~~~~~
            |                                                                     cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:13:87: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         13 | PER_CUSOLVER_FUNCTION(csSpXcsrperm_bufferSizeHost, cusolverSpXcsrperm_bufferSizeHost, cusolverSpHandle_t ,int ,int ,int ,const cusparseMatDescr_t ,void *,void *,const void *,const void *,size_t *);
            |                                                                                       ^~~~~~~~~~~~~~~~~~
            |                                                                                       cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:14:65: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         14 | PER_CUSOLVER_FUNCTION(csSpXcsrpermHost, cusolverSpXcsrpermHost, cusolverSpHandle_t ,int ,int ,int ,const cusparseMatDescr_t ,void *,void *,const void *,const void *,void *,void *);
            |                                                                 ^~~~~~~~~~~~~~~~~~
            |                                                                 cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:15:71: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         15 | PER_CUSOLVER_FUNCTION(csSpScsrlsvcholHost, cusolverSpScsrlsvcholHost, cusolverSpHandle_t ,int ,int ,const cusparseMatDescr_t ,const void *,const void *,const void *,const void *,float ,int ,void *,void *);
            |                                                                       ^~~~~~~~~~~~~~~~~~
            |                                                                       cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:18:75: error: use of undeclared identifier 'csrcholInfo_t'
         18 | PER_CUSOLVER_FUNCTION(csSpCreateCsrcholInfo, cusolverSpCreateCsrcholInfo, csrcholInfo_t*);
            |                                                                           ^
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:18:1: error: expected expression
         18 | PER_CUSOLVER_FUNCTION(csSpCreateCsrcholInfo, cusolverSpCreateCsrcholInfo, csrcholInfo_t*);
            | ^
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:33: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:19:77: error: unknown type name 'csrcholInfo_t'; did you mean 'csric02Info_t'?
         19 | PER_CUSOLVER_FUNCTION(csSpDestroyCsrcholInfo, cusolverSpDestroyCsrcholInfo, csrcholInfo_t);
            |                                                                             ^~~~~~~~~~~~~
            |                                                                             csric02Info_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:230:21: note: 'csric02Info_t' declared here
        230 | struct csric02Info* csric02Info_t CUSPARSE_DEPRECATED_TYPE;
            |                     ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:20:74: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         20 | PER_CUSOLVER_FUNCTION(csSpXcsrcholAnalysis, cusolverSpXcsrcholAnalysis,  cusolverSpHandle_t,int ,int ,const cusparseMatDescr_t , void *, void *,csrcholInfo_t );
            |                                                                          ^~~~~~~~~~~~~~~~~~
            |                                                                          cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:20:145: error: unknown type name 'csrcholInfo_t'; did you mean 'csric02Info_t'?
         20 | PER_CUSOLVER_FUNCTION(csSpXcsrcholAnalysis, cusolverSpXcsrcholAnalysis,  cusolverSpHandle_t,int ,int ,const cusparseMatDescr_t , void *, void *,csrcholInfo_t );
            |                                                                                                                                                 ^~~~~~~~~~~~~
            |                                                                                                                                                 csric02Info_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:230:21: note: 'csric02Info_t' declared here
        230 | struct csric02Info* csric02Info_t CUSPARSE_DEPRECATED_TYPE;
            |                     ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:21:78: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         21 | PER_CUSOLVER_FUNCTION(csSpScsrcholBufferInfo, cusolverSpScsrcholBufferInfo,  cusolverSpHandle_t ,int ,int ,const cusparseMatDescr_t ,void *,void *,void *,csrcholInfo_t ,size_t *,size_t *);
            |                                                                              ^~~~~~~~~~~~~~~~~~
            |                                                                              cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:21:155: error: unknown type name 'csrcholInfo_t'; did you mean 'csric02Info_t'?
         21 | PER_CUSOLVER_FUNCTION(csSpScsrcholBufferInfo, cusolverSpScsrcholBufferInfo,  cusolverSpHandle_t ,int ,int ,const cusparseMatDescr_t ,void *,void *,void *,csrcholInfo_t ,size_t *,size_t *);
            |                                                                                                                                                           ^~~~~~~~~~~~~
            |                                                                                                                                                           csric02Info_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:230:21: note: 'csric02Info_t' declared here
        230 | struct csric02Info* csric02Info_t CUSPARSE_DEPRECATED_TYPE;
            |                     ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:22:69: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         22 | PER_CUSOLVER_FUNCTION(csSpScsrcholFactor, cusolverSpScsrcholFactor, cusolverSpHandle_t ,int ,int ,const cusparseMatDescr_t ,void *,void *,void *,csrcholInfo_t ,void *);
            |                                                                     ^~~~~~~~~~~~~~~~~~
            |                                                                     cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:22:146: error: unknown type name 'csrcholInfo_t'; did you mean 'csric02Info_t'?
         22 | PER_CUSOLVER_FUNCTION(csSpScsrcholFactor, cusolverSpScsrcholFactor, cusolverSpHandle_t ,int ,int ,const cusparseMatDescr_t ,void *,void *,void *,csrcholInfo_t ,void *);
            |                                                                                                                                                  ^~~~~~~~~~~~~
            |                                                                                                                                                  csric02Info_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:230:21: note: 'csric02Info_t' declared here
        230 | struct csric02Info* csric02Info_t CUSPARSE_DEPRECATED_TYPE;
            |                     ^
      In file included from /home/paul/taichi-new/taichi/codegen/spirv/spirv_codegen.cpp:8:
      In file included from /home/paul/taichi-new/taichi/codegen/codegen_utils.h:2:
      In file included from /home/paul/taichi-new/taichi/program/program.h:29:
      In file included from /home/paul/taichi-new/taichi/program/sparse_matrix.h:8:
      In file included from /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:192:
      /home/paul/taichi-new/taichi/rhi/cuda/cusolver_functions.inc.h:23:75: error: unknown type name 'cusolverSpHandle_t'; did you mean 'cusparseHandle_t'?
         23 | PER_CUSOLVER_FUNCTION(csSpScsrcholZeroPivot, cusolverSpScsrcholZeroPivot, cusolverSpHandle_t, csrcholInfo_t ,float ,void *);
            |                                                                           ^~~~~~~~~~~~~~~~~~
            |                                                                           cusparseHandle_t
      /home/paul/taichi-new/taichi/rhi/cuda/cuda_driver.h:191:22: note: expanded from macro 'PER_CUSOLVER_FUNCTION'
        191 |   CUDADriverFunction<__VA_ARGS__> name;
            |                      ^
      /usr/local/cuda-12.9/include/cusparse.h:215:33: note: 'cusparseHandle_t' declared here
        215 | typedef struct cusparseContext* cusparseHandle_t;
            |                                 ^
      fatal error: too many errors emitted, stopping now [-ferror-limit=]
      20 errors generated.
      [440/647] Building CXX object taichi/codegen/spirv/CMakeFiles/spirv_codegen.dir/kernel_utils.cpp.o
      [441/647] Building CXX object taichi/codegen/spirv/CMakeFiles/spirv_codegen.dir/spirv_types.cpp.o
      [442/647] Building CXX object taichi/codegen/spirv/CMakeFiles/spirv_codegen.dir/spirv_ir_builder.cpp.o
      ninja: build stopped: subcommand failed.
      Traceback (most recent call last):
        File "/tmp/pip-build-env-p4ho7jse/overlay/lib/python3.12/site-packages/skbuild/setuptools_wrap.py", line 668, in setup
          cmkr.make(make_args, install_target=cmake_install_target, env=env)
        File "/tmp/pip-build-env-p4ho7jse/overlay/lib/python3.12/site-packages/skbuild/cmaker.py", line 696, in make
          self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
        File "/tmp/pip-build-env-p4ho7jse/overlay/lib/python3.12/site-packages/skbuild/cmaker.py", line 741, in make_impl
          raise SKBuildError(msg)
      
      An error occurred while building with CMake.
        Command:
          /tmp/pip-build-env-p4ho7jse/overlay/lib/python3.12/site-packages/cmake/data/bin/cmake --build . --target install --config Release -- -j4
        Install target:
          install
        Source directory:
          /home/paul/taichi-new
        Working directory:
          /home/paul/taichi-new/_skbuild/linux-x86_64-3.12/cmake-build
      Please check the install target is valid and see CMake's output for more information.
      
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants