@@ -131,6 +131,7 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
131131 # TPLs (alphabet order)
132132 variant ("adios2" , default = False , description = "Enable ADIOS2" )
133133 variant ("boost" , default = False , description = "Compile with Boost" )
134+ variant ("cusparse" , default = False , description = "Enable cuSPARSE support" )
134135 variant ("hdf5" , default = False , description = "Compile with HDF5" )
135136 variant ("hypre" , default = False , description = "Compile with Hypre preconditioner" )
136137 variant ("mpi" , default = True , description = "Compile with MPI parallelism" )
@@ -376,6 +377,7 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
376377 msg = "trilinos~wrapper+cuda can only be built with the Clang compiler" ,
377378 )
378379 conflicts ("+cuda_rdc" , when = "~cuda" )
380+ conflicts ("+cusparse" , when = "~cuda" )
379381 conflicts ("+rocm_rdc" , when = "~rocm" )
380382 conflicts ("+wrapper" , when = "~cuda" )
381383 conflicts ("+wrapper" , when = "%clang" )
@@ -422,6 +424,7 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
422424 depends_on ("kokkos+hip_relocatable_device_code~shared" , when = "+rocm_rdc" )
423425 depends_on ("kokkos-kernels~shared" , when = "+cuda_rdc" )
424426 depends_on ("kokkos-kernels~shared" , when = "+rocm_rdc" )
427+ depends_on ("kokkos-kernels+cusparse" , when = "+cusparse" )
425428 depends_on ("kokkos~complex_align" )
426429 depends_on ("kokkos@=4.7.01" , when = "@master:" )
427430 depends_on ("kokkos@=4.5.01" , when = "@16.1" )
@@ -905,6 +908,7 @@ def define_tpl(trilinos_name, spack_name, have_dep):
905908 ("ADIOS2" , "adios2" , "adios2" ),
906909 ("Boost" , "boost" , "boost" ),
907910 ("CUDA" , "cuda" , "cuda" ),
911+ ("CUSPARSE" , "cusparse" , "cuda" ),
908912 ("HDF5" , "hdf5" , "hdf5" ),
909913 ("HYPRE" , "hypre" , "hypre" ),
910914 ("MUMPS" , "mumps" , "mumps" ),
0 commit comments