Skip to content

Commit 0b41a3e

Browse files
Merge pull request #550 from DrTimothyAldenDavis/dev2
LAGraph: looking for GraphBLAS; CHOLMOD: merge cuda, vertcat/horzcat; ParU: enable_cuda; GraphBLAS testing
2 parents 2895129 + 8a74874 commit 0b41a3e

40 files changed

+602
-468
lines changed

CHOLMOD/CMakeLists.txt

+12-63
Original file line numberDiff line numberDiff line change
@@ -262,18 +262,6 @@ endif ( )
262262
include ( SuiteSparseLAPACK ) # requires cmake 3.22
263263
endif ( )
264264

265-
#-------------------------------------------------------------------------------
266-
# find CUDA
267-
#-------------------------------------------------------------------------------
268-
269-
if ( SUITESPARSE_CUDA )
270-
# with CUDA
271-
add_subdirectory ( GPU )
272-
message ( STATUS "CUDA libraries: " ${CUDA_LIBRARIES} )
273-
include_directories ( GPU ${CUDAToolkit_INCLUDE_DIRS} )
274-
link_directories ( "GPU" "${CUDA_LIBRARIES}" "/usr/local/cuda/lib64/stubs" "/usr/local/cuda/lib64" )
275-
endif ( )
276-
277265
#-------------------------------------------------------------------------------
278266
# configure files
279267
#-------------------------------------------------------------------------------
@@ -493,13 +481,10 @@ endif ( )
493481
# CHOLMOD_CUDA
494482
if ( SUITESPARSE_CUDA )
495483
if ( BUILD_SHARED_LIBS )
496-
target_link_libraries ( CHOLMOD PRIVATE CHOLMOD_CUDA ${CUDA_LIBRARIES} )
497484
target_compile_definitions ( CHOLMOD PUBLIC "SUITESPARSE_CUDA" )
498485
endif ( )
499-
set ( CHOLMOD_STATIC_MODULES "${CHOLMOD_STATIC_MODULES} CHOLMOD_CUDA" )
500486
set ( CHOLMOD_CFLAGS "${CHOLMOD_CFLAGS} -DSUITESPARSE_CUDA" )
501487
if ( BUILD_STATIC_LIBS )
502-
target_link_libraries ( CHOLMOD_static PUBLIC CHOLMOD_CUDA_static ${CUDA_LIBRARIES} )
503488
target_compile_definitions ( CHOLMOD_static PUBLIC "SUITESPARSE_CUDA" )
504489
endif ( )
505490
if ( BUILD_SHARED_LIBS )
@@ -529,6 +514,18 @@ if ( SUITESPARSE_CUDA )
529514

530515
endif ( )
531516

517+
#-------------------------------------------------------------------------------
518+
# find CUDA
519+
#-------------------------------------------------------------------------------
520+
521+
if ( SUITESPARSE_CUDA )
522+
# with CUDA
523+
add_subdirectory ( GPU )
524+
message ( STATUS "CUDA libraries: " ${CUDA_LIBRARIES} )
525+
include_directories ( GPU ${CUDAToolkit_INCLUDE_DIRS} )
526+
link_directories ( "GPU" "${CUDA_LIBRARIES}" "/usr/local/cuda/lib64/stubs" "/usr/local/cuda/lib64" )
527+
endif ( )
528+
532529
#-------------------------------------------------------------------------------
533530
# CHOLMOD installation location
534531
#-------------------------------------------------------------------------------
@@ -662,41 +659,17 @@ if ( DEMO )
662659

663660
# link the demos with shared libraries
664661
target_link_libraries ( cholmod_di_simple PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig )
665-
if ( SUITESPARSE_CUDA )
666-
target_link_libraries ( cholmod_di_simple PUBLIC CHOLMOD_CUDA )
667-
endif ( )
668662
target_link_libraries ( cholmod_si_simple PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig )
669-
if ( SUITESPARSE_CUDA )
670-
target_link_libraries ( cholmod_si_simple PUBLIC CHOLMOD_CUDA )
671-
endif ( )
672663
target_link_libraries ( cholmod_dl_simple PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig )
673-
if ( SUITESPARSE_CUDA )
674-
target_link_libraries ( cholmod_dl_simple PUBLIC CHOLMOD_CUDA )
675-
endif ( )
676664
target_link_libraries ( cholmod_sl_simple PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig )
677-
if ( SUITESPARSE_CUDA )
678-
target_link_libraries ( cholmod_sl_simple PUBLIC CHOLMOD_CUDA )
679-
endif ( )
680665

681666
else ( )
682667

683668
# link the demos with static libraries
684669
target_link_libraries ( cholmod_di_simple PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig )
685-
if ( SUITESPARSE_CUDA )
686-
target_link_libraries ( cholmod_di_simple PUBLIC CHOLMOD_CUDA_static )
687-
endif ( )
688670
target_link_libraries ( cholmod_si_simple PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig )
689-
if ( SUITESPARSE_CUDA )
690-
target_link_libraries ( cholmod_si_simple PUBLIC CHOLMOD_CUDA_static )
691-
endif ( )
692671
target_link_libraries ( cholmod_dl_simple PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig )
693-
if ( SUITESPARSE_CUDA )
694-
target_link_libraries ( cholmod_dl_simple PUBLIC CHOLMOD_CUDA_static )
695-
endif ( )
696672
target_link_libraries ( cholmod_sl_simple PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig )
697-
if ( SUITESPARSE_CUDA )
698-
target_link_libraries ( cholmod_sl_simple PUBLIC CHOLMOD_CUDA_static )
699-
endif ( )
700673

701674
endif ( )
702675

@@ -718,41 +691,17 @@ if ( BUILD_SHARED_LIBS )
718691

719692
# link the tests with shared libraries
720693
target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig )
721-
if ( SUITESPARSE_CUDA )
722-
target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD_CUDA )
723-
endif ( )
724694
target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig )
725-
if ( SUITESPARSE_CUDA )
726-
target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD_CUDA )
727-
endif ( )
728695
target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig )
729-
if ( SUITESPARSE_CUDA )
730-
target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD_CUDA )
731-
endif ( )
732696
target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig )
733-
if ( SUITESPARSE_CUDA )
734-
target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD_CUDA )
735-
endif ( )
736697

737698
else ( )
738699

739700
# link the tests with static libraries
740701
target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig )
741-
if ( SUITESPARSE_CUDA )
742-
target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD_CUDA_static )
743-
endif ( )
744702
target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig )
745-
if ( SUITESPARSE_CUDA )
746-
target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD_CUDA_static )
747-
endif ( )
748703
target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig )
749-
if ( SUITESPARSE_CUDA )
750-
target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD_CUDA_static )
751-
endif ( )
752704
target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig )
753-
if ( SUITESPARSE_CUDA )
754-
target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD_CUDA_static )
755-
endif ( )
756705

757706
endif ( )
758707

CHOLMOD/Config/CHOLMODConfig.cmake.in

+9-17
Original file line numberDiff line numberDiff line change
@@ -38,27 +38,19 @@ set ( CHOLMOD_VERSION "@CHOLMOD_VERSION_MAJOR@.@CHOLMOD_VERSION_MINOR@.@CHOLMOD_
3838
include ( CMakeFindDependencyMacro )
3939
set ( _dependencies_found ON )
4040

41-
if ( @SUITESPARSE_CUDA@ )
42-
# Look for imported targets of additional dependency if CHOLMOD was built with CUDA
43-
44-
if ( NOT CHOLMOD_CUDA_FOUND )
45-
if ( @SUITESPARSE_IN_BUILD_TREE@ )
46-
# First check in a common build tree
47-
find_dependency ( CHOLMOD_CUDA @CHOLMOD_VERSION_MAJOR@.@CHOLMOD_VERSION_MINOR@.@CHOLMOD_VERSION_SUB@
48-
PATHS ${CMAKE_SOURCE_DIR}/../CHOLMOD/build NO_DEFAULT_PATH )
49-
# Then, check in the currently active CMAKE_MODULE_PATH
50-
if ( NOT CHOLMOD_CUDA_FOUND )
51-
find_dependency ( CHOLMOD_CUDA @CHOLMOD_VERSION_MAJOR@.@CHOLMOD_VERSION_MINOR@.@CHOLMOD_VERSION_SUB@ )
52-
endif ( )
53-
else ( )
54-
find_dependency ( CHOLMOD_CUDA @CHOLMOD_VERSION_MAJOR@.@CHOLMOD_VERSION_MINOR@.@CHOLMOD_VERSION_SUB@ )
55-
endif ( )
56-
endif ( )
57-
if ( NOT CHOLMOD_CUDA_FOUND )
41+
# Look for NVIDIA CUDA toolkit
42+
if ( @SUITESPARSE_CUDA@ AND NOT CUDAToolkit_FOUND )
43+
find_dependency ( CUDAToolkit @CUDAToolkit_VERSION_MAJOR@ )
44+
if ( NOT CUDAToolkit_FOUND )
5845
set ( _dependencies_found OFF )
5946
endif ( )
6047
endif ( )
6148

49+
if ( NOT _dependencies_found )
50+
set ( CHOLMOD_FOUND OFF )
51+
return ( )
52+
endif ( )
53+
6254
# Look for SuiteSparse_config, COLAMD, and AMD targets
6355
if ( @SUITESPARSE_IN_BUILD_TREE@ )
6456
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )

CHOLMOD/Config/CHOLMOD_CUDA.pc.in

-17
This file was deleted.

CHOLMOD/Config/CHOLMOD_CUDAConfig.cmake.in

-141
This file was deleted.

0 commit comments

Comments
 (0)