diff --git a/.github/workflows/build-arch-emu.yaml b/.github/workflows/build-arch-emu.yaml index 8011d708c..b9bb1fd54 100644 --- a/.github/workflows/build-arch-emu.yaml +++ b/.github/workflows/build-arch-emu.yaml @@ -9,7 +9,7 @@ concurrency: ci-arch-emu-${{ github.ref }} env: # string with name of libraries to be built - BUILD_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:RBio:SuiteSparse_GPURuntime:GPUQREngine:SPQR:SPEX" + BUILD_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:RBio:SPQR:SPEX" # string with name of libraries to be checked CHECK_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:RBio:SPQR:SPEX" diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 89216b18b..3aa239e11 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,7 +10,7 @@ concurrency: ci-${{ github.ref }} env: # string with name of libraries to be built - BUILD_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:RBio:SuiteSparse_GPURuntime:GPUQREngine:SPQR:GraphBLAS:SPEX" + BUILD_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:RBio:SPQR:GraphBLAS:SPEX" # string with name of libraries to be checked CHECK_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:RBio:SPQR:GraphBLAS:SPEX" diff --git a/Example/CMakeLists.txt b/Example/CMakeLists.txt index 3e3d23ac7..30a4eb47b 100644 --- a/Example/CMakeLists.txt +++ b/Example/CMakeLists.txt @@ -79,12 +79,6 @@ find_package ( SPEX 2.2.1 REQUIRED ) find_package ( SPQR 4.2.1 REQUIRED ) find_package ( UMFPACK 6.2.1 REQUIRED ) -if ( TARGET CUDA::nvrtc ) - # CHOLMOD and SPQR have been compiled with CUDA enabled. - find_package ( SuiteSparse_GPURuntime 3.2.1 REQUIRED ) - find_package ( GPUQREngine 3.2.1 REQUIRED ) -endif ( ) - # look for all external libaries: find_package ( OpenMP REQUIRED ) @@ -298,19 +292,6 @@ else ( ) target_link_libraries ( my_cxx_static PUBLIC SuiteSparse::CXSparse ) endif ( ) -# GPUQREngine: -if ( ENABLE_CUDA ) - target_link_libraries ( my PRIVATE SuiteSparse::GPUQREngine ) - target_link_libraries ( my_cxx PRIVATE SuiteSparse::GPUQREngine ) - if ( TARGET SuiteSparse::GPUQREngine_static ) - target_link_libraries ( my_static PUBLIC SuiteSparse::GPUQREngine_static ) - target_link_libraries ( my_cxx_static PUBLIC SuiteSparse::GPUQREngine_static ) - else ( ) - target_link_libraries ( my_static PUBLIC SuiteSparse::GPUQREngine ) - target_link_libraries ( my_cxx_static PUBLIC SuiteSparse::GPUQREngine ) - endif ( ) -endif ( ) - # GraphBLAS: if ( TARGET SuiteSparse::GraphBLAS ) target_link_libraries ( my PRIVATE SuiteSparse::GraphBLAS ) @@ -417,19 +398,6 @@ else ( ) target_link_libraries ( my_cxx_static PUBLIC SuiteSparse::SuiteSparseConfig ) endif ( ) -# GPURuntime: -if ( ENABLE_CUDA ) - target_link_libraries ( my PRIVATE SuiteSparse::GPURuntime ) - target_link_libraries ( my_cxx PRIVATE SuiteSparse::GPURuntime ) - if ( TARGET SuiteSparse::GPURuntime_static ) - target_link_libraries ( my_static PUBLIC SuiteSparse::GPURuntime_static ) - target_link_libraries ( my_cxx_static PUBLIC SuiteSparse::GPURuntime_static ) - else ( ) - target_link_libraries ( my_static PUBLIC SuiteSparse::GPURuntime ) - target_link_libraries ( my_cxx_static PUBLIC SuiteSparse::GPURuntime ) - endif ( ) -endif ( ) - # UMFPACK: target_link_libraries ( my PRIVATE SuiteSparse::UMFPACK ) target_link_libraries ( my_cxx PRIVATE SuiteSparse::UMFPACK ) diff --git a/GPUQREngine/Include/README.txt b/GPUQREngine/Include/README.txt deleted file mode 100644 index 96ecfa75b..000000000 --- a/GPUQREngine/Include/README.txt +++ /dev/null @@ -1,8 +0,0 @@ -The following files must be exact copies of the files in -SuiteSparse_GPURuntime/Include: - - SuiteSparseGPU_debug.hpp - SuiteSparseGPU_internal.hpp - SuiteSparseGPU_macros.hpp - SuiteSparseGPU_Workspace.hpp - SuiteSparseGPU_workspace_macros.hpp diff --git a/GPUQREngine/Makefile b/GPUQREngine/Makefile deleted file mode 100644 index 3c30d15e4..000000000 --- a/GPUQREngine/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -#------------------------------------------------------------------------------- -# SuiteSparse/GPUQREngine/Makefile -#------------------------------------------------------------------------------- - -# GPUQREngine: Copyright (c) 2013-2022, Timothy A Davis, -# Sencer Nuri Yeralan, and Sanjay Ranka. All Rights Reserved. -# SPDX-License-Identifier: GPL-2.0+ - -#------------------------------------------------------------------------------- - -# A simple Makefile for GPUQREngine, which relies on cmake to do the -# actual build. All the work is done in cmake so this Makefile is just for -# convenience. - -# To compile with an alternate compiler: -# -# make CC=gcc CXX=g++ -# -# To compile/install for system-wide usage: -# -# make -# sudo make install -# -# To compile/install for local usage (SuiteSparse/lib and SuiteSparse/include): -# -# make local -# make install -# -# To clean up the files: -# -# make clean - -JOBS ?= 8 - -default: library - -# default is to install only in /usr/local -library: - ( cd build && cmake $(CMAKE_OPTIONS) .. && cmake --build . --config Release -j${JOBS} ) - -# install only in SuiteSparse/lib and SuiteSparse/include -local: - ( cd build && cmake $(CMAKE_OPTIONS) -DLOCAL_INSTALL=1 .. && cmake --build . --config Release -j${JOBS} ) - -# install only in /usr/local (default) -global: - ( cd build && cmake $(CMAKE_OPTIONS) -DLOCAL_INSTALL=0 .. && cmake --build . --config Release -j${JOBS} ) - -demos: library - echo 'GPUQREngine v2.x demo not compiled; use SPQR demo instead' - -# just compile after running cmake; do not run cmake again -remake: - ( cd build && cmake --build . -j${JOBS} ) - -# just run cmake to set things up -setup: - ( cd build && cmake $(CMAKE_OPTIONS) .. ) - -install: - ( cd build && cmake --install . ) - -# remove any installed libraries and #include files -uninstall: - - xargs rm < build/install_manifest.txt - -# remove all files not in the distribution -clean: - - $(RM) -rf build/* - -purge: clean - -distclean: clean - -docs: - - diff --git a/GPUQREngine/build/.gitignore b/GPUQREngine/build/.gitignore deleted file mode 100644 index 52e15321b..000000000 --- a/GPUQREngine/build/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore all files except this file. -* -*/ -!.gitignore diff --git a/Makefile b/Makefile index 40a9d5db5..cb3bf9d60 100644 --- a/Makefile +++ b/Makefile @@ -36,8 +36,6 @@ library: ( cd KLU && $(MAKE) ) ( cd UMFPACK && $(MAKE) ) ( cd RBio && $(MAKE) ) - ( cd SuiteSparse_GPURuntime && $(MAKE) ) - ( cd GPUQREngine && $(MAKE) ) ( cd SPQR && $(MAKE) ) ( cd GraphBLAS && $(MAKE) ) ( cd SPEX && $(MAKE) ) @@ -58,8 +56,6 @@ local: ( cd KLU && $(MAKE) local ) ( cd UMFPACK && $(MAKE) local ) ( cd RBio && $(MAKE) local ) - ( cd SuiteSparse_GPURuntime && $(MAKE) local ) - ( cd GPUQREngine && $(MAKE) local ) ( cd SPQR && $(MAKE) local ) ( cd GraphBLAS && $(MAKE) local ) ( cd SPEX && $(MAKE) local ) @@ -81,8 +77,6 @@ global: ( cd KLU && $(MAKE) global ) ( cd UMFPACK && $(MAKE) global ) ( cd RBio && $(MAKE) global ) - ( cd SuiteSparse_GPURuntime && $(MAKE) global ) - ( cd GPUQREngine && $(MAKE) global ) ( cd SPQR && $(MAKE) global ) ( cd GraphBLAS && $(MAKE) global ) ( cd SPEX && $(MAKE) global ) @@ -102,8 +96,6 @@ install: ( cd KLU && $(MAKE) install ) ( cd UMFPACK && $(MAKE) install ) ( cd RBio && $(MAKE) install ) - ( cd SuiteSparse_GPURuntime && $(MAKE) install ) - ( cd GPUQREngine && $(MAKE) install ) ( cd SPQR && $(MAKE) install ) ( cd GraphBLAS && $(MAKE) install ) ( cd SPEX && $(MAKE) install ) @@ -123,8 +115,6 @@ uninstall: ( cd CHOLMOD && $(MAKE) uninstall ) ( cd CXSparse && $(MAKE) uninstall ) ( cd RBio && $(MAKE) uninstall ) - ( cd SuiteSparse_GPURuntime && $(MAKE) uninstall ) - ( cd GPUQREngine && $(MAKE) uninstall ) ( cd SPQR && $(MAKE) uninstall ) ( cd GraphBLAS && $(MAKE) uninstall ) ( cd SPEX && $(MAKE) uninstall ) @@ -148,8 +138,6 @@ purge: - ( cd CSparse && $(MAKE) purge ) - ( cd CXSparse && $(MAKE) purge ) - ( cd RBio && $(MAKE) purge ) - - ( cd SuiteSparse_GPURuntime && $(MAKE) purge ) - - ( cd GPUQREngine && $(MAKE) purge ) - ( cd SPQR && $(MAKE) purge ) - $(RM) MATLAB_Tools/*/*.mex* MATLAB_Tools/*/*/*.mex* - $(RM) MATLAB_Tools/*/*.o MATLAB_Tools/*/*/*.o @@ -224,8 +212,6 @@ debug: ( cd KLU && $(MAKE) debug ) ( cd UMFPACK && $(MAKE) debug ) ( cd RBio && $(MAKE) debug ) - ( cd SuiteSparse_GPURuntime && $(MAKE) ) - ( cd GPUQREngine && $(MAKE) ) ( cd SPQR && $(MAKE) debug ) ( cd GraphBLAS && $(MAKE) cdebug ) ( cd SPEX && $(MAKE) debug ) diff --git a/SPQR/CMakeLists.txt b/SPQR/CMakeLists.txt index 166836794..c1f8f6fbe 100644 --- a/SPQR/CMakeLists.txt +++ b/SPQR/CMakeLists.txt @@ -67,18 +67,6 @@ if ( NOT TARGET SuiteSparse::CHOLMOD ) endif ( ) if ( SUITESPARSE_CUDA ) - find_package ( SuiteSparse_GPURuntime 3.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_GPURuntime/build NO_DEFAULT_PATH ) - if ( NOT TARGET SuiteSparse::GPURuntime ) - find_package ( SuiteSparse_GPURuntime 3.2.0 REQUIRED ) - endif ( ) - - find_package ( GPUQREngine 3.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../GPUQREngine/build NO_DEFAULT_PATH ) - if ( NOT TARGET SuiteSparse::GPUQREngine ) - find_package ( GPUQREngine 3.2.0 REQUIRED ) - endif ( ) - find_package ( CHOLMOD_CUDA 4.2.0 PATHS ${CMAKE_SOURCE_DIR}/../CHOLMOD/build NO_DEFAULT_PATH ) if ( NOT TARGET SuiteSparse::CHOLMOD_CUDA ) @@ -91,6 +79,8 @@ include ( SuiteSparseLAPACK ) # requires cmake 3.22 if ( SUITESPARSE_CUDA ) # with CUDA + add_subdirectory ( GPURuntime ) + add_subdirectory ( GPUQREngine ) add_subdirectory ( SPQRGPU ) endif ( ) @@ -226,13 +216,8 @@ endif ( ) if ( SUITESPARSE_CUDA ) # CUDA - target_link_libraries ( SPQR PRIVATE SuiteSparse::CHOLMOD_CUDA SPQR_CUDA ) - # SPQR includes files from the following targets that are not installed by - # them. That looks strange and will only work before they are installed. - # Maybe, those two targets aren't actually standalone libraries but should - # be part of the SPQR project? target_link_libraries ( SPQR PRIVATE - SuiteSparse::GPUQREngine SuiteSparse::GPURuntime ) + SuiteSparse::CHOLMOD_CUDA SPQR_CUDA GPUQREngine GPURuntime ) target_compile_definitions ( SPQR PUBLIC "SUITESPARSE_CUDA" ) set ( SPQR_CFLAGS "-DSUITESPARSE_CUDA" ) if ( NOT NSTATIC ) @@ -241,19 +226,9 @@ if ( SUITESPARSE_CUDA ) else ( ) target_link_libraries ( SPQR_static PUBLIC SuiteSparse::CHOLMOD_CUDA ) endif ( ) - target_link_libraries ( SPQR_static PUBLIC SPQR_CUDA_static ) + target_link_libraries ( SPQR_static PUBLIC + SPQR_CUDA_static GPUQREngine_static GPURuntime_static ) target_compile_definitions ( SPQR_static PUBLIC "SUITESPARSE_CUDA" ) - - if ( TARGET SuiteSparse::GPUQREngine_static ) - target_link_libraries ( SPQR_static PUBLIC SuiteSparse::GPUQREngine_static ) - else ( ) - target_link_libraries ( SPQR_static PUBLIC SuiteSparse::GPUQREngine ) - endif ( ) - if ( TARGET SuiteSparse::GPURuntime_static ) - target_link_libraries ( SPQR_static PUBLIC SuiteSparse::GPURuntime_static ) - else ( ) - target_link_libraries ( SPQR_static PUBLIC SuiteSparse::GPURuntime ) - endif ( ) endif ( ) endif ( ) diff --git a/SPQR/Config/SPQRConfig.cmake.in b/SPQR/Config/SPQRConfig.cmake.in index fa430d048..d75acac3d 100644 --- a/SPQR/Config/SPQRConfig.cmake.in +++ b/SPQR/Config/SPQRConfig.cmake.in @@ -42,8 +42,28 @@ set ( _dependencies_found ON ) if ( @SUITESPARSE_CUDA@ ) # Look for imported targets of additional dependency if SPQR was built with CUDA - if ( NOT SPQR_CUDA_FOUND ) - if ( @SUITESPARSE_IN_BUILD_TREE@ ) + if ( @SUITESPARSE_IN_BUILD_TREE@ ) + if ( NOT SuiteSparse_GPURuntime_FOUND ) + # First check in a common build tree + find_dependency ( SuiteSparse_GPURuntime @SUITESPARSE_GPURUNTIME_VERSION_MAJOR@.@GPUQRENGINE_VERSION_MINOR@ + PATHS ${CMAKE_SOURCE_DIR}/../SPQR/build/GPURuntime NO_DEFAULT_PATH ) + # Then, check in the currently active CMAKE_MODULE_PATH + if ( NOT SuiteSparse_GPURuntime_FOUND ) + find_dependency ( SuiteSparse_GPURuntime @SUITESPARSE_GPURUNTIME_VERSION_MAJOR@.@GPUQRENGINE_VERSION_MINOR@ ) + endif ( ) + endif ( ) + + if ( NOT GPUQREngine_FOUND ) + # First check in a common build tree + find_dependency ( GPUQREngine @GPUQRENGINE_VERSION_MAJOR@.@GPUQRENGINE_VERSION_MINOR@ + PATHS ${CMAKE_SOURCE_DIR}/../SPQR/build/GPUQREngine NO_DEFAULT_PATH ) + # Then, check in the currently active CMAKE_MODULE_PATH + if ( NOT GPUQREngine_FOUND ) + find_dependency ( GPUQREngine @GPUQRENGINE_VERSION_MAJOR@.@GPUQRENGINE_VERSION_MINOR@ ) + endif ( ) + endif ( ) + + if ( NOT SPQR_CUDA_FOUND ) # First check in a common build tree find_dependency ( SPQR_CUDA ${SPQR_VERSION} PATHS ${CMAKE_SOURCE_DIR}/../SPQR/build NO_DEFAULT_PATH ) @@ -51,11 +71,19 @@ if ( @SUITESPARSE_CUDA@ ) if ( NOT SPQR_CUDA_FOUND ) find_dependency ( SPQR_CUDA ${SPQR_VERSION} ) endif ( ) - else ( ) + endif ( ) + else ( ) + if ( NOT SuiteSparse_GPURuntime_FOUND ) + find_dependency ( SuiteSparse_GPURuntime @SUITESPARSE_GPURUNTIME_VERSION_MAJOR@.@GPUQRENGINE_VERSION_MINOR@ ) + endif ( ) + if ( NOT GPUQREngine_FOUND ) + find_dependency ( GPUQREngine @GPUQRENGINE_VERSION_MAJOR@.@GPUQRENGINE_VERSION_MINOR@ ) + endif ( ) + if ( NOT SPQR_CUDA_FOUND ) find_dependency ( SPQR_CUDA ${SPQR_VERSION} ) endif ( ) endif ( ) - if ( NOT SPQR_CUDA_FOUND ) + if ( NOT SuiteSparse_GPURuntime_FOUND OR NOT GPUQREngine_FOUND OR NOT SPQR_CUDA_FOUND ) set ( _dependencies_found OFF ) endif ( ) endif ( ) diff --git a/GPUQREngine/CMakeLists.txt b/SPQR/GPUQREngine/CMakeLists.txt similarity index 75% rename from GPUQREngine/CMakeLists.txt rename to SPQR/GPUQREngine/CMakeLists.txt index cceae4299..fd83c5ca8 100644 --- a/GPUQREngine/CMakeLists.txt +++ b/SPQR/GPUQREngine/CMakeLists.txt @@ -22,32 +22,26 @@ message ( STATUS "Building GPUQRENGINE version: v" ${GPUQRENGINE_VERSION_MINOR}. ${GPUQRENGINE_VERSION_SUB} " (" ${GPUQRENGINE_DATE} ")" ) +set ( GPUQRENGINE_VERSION_MAJOR ${GPUQRENGINE_VERSION_MAJOR} PARENT_SCOPE ) +set ( GPUQRENGINE_VERSION_MINOR ${GPUQRENGINE_VERSION_MINOR} PARENT_SCOPE ) +set ( GPUQRENGINE_VERSION_SUB ${GPUQRENGINE_VERSION_SUB} PARENT_SCOPE ) + #------------------------------------------------------------------------------- -# SuiteSparse policies +# define the project #------------------------------------------------------------------------------- -set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} - ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/cmake_modules ) - -option ( ENABLE_CUDA "Enable CUDA acceleration" on ) - -include ( SuiteSparsePolicy ) +project ( gpuqrengine + VERSION "${GPUQRENGINE_VERSION_MAJOR}.${GPUQRENGINE_VERSION_MINOR}.${GPUQRENGINE_VERSION_SUB}" + LANGUAGES CXX CUDA ) #------------------------------------------------------------------------------- -# define the project +# SuiteSparse policies #------------------------------------------------------------------------------- -if ( SUITESPARSE_CUDA ) - project ( gpuqrengine - VERSION "${GPUQRENGINE_VERSION_MAJOR}.${GPUQRENGINE_VERSION_MINOR}.${GPUQRENGINE_VERSION_SUB}" - LANGUAGES C CXX CUDA ) -else ( ) - # CUDA not available - project ( gpuqrengine - VERSION "${GPUQRENGINE_VERSION_MAJOR}.${GPUQRENGINE_VERSION_MINOR}.${GPUQRENGINE_VERSION_SUB}" - LANGUAGES C CXX ) - message ( STATUS "CUDA not enabled: library will be empty" ) -endif ( ) +set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} + ${PROJECT_SOURCE_DIR}/../../SuiteSparse_config/cmake_modules ) + +include ( SuiteSparsePolicy ) #------------------------------------------------------------------------------- # find library dependencies @@ -55,26 +49,18 @@ endif ( ) # for the library itself find_package ( SuiteSparse_config 7.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH ) + PATHS ${CMAKE_SOURCE_DIR}/../../SuiteSparse_config/build NO_DEFAULT_PATH ) if ( NOT TARGET SuiteSparse::SuiteSparseConfig ) find_package ( SuiteSparse_config 7.2.0 REQUIRED ) endif ( ) -if ( SUITESPARSE_CUDA ) - find_package ( SuiteSparse_GPURuntime 3.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_GPURuntime/build NO_DEFAULT_PATH ) - if ( NOT TARGET SuiteSparse::GPURuntime ) - find_package ( SuiteSparse_GPURuntime 3.2.0 REQUIRED ) - endif ( ) -endif ( ) - # Demo disabled for GPUQREngine v2.x set ( DEMO_OK false ) if ( DEMO AND DEMO_OK ) # for the demo only: find_package ( CHOLMOD 4.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../CHOLMOD/build NO_DEFAULT_PATH ) + PATHS ${CMAKE_SOURCE_DIR}/../../CHOLMOD/build NO_DEFAULT_PATH ) if ( NOT TARGET SuiteSparse::CHOLMOD ) find_package ( CHOLMOD 4.2.0 ) endif ( ) @@ -96,27 +82,11 @@ configure_file ( "Config/GPUQREngine.hpp.in" #------------------------------------------------------------------------------- -if ( SUITESPARSE_CUDA ) - set ( CMAKE_CUDA_FLAGS "-cudart=static -lineinfo -DSUITESPARSE_CUDA" ) - set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSUITESPARSE_CUDA" ) - message ( STATUS "C++ flags for CUDA: ${CMAKE_CXX_FLAGS}" ) - message ( STATUS "nvcc flags for CUDA: ${CMAKE_CUDA_FLAGS}" ) -endif ( ) - -set ( CMAKE_CXX_STANDARD 17 ) -set ( CMAKE_C_STANDARD 11 ) - -if ( SUITESPARSE_CUDA ) - file ( GLOB GPUQRENGINE_SOURCES "Source/*.cpp" "Source/*.cu" "Source/*/*.cpp" ) -else ( ) - file ( GLOB GPUQRENGINE_SOURCES "Source/*.cpp" ) -endif ( ) +file ( GLOB GPUQRENGINE_SOURCES "Source/*.cpp" "Source/*.cu" "Source/*/*.cpp" ) set ( GPUQRENGINE_INCLUDES Include Include/Kernel Include/Kernel/Apply Include/Kernel/Assemble Include/Kernel/Factorize ) -include_directories ( ${GPUQRENGINE_INCLUDES} ${CUDAToolkit_INCLUDE_DIRS} ) - #------------------------------------------------------------------------------- # dynamic gpuqrengine library properties #------------------------------------------------------------------------------- @@ -133,19 +103,14 @@ set_target_properties ( GPUQREngine PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON ) target_include_directories ( GPUQREngine PRIVATE - ${CUDAToolkit_INCLUDE_DIRS} ${GPUQRENGINE_INCLUDES} - "$" ) + "$" + "$" ) -if ( SUITESPARSE_CUDA ) - target_include_directories ( GPUQREngine PRIVATE - "$" ) - - set_target_properties ( GPUQREngine PROPERTIES POSITION_INDEPENDENT_CODE ON ) - set_target_properties ( GPUQREngine PROPERTIES CUDA_SEPARABLE_COMPILATION ON ) - target_link_libraries ( GPUQREngine PRIVATE CUDA::nvrtc CUDA::cudart_static - CUDA::nvToolsExt CUDA::cublas ) -endif ( ) +set_target_properties ( GPUQREngine PROPERTIES POSITION_INDEPENDENT_CODE ON ) +set_target_properties ( GPUQREngine PROPERTIES CUDA_SEPARABLE_COMPILATION ON ) +target_link_libraries ( GPUQREngine PRIVATE + CUDA::nvrtc CUDA::cudart_static CUDA::nvToolsExt CUDA::cublas ) target_include_directories ( GPUQREngine INTERFACE $ @@ -177,12 +142,12 @@ if ( NOT NSTATIC ) if ( SUITESPARSE_CUDA ) target_include_directories ( GPUQREngine_static PRIVATE - "$" ) + "$" ) set_target_properties ( GPUQREngine_static PROPERTIES CUDA_SEPARABLE_COMPILATION on ) set_target_properties ( GPUQREngine_static PROPERTIES POSITION_INDEPENDENT_CODE on ) - target_link_libraries ( GPUQREngine_static PUBLIC CUDA::nvrtc CUDA::cudart_static - CUDA::nvToolsExt CUDA::cublas ) + target_link_libraries ( GPUQREngine_static PUBLIC + CUDA::nvrtc CUDA::cudart_static CUDA::nvToolsExt CUDA::cublas ) endif ( ) target_include_directories ( GPUQREngine_static @@ -281,19 +246,11 @@ if ( DEMO AND DEMO_OK ) # Libraries required for Demo programs target_link_libraries ( gpuqrengine_demo PUBLIC GPUQREngine - SuiteSparse::CHOLMOD SuiteSparse::AMD SuiteSparse::COLAMD - SuiteSparse::CAMD SuiteSparse::CCOLAMD SuiteSparse::CHOLMOD_CUDA - SuiteSparse::GPURuntime SuiteSparse::SuiteSparseConfig ) + SuiteSparse::CHOLMOD SuiteSparse::CHOLMOD_CUDA + GPURuntime SuiteSparse::SuiteSparseConfig ) else ( ) message ( STATUS "Skipping the demos in GPUQREngine/Demo" ) endif ( ) - -#------------------------------------------------------------------------------- -# report status -#------------------------------------------------------------------------------- - -include ( SuiteSparseReport ) - diff --git a/GPUQREngine/Config/GPUQREngine.hpp.in b/SPQR/GPUQREngine/Config/GPUQREngine.hpp.in similarity index 100% rename from GPUQREngine/Config/GPUQREngine.hpp.in rename to SPQR/GPUQREngine/Config/GPUQREngine.hpp.in diff --git a/GPUQREngine/Config/GPUQREngine.pc.in b/SPQR/GPUQREngine/Config/GPUQREngine.pc.in similarity index 100% rename from GPUQREngine/Config/GPUQREngine.pc.in rename to SPQR/GPUQREngine/Config/GPUQREngine.pc.in diff --git a/GPUQREngine/Config/GPUQREngineConfig.cmake.in b/SPQR/GPUQREngine/Config/GPUQREngineConfig.cmake.in similarity index 100% rename from GPUQREngine/Config/GPUQREngineConfig.cmake.in rename to SPQR/GPUQREngine/Config/GPUQREngineConfig.cmake.in diff --git a/GPUQREngine/Demo/README.txt b/SPQR/GPUQREngine/Demo/README.txt similarity index 100% rename from GPUQREngine/Demo/README.txt rename to SPQR/GPUQREngine/Demo/README.txt diff --git a/GPUQREngine/Demo/gpuqrengine_demo.cpp b/SPQR/GPUQREngine/Demo/gpuqrengine_demo.cpp similarity index 100% rename from GPUQREngine/Demo/gpuqrengine_demo.cpp rename to SPQR/GPUQREngine/Demo/gpuqrengine_demo.cpp diff --git a/GPUQREngine/Doc/ChangeLog b/SPQR/GPUQREngine/Doc/ChangeLog similarity index 100% rename from GPUQREngine/Doc/ChangeLog rename to SPQR/GPUQREngine/Doc/ChangeLog diff --git a/GPUQREngine/Doc/License.txt b/SPQR/GPUQREngine/Doc/License.txt similarity index 100% rename from GPUQREngine/Doc/License.txt rename to SPQR/GPUQREngine/Doc/License.txt diff --git a/GPUQREngine/Doc/gpl.txt b/SPQR/GPUQREngine/Doc/gpl.txt similarity index 100% rename from GPUQREngine/Doc/gpl.txt rename to SPQR/GPUQREngine/Doc/gpl.txt diff --git a/GPUQREngine/Include/GPUQREngine.hpp b/SPQR/GPUQREngine/Include/GPUQREngine.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine.hpp diff --git a/GPUQREngine/Include/GPUQREngine_BucketList.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_BucketList.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_BucketList.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_BucketList.hpp diff --git a/GPUQREngine/Include/GPUQREngine_Common.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_Common.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_Common.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_Common.hpp diff --git a/GPUQREngine/Include/GPUQREngine_Front.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_Front.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_Front.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_Front.hpp diff --git a/GPUQREngine/Include/GPUQREngine_FrontState.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_FrontState.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_FrontState.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_FrontState.hpp diff --git a/GPUQREngine/Include/GPUQREngine_GraphVizHelper.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_GraphVizHelper.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_GraphVizHelper.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_GraphVizHelper.hpp diff --git a/GPUQREngine/Include/GPUQREngine_Internal.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_Internal.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_Internal.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_Internal.hpp diff --git a/GPUQREngine/Include/GPUQREngine_LLBundle.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_LLBundle.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_LLBundle.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_LLBundle.hpp diff --git a/GPUQREngine/Include/GPUQREngine_SEntry.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_SEntry.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_SEntry.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_SEntry.hpp diff --git a/GPUQREngine/Include/GPUQREngine_Scheduler.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_Scheduler.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_Scheduler.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_Scheduler.hpp diff --git a/GPUQREngine/Include/GPUQREngine_SparseMeta.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_SparseMeta.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_SparseMeta.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_SparseMeta.hpp diff --git a/GPUQREngine/Include/GPUQREngine_Stats.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_Stats.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_Stats.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_Stats.hpp diff --git a/GPUQREngine/Include/GPUQREngine_SuiteSparse.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_SuiteSparse.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_SuiteSparse.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_SuiteSparse.hpp diff --git a/GPUQREngine/Include/GPUQREngine_TaskDescriptor.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_TaskDescriptor.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_TaskDescriptor.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_TaskDescriptor.hpp diff --git a/GPUQREngine/Include/GPUQREngine_Timing.hpp b/SPQR/GPUQREngine/Include/GPUQREngine_Timing.hpp similarity index 100% rename from GPUQREngine/Include/GPUQREngine_Timing.hpp rename to SPQR/GPUQREngine/Include/GPUQREngine_Timing.hpp diff --git a/GPUQREngine/Include/Kernel/Apply/block_apply.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/block_apply.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/block_apply.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/block_apply.cu diff --git a/GPUQREngine/Include/Kernel/Apply/block_apply_1.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_1.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/block_apply_1.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_1.cu diff --git a/GPUQREngine/Include/Kernel/Apply/block_apply_1_by_1.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_1_by_1.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/block_apply_1_by_1.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_1_by_1.cu diff --git a/GPUQREngine/Include/Kernel/Apply/block_apply_2.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_2.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/block_apply_2.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_2.cu diff --git a/GPUQREngine/Include/Kernel/Apply/block_apply_2_by_1.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_2_by_1.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/block_apply_2_by_1.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_2_by_1.cu diff --git a/GPUQREngine/Include/Kernel/Apply/block_apply_3.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_3.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/block_apply_3.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_3.cu diff --git a/GPUQREngine/Include/Kernel/Apply/block_apply_3_by_1.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_3_by_1.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/block_apply_3_by_1.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_3_by_1.cu diff --git a/GPUQREngine/Include/Kernel/Apply/block_apply_chunk.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_chunk.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/block_apply_chunk.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/block_apply_chunk.cu diff --git a/GPUQREngine/Include/Kernel/Apply/cevta_tile.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/cevta_tile.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/cevta_tile.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/cevta_tile.cu diff --git a/GPUQREngine/Include/Kernel/Apply/params_apply.hpp b/SPQR/GPUQREngine/Include/Kernel/Apply/params_apply.hpp similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/params_apply.hpp rename to SPQR/GPUQREngine/Include/Kernel/Apply/params_apply.hpp diff --git a/GPUQREngine/Include/Kernel/Apply/pipelined_rearrange.cu b/SPQR/GPUQREngine/Include/Kernel/Apply/pipelined_rearrange.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Apply/pipelined_rearrange.cu rename to SPQR/GPUQREngine/Include/Kernel/Apply/pipelined_rearrange.cu diff --git a/GPUQREngine/Include/Kernel/Assemble/packAssemble.cu b/SPQR/GPUQREngine/Include/Kernel/Assemble/packAssemble.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Assemble/packAssemble.cu rename to SPQR/GPUQREngine/Include/Kernel/Assemble/packAssemble.cu diff --git a/GPUQREngine/Include/Kernel/Assemble/sAssemble.cu b/SPQR/GPUQREngine/Include/Kernel/Assemble/sAssemble.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Assemble/sAssemble.cu rename to SPQR/GPUQREngine/Include/Kernel/Assemble/sAssemble.cu diff --git a/GPUQREngine/Include/Kernel/Factorize/factorize_3_by_1.cu b/SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_3_by_1.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Factorize/factorize_3_by_1.cu rename to SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_3_by_1.cu diff --git a/GPUQREngine/Include/Kernel/Factorize/factorize_vt.cu b/SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Factorize/factorize_vt.cu rename to SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt.cu diff --git a/GPUQREngine/Include/Kernel/Factorize/factorize_vt_1_by_1.cu b/SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_1_by_1.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Factorize/factorize_vt_1_by_1.cu rename to SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_1_by_1.cu diff --git a/GPUQREngine/Include/Kernel/Factorize/factorize_vt_1_by_1_edge.cu b/SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_1_by_1_edge.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Factorize/factorize_vt_1_by_1_edge.cu rename to SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_1_by_1_edge.cu diff --git a/GPUQREngine/Include/Kernel/Factorize/factorize_vt_2_by_1.cu b/SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_2_by_1.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Factorize/factorize_vt_2_by_1.cu rename to SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_2_by_1.cu diff --git a/GPUQREngine/Include/Kernel/Factorize/factorize_vt_2_by_1_edge.cu b/SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_2_by_1_edge.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Factorize/factorize_vt_2_by_1_edge.cu rename to SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_2_by_1_edge.cu diff --git a/GPUQREngine/Include/Kernel/Factorize/factorize_vt_3_by_1.cu b/SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_3_by_1.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Factorize/factorize_vt_3_by_1.cu rename to SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_3_by_1.cu diff --git a/GPUQREngine/Include/Kernel/Factorize/factorize_vt_3_by_1_edge.cu b/SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_3_by_1_edge.cu similarity index 100% rename from GPUQREngine/Include/Kernel/Factorize/factorize_vt_3_by_1_edge.cu rename to SPQR/GPUQREngine/Include/Kernel/Factorize/factorize_vt_3_by_1_edge.cu diff --git a/GPUQREngine/Include/Kernel/qrKernel.cu b/SPQR/GPUQREngine/Include/Kernel/qrKernel.cu similarity index 100% rename from GPUQREngine/Include/Kernel/qrKernel.cu rename to SPQR/GPUQREngine/Include/Kernel/qrKernel.cu diff --git a/GPUQREngine/Include/Kernel/sharedMemory.hpp b/SPQR/GPUQREngine/Include/Kernel/sharedMemory.hpp similarity index 100% rename from GPUQREngine/Include/Kernel/sharedMemory.hpp rename to SPQR/GPUQREngine/Include/Kernel/sharedMemory.hpp diff --git a/GPUQREngine/Include/Kernel/uberKernel.cu b/SPQR/GPUQREngine/Include/Kernel/uberKernel.cu similarity index 100% rename from GPUQREngine/Include/Kernel/uberKernel.cu rename to SPQR/GPUQREngine/Include/Kernel/uberKernel.cu diff --git a/GPUQREngine/README.txt b/SPQR/GPUQREngine/README.txt similarity index 100% rename from GPUQREngine/README.txt rename to SPQR/GPUQREngine/README.txt diff --git a/GPUQREngine/Source/BucketList/BucketList.cpp b/SPQR/GPUQREngine/Source/BucketList/BucketList.cpp similarity index 100% rename from GPUQREngine/Source/BucketList/BucketList.cpp rename to SPQR/GPUQREngine/Source/BucketList/BucketList.cpp diff --git a/GPUQREngine/Source/BucketList/BucketList_AdvanceBundles.cpp b/SPQR/GPUQREngine/Source/BucketList/BucketList_AdvanceBundles.cpp similarity index 100% rename from GPUQREngine/Source/BucketList/BucketList_AdvanceBundles.cpp rename to SPQR/GPUQREngine/Source/BucketList/BucketList_AdvanceBundles.cpp diff --git a/GPUQREngine/Source/BucketList/BucketList_CreateBundles.cpp b/SPQR/GPUQREngine/Source/BucketList/BucketList_CreateBundles.cpp similarity index 100% rename from GPUQREngine/Source/BucketList/BucketList_CreateBundles.cpp rename to SPQR/GPUQREngine/Source/BucketList/BucketList_CreateBundles.cpp diff --git a/GPUQREngine/Source/BucketList/BucketList_FillWorkQueue.cpp b/SPQR/GPUQREngine/Source/BucketList/BucketList_FillWorkQueue.cpp similarity index 100% rename from GPUQREngine/Source/BucketList/BucketList_FillWorkQueue.cpp rename to SPQR/GPUQREngine/Source/BucketList/BucketList_FillWorkQueue.cpp diff --git a/GPUQREngine/Source/BucketList/BucketList_GrowBundles.cpp b/SPQR/GPUQREngine/Source/BucketList/BucketList_GrowBundles.cpp similarity index 100% rename from GPUQREngine/Source/BucketList/BucketList_GrowBundles.cpp rename to SPQR/GPUQREngine/Source/BucketList/BucketList_GrowBundles.cpp diff --git a/GPUQREngine/Source/BucketList/BucketList_Manage.cpp b/SPQR/GPUQREngine/Source/BucketList/BucketList_Manage.cpp similarity index 100% rename from GPUQREngine/Source/BucketList/BucketList_Manage.cpp rename to SPQR/GPUQREngine/Source/BucketList/BucketList_Manage.cpp diff --git a/GPUQREngine/Source/BucketList/BucketList_PostProcessing.cpp b/SPQR/GPUQREngine/Source/BucketList/BucketList_PostProcessing.cpp similarity index 100% rename from GPUQREngine/Source/BucketList/BucketList_PostProcessing.cpp rename to SPQR/GPUQREngine/Source/BucketList/BucketList_PostProcessing.cpp diff --git a/GPUQREngine/Source/GPUQREngine_ExpertDense.cpp b/SPQR/GPUQREngine/Source/GPUQREngine_ExpertDense.cpp similarity index 100% rename from GPUQREngine/Source/GPUQREngine_ExpertDense.cpp rename to SPQR/GPUQREngine/Source/GPUQREngine_ExpertDense.cpp diff --git a/GPUQREngine/Source/GPUQREngine_ExpertSparse.cpp b/SPQR/GPUQREngine/Source/GPUQREngine_ExpertSparse.cpp similarity index 100% rename from GPUQREngine/Source/GPUQREngine_ExpertSparse.cpp rename to SPQR/GPUQREngine/Source/GPUQREngine_ExpertSparse.cpp diff --git a/GPUQREngine/Source/GPUQREngine_GraphVizHelper.cpp b/SPQR/GPUQREngine/Source/GPUQREngine_GraphVizHelper.cpp similarity index 100% rename from GPUQREngine/Source/GPUQREngine_GraphVizHelper.cpp rename to SPQR/GPUQREngine/Source/GPUQREngine_GraphVizHelper.cpp diff --git a/GPUQREngine/Source/GPUQREngine_Internal.cpp b/SPQR/GPUQREngine/Source/GPUQREngine_Internal.cpp similarity index 100% rename from GPUQREngine/Source/GPUQREngine_Internal.cpp rename to SPQR/GPUQREngine/Source/GPUQREngine_Internal.cpp diff --git a/GPUQREngine/Source/GPUQREngine_UberKernel.cu b/SPQR/GPUQREngine/Source/GPUQREngine_UberKernel.cu similarity index 100% rename from GPUQREngine/Source/GPUQREngine_UberKernel.cu rename to SPQR/GPUQREngine/Source/GPUQREngine_UberKernel.cu diff --git a/GPUQREngine/Source/LLBundle/LLBundle_AddTiles.cpp b/SPQR/GPUQREngine/Source/LLBundle/LLBundle_AddTiles.cpp similarity index 100% rename from GPUQREngine/Source/LLBundle/LLBundle_AddTiles.cpp rename to SPQR/GPUQREngine/Source/LLBundle/LLBundle_AddTiles.cpp diff --git a/GPUQREngine/Source/LLBundle/LLBundle_Advance.cpp b/SPQR/GPUQREngine/Source/LLBundle/LLBundle_Advance.cpp similarity index 100% rename from GPUQREngine/Source/LLBundle/LLBundle_Advance.cpp rename to SPQR/GPUQREngine/Source/LLBundle/LLBundle_Advance.cpp diff --git a/GPUQREngine/Source/LLBundle/LLBundle_GPUPack.cpp b/SPQR/GPUQREngine/Source/LLBundle/LLBundle_GPUPack.cpp similarity index 100% rename from GPUQREngine/Source/LLBundle/LLBundle_GPUPack.cpp rename to SPQR/GPUQREngine/Source/LLBundle/LLBundle_GPUPack.cpp diff --git a/GPUQREngine/Source/LLBundle/LLBundle_PipelinedRearrange.cpp b/SPQR/GPUQREngine/Source/LLBundle/LLBundle_PipelinedRearrange.cpp similarity index 100% rename from GPUQREngine/Source/LLBundle/LLBundle_PipelinedRearrange.cpp rename to SPQR/GPUQREngine/Source/LLBundle/LLBundle_PipelinedRearrange.cpp diff --git a/GPUQREngine/Source/LLBundle/LLBundle_UpdateSecondMinIndex.cpp b/SPQR/GPUQREngine/Source/LLBundle/LLBundle_UpdateSecondMinIndex.cpp similarity index 100% rename from GPUQREngine/Source/LLBundle/LLBundle_UpdateSecondMinIndex.cpp rename to SPQR/GPUQREngine/Source/LLBundle/LLBundle_UpdateSecondMinIndex.cpp diff --git a/GPUQREngine/Source/Scheduler/Scheduler.cpp b/SPQR/GPUQREngine/Source/Scheduler/Scheduler.cpp similarity index 100% rename from GPUQREngine/Source/Scheduler/Scheduler.cpp rename to SPQR/GPUQREngine/Source/Scheduler/Scheduler.cpp diff --git a/GPUQREngine/Source/Scheduler/Scheduler_FillWorkQueue.cpp b/SPQR/GPUQREngine/Source/Scheduler/Scheduler_FillWorkQueue.cpp similarity index 100% rename from GPUQREngine/Source/Scheduler/Scheduler_FillWorkQueue.cpp rename to SPQR/GPUQREngine/Source/Scheduler/Scheduler_FillWorkQueue.cpp diff --git a/GPUQREngine/Source/Scheduler/Scheduler_Front.cpp b/SPQR/GPUQREngine/Source/Scheduler/Scheduler_Front.cpp similarity index 100% rename from GPUQREngine/Source/Scheduler/Scheduler_Front.cpp rename to SPQR/GPUQREngine/Source/Scheduler/Scheduler_Front.cpp diff --git a/GPUQREngine/Source/Scheduler/Scheduler_LaunchKernel.cpp b/SPQR/GPUQREngine/Source/Scheduler/Scheduler_LaunchKernel.cpp similarity index 100% rename from GPUQREngine/Source/Scheduler/Scheduler_LaunchKernel.cpp rename to SPQR/GPUQREngine/Source/Scheduler/Scheduler_LaunchKernel.cpp diff --git a/GPUQREngine/Source/Scheduler/Scheduler_PostProcess.cpp b/SPQR/GPUQREngine/Source/Scheduler/Scheduler_PostProcess.cpp similarity index 100% rename from GPUQREngine/Source/Scheduler/Scheduler_PostProcess.cpp rename to SPQR/GPUQREngine/Source/Scheduler/Scheduler_PostProcess.cpp diff --git a/GPUQREngine/Source/Scheduler/Scheduler_Render.cpp b/SPQR/GPUQREngine/Source/Scheduler/Scheduler_Render.cpp similarity index 100% rename from GPUQREngine/Source/Scheduler/Scheduler_Render.cpp rename to SPQR/GPUQREngine/Source/Scheduler/Scheduler_Render.cpp diff --git a/GPUQREngine/Source/Scheduler/Scheduler_TransferData.cpp b/SPQR/GPUQREngine/Source/Scheduler/Scheduler_TransferData.cpp similarity index 100% rename from GPUQREngine/Source/Scheduler/Scheduler_TransferData.cpp rename to SPQR/GPUQREngine/Source/Scheduler/Scheduler_TransferData.cpp diff --git a/GPUQREngine/Source/TaskDescriptor/TaskDescriptor_flops.cpp b/SPQR/GPUQREngine/Source/TaskDescriptor/TaskDescriptor_flops.cpp similarity index 100% rename from GPUQREngine/Source/TaskDescriptor/TaskDescriptor_flops.cpp rename to SPQR/GPUQREngine/Source/TaskDescriptor/TaskDescriptor_flops.cpp diff --git a/GPUQREngine/Source/ssgpu_maxQueueSize.cpp b/SPQR/GPUQREngine/Source/ssgpu_maxQueueSize.cpp similarity index 100% rename from GPUQREngine/Source/ssgpu_maxQueueSize.cpp rename to SPQR/GPUQREngine/Source/ssgpu_maxQueueSize.cpp diff --git a/SuiteSparse_GPURuntime/CMakeLists.txt b/SPQR/GPURuntime/CMakeLists.txt similarity index 80% rename from SuiteSparse_GPURuntime/CMakeLists.txt rename to SPQR/GPURuntime/CMakeLists.txt index 807c30b95..4b696f57c 100644 --- a/SuiteSparse_GPURuntime/CMakeLists.txt +++ b/SPQR/GPURuntime/CMakeLists.txt @@ -2,7 +2,7 @@ # SuiteSparse/SuiteSparse_GPURuntime/CMakeLists.txt #------------------------------------------------------------------------------- -# SuiteSparse_GPURuntime, Copyright (c) 2013-2022, Timothy A Davis, +# SuiteSparse_GPURuntime, Copyright (c) 2013-2023, Timothy A Davis, # Sencer Nuri Yeralan, and Sanjay Ranka. All Rights Reserved. # SPDX-License-Identifier: GPL-2.0+ @@ -22,33 +22,29 @@ message ( STATUS "Building SUITESPARSE_GPURUNTIME version: v" ${SUITESPARSE_GPURUNTIME_VERSION_MINOR}. ${SUITESPARSE_GPURUNTIME_VERSION_SUB} " (" ${SUITESPARSE_GPURUNTIME_DATE} ")" ) +set ( SUITESPARSE_GPURUNTIME_VERSION_MAJOR ${SUITESPARSE_GPURUNTIME_VERSION_MAJOR} PARENT_SCOPE ) +set ( SUITESPARSE_GPURUNTIME_VERSION_MINOR ${SUITESPARSE_GPURUNTIME_VERSION_MINOR} PARENT_SCOPE ) +set ( SUITESPARSE_GPURUNTIME_VERSION_SUB ${SUITESPARSE_GPURUNTIME_VERSION_SUB} PARENT_SCOPE ) + +#------------------------------------------------------------------------------- +# define the project +#------------------------------------------------------------------------------- + +project ( suitesparse_gpuruntime + VERSION "${SUITESPARSE_GPURUNTIME_VERSION_MAJOR}.${SUITESPARSE_GPURUNTIME_VERSION_MINOR}.${SUITESPARSE_GPURUNTIME_VERSION_SUB}" + LANGUAGES C CXX CUDA ) + #------------------------------------------------------------------------------- # SuiteSparse policies #------------------------------------------------------------------------------- set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} - ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/cmake_modules ) + ${PROJECT_SOURCE_DIR}/../../SuiteSparse_config/cmake_modules ) option ( ENABLE_CUDA "Enable CUDA acceleration" on ) include ( SuiteSparsePolicy ) -#------------------------------------------------------------------------------- -# define the project -#------------------------------------------------------------------------------- - -if ( SUITESPARSE_CUDA ) - project ( suitesparse_gpuruntime - VERSION "${SUITESPARSE_GPURUNTIME_VERSION_MAJOR}.${SUITESPARSE_GPURUNTIME_VERSION_MINOR}.${SUITESPARSE_GPURUNTIME_VERSION_SUB}" - LANGUAGES C CXX CUDA ) -else ( ) - # CUDA not available - project ( suitesparse_gpuruntime - VERSION "${SUITESPARSE_GPURUNTIME_VERSION_MAJOR}.${SUITESPARSE_GPURUNTIME_VERSION_MINOR}.${SUITESPARSE_GPURUNTIME_VERSION_SUB}" - LANGUAGES C CXX ) - message ( STATUS "CUDA not enabled: library will be empty" ) -endif ( ) - #------------------------------------------------------------------------------- # find library dependencies #------------------------------------------------------------------------------- @@ -69,12 +65,10 @@ configure_file ( "Config/SuiteSparse_GPURuntime.hpp.in" #------------------------------------------------------------------------------- -if ( SUITESPARSE_CUDA ) - set ( CMAKE_CUDA_FLAGS "-cudart=static -lineinfo -DSUITESPARSE_CUDA" ) - set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSUITESPARSE_CUDA" ) - message ( STATUS "C++ flags for CUDA: ${CMAKE_CXX_FLAGS}" ) - message ( STATUS "nvcc flags for CUDA: ${CMAKE_CUDA_FLAGS}" ) -endif ( ) +set ( CMAKE_CUDA_FLAGS "-cudart=static -lineinfo -DSUITESPARSE_CUDA" ) +set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSUITESPARSE_CUDA" ) +message ( STATUS "C++ flags for CUDA: ${CMAKE_CXX_FLAGS}" ) +message ( STATUS "nvcc flags for CUDA: ${CMAKE_CUDA_FLAGS}" ) file ( GLOB SUITESPARSE_GPURUNTIME_SOURCES "Source/*.cpp" ) @@ -102,12 +96,10 @@ target_include_directories ( GPURuntime PRIVATE ${SUITESPARSE_GPURUNTIME_INCLUDES} $ ) -if ( SUITESPARSE_CUDA ) - set_target_properties ( GPURuntime PROPERTIES POSITION_INDEPENDENT_CODE ON ) - set_target_properties ( GPURuntime PROPERTIES CUDA_SEPARABLE_COMPILATION ON ) - target_link_libraries ( GPURuntime PRIVATE CUDA::nvrtc CUDA::cudart_static - CUDA::nvToolsExt CUDA::cublas ) -endif ( ) +set_target_properties ( GPURuntime PROPERTIES POSITION_INDEPENDENT_CODE ON ) +set_target_properties ( GPURuntime PROPERTIES CUDA_SEPARABLE_COMPILATION ON ) +target_link_libraries ( GPURuntime PRIVATE + CUDA::nvrtc CUDA::cudart_static CUDA::nvToolsExt CUDA::cublas ) target_include_directories ( GPURuntime INTERFACE $ @@ -137,12 +129,10 @@ if ( NOT NSTATIC ) ${SUITESPARSE_GPURUNTIME_INCLUDES} $ ) - if ( SUITESPARSE_CUDA ) - set_target_properties ( GPURuntime_static PROPERTIES CUDA_SEPARABLE_COMPILATION on ) - set_target_properties ( GPURuntime_static PROPERTIES POSITION_INDEPENDENT_CODE on ) - target_link_libraries ( GPURuntime_static PUBLIC CUDA::nvrtc CUDA::cudart_static - CUDA::nvToolsExt CUDA::cublas ) - endif ( ) + set_target_properties ( GPURuntime_static PROPERTIES CUDA_SEPARABLE_COMPILATION on ) + set_target_properties ( GPURuntime_static PROPERTIES POSITION_INDEPENDENT_CODE on ) + target_link_libraries ( GPURuntime_static PUBLIC + CUDA::nvrtc CUDA::cudart_static CUDA::nvToolsExt CUDA::cublas ) target_include_directories ( GPURuntime_static INTERFACE $ @@ -220,10 +210,3 @@ if ( NOT MSVC ) ${CMAKE_CURRENT_BINARY_DIR}/SuiteSparse_GPURuntime.pc DESTINATION ${SUITESPARSE_LIBDIR}/pkgconfig ) endif ( ) - -#------------------------------------------------------------------------------- -# report status -#------------------------------------------------------------------------------- - -include ( SuiteSparseReport ) - diff --git a/SuiteSparse_GPURuntime/Config/SuiteSparse_GPURuntime.hpp.in b/SPQR/GPURuntime/Config/SuiteSparse_GPURuntime.hpp.in similarity index 100% rename from SuiteSparse_GPURuntime/Config/SuiteSparse_GPURuntime.hpp.in rename to SPQR/GPURuntime/Config/SuiteSparse_GPURuntime.hpp.in diff --git a/SuiteSparse_GPURuntime/Config/SuiteSparse_GPURuntime.pc.in b/SPQR/GPURuntime/Config/SuiteSparse_GPURuntime.pc.in similarity index 100% rename from SuiteSparse_GPURuntime/Config/SuiteSparse_GPURuntime.pc.in rename to SPQR/GPURuntime/Config/SuiteSparse_GPURuntime.pc.in diff --git a/SuiteSparse_GPURuntime/Config/SuiteSparse_GPURuntimeConfig.cmake.in b/SPQR/GPURuntime/Config/SuiteSparse_GPURuntimeConfig.cmake.in similarity index 100% rename from SuiteSparse_GPURuntime/Config/SuiteSparse_GPURuntimeConfig.cmake.in rename to SPQR/GPURuntime/Config/SuiteSparse_GPURuntimeConfig.cmake.in diff --git a/SuiteSparse_GPURuntime/Doc/ChangeLog b/SPQR/GPURuntime/Doc/ChangeLog similarity index 100% rename from SuiteSparse_GPURuntime/Doc/ChangeLog rename to SPQR/GPURuntime/Doc/ChangeLog diff --git a/SuiteSparse_GPURuntime/Doc/License.txt b/SPQR/GPURuntime/Doc/License.txt similarity index 100% rename from SuiteSparse_GPURuntime/Doc/License.txt rename to SPQR/GPURuntime/Doc/License.txt diff --git a/SuiteSparse_GPURuntime/Doc/gpl.txt b/SPQR/GPURuntime/Doc/gpl.txt similarity index 100% rename from SuiteSparse_GPURuntime/Doc/gpl.txt rename to SPQR/GPURuntime/Doc/gpl.txt diff --git a/GPUQREngine/Include/SuiteSparseGPU_Workspace.hpp b/SPQR/GPURuntime/Include/SuiteSparseGPU_Workspace.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_Workspace.hpp rename to SPQR/GPURuntime/Include/SuiteSparseGPU_Workspace.hpp diff --git a/GPUQREngine/Include/SuiteSparseGPU_debug.hpp b/SPQR/GPURuntime/Include/SuiteSparseGPU_debug.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_debug.hpp rename to SPQR/GPURuntime/Include/SuiteSparseGPU_debug.hpp diff --git a/GPUQREngine/Include/SuiteSparseGPU_internal.hpp b/SPQR/GPURuntime/Include/SuiteSparseGPU_internal.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_internal.hpp rename to SPQR/GPURuntime/Include/SuiteSparseGPU_internal.hpp diff --git a/GPUQREngine/Include/SuiteSparseGPU_macros.hpp b/SPQR/GPURuntime/Include/SuiteSparseGPU_macros.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_macros.hpp rename to SPQR/GPURuntime/Include/SuiteSparseGPU_macros.hpp diff --git a/GPUQREngine/Include/SuiteSparseGPU_workspace_macros.hpp b/SPQR/GPURuntime/Include/SuiteSparseGPU_workspace_macros.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_workspace_macros.hpp rename to SPQR/GPURuntime/Include/SuiteSparseGPU_workspace_macros.hpp diff --git a/SuiteSparse_GPURuntime/Include/SuiteSparse_GPURuntime.hpp b/SPQR/GPURuntime/Include/SuiteSparse_GPURuntime.hpp similarity index 100% rename from SuiteSparse_GPURuntime/Include/SuiteSparse_GPURuntime.hpp rename to SPQR/GPURuntime/Include/SuiteSparse_GPURuntime.hpp diff --git a/SuiteSparse_GPURuntime/README.txt b/SPQR/GPURuntime/README.txt similarity index 100% rename from SuiteSparse_GPURuntime/README.txt rename to SPQR/GPURuntime/README.txt diff --git a/SuiteSparse_GPURuntime/Source/SuiteSparseGPU_Workspace.cpp b/SPQR/GPURuntime/Source/SuiteSparseGPU_Workspace.cpp similarity index 100% rename from SuiteSparse_GPURuntime/Source/SuiteSparseGPU_Workspace.cpp rename to SPQR/GPURuntime/Source/SuiteSparseGPU_Workspace.cpp diff --git a/SuiteSparse_GPURuntime/Source/SuiteSparseGPU_Workspace_cpuAllocators.cpp b/SPQR/GPURuntime/Source/SuiteSparseGPU_Workspace_cpuAllocators.cpp similarity index 100% rename from SuiteSparse_GPURuntime/Source/SuiteSparseGPU_Workspace_cpuAllocators.cpp rename to SPQR/GPURuntime/Source/SuiteSparseGPU_Workspace_cpuAllocators.cpp diff --git a/SuiteSparse_GPURuntime/Source/SuiteSparseGPU_Workspace_gpuAllocators.cpp b/SPQR/GPURuntime/Source/SuiteSparseGPU_Workspace_gpuAllocators.cpp similarity index 100% rename from SuiteSparse_GPURuntime/Source/SuiteSparseGPU_Workspace_gpuAllocators.cpp rename to SPQR/GPURuntime/Source/SuiteSparseGPU_Workspace_gpuAllocators.cpp diff --git a/SuiteSparse_GPURuntime/Source/SuiteSparseGPU_Workspace_transfer.cpp b/SPQR/GPURuntime/Source/SuiteSparseGPU_Workspace_transfer.cpp similarity index 100% rename from SuiteSparse_GPURuntime/Source/SuiteSparseGPU_Workspace_transfer.cpp rename to SPQR/GPURuntime/Source/SuiteSparseGPU_Workspace_transfer.cpp diff --git a/SPQR/SPQRGPU/CMakeLists.txt b/SPQR/SPQRGPU/CMakeLists.txt index 4b4ec76a8..b63a4ef8a 100644 --- a/SPQR/SPQRGPU/CMakeLists.txt +++ b/SPQR/SPQRGPU/CMakeLists.txt @@ -58,19 +58,12 @@ endif ( ) set ( SPQR_CUDA_INCLUDES ../Include ) -if ( TARGET SuiteSparse::GPUQREngine ) - target_include_directories ( SPQR_CUDA PRIVATE - "$" ) - target_include_directories ( SPQR_CUDA_static PRIVATE - "$" ) -endif ( ) - -if ( TARGET SuiteSparse::GPURuntime ) - target_include_directories ( SPQR_CUDA PRIVATE - "$" ) - target_include_directories ( SPQR_CUDA_static PRIVATE - "$" ) -endif ( ) +target_include_directories ( SPQR_CUDA PRIVATE + "$" + "$" ) +target_include_directories ( SPQR_CUDA_static PRIVATE + "$" + "$" ) target_include_directories ( SPQR_CUDA PRIVATE ${CUDAToolkit_INCLUDE_DIRS} diff --git a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_Workspace.hpp b/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_Workspace.hpp deleted file mode 100644 index 620404b16..000000000 --- a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_Workspace.hpp +++ /dev/null @@ -1,116 +0,0 @@ -// ============================================================================= -// === SuiteSparse_GPURuntime/Include/SuiteSparseGPU_Workspace.hpp ============= -// ============================================================================= - -// SuiteSparse_GPURuntime, Copyright (c) 2013-2016, Timothy A Davis, -// Sencer Nuri Yeralan, and Sanjay Ranka. All Rights Reserved. -// SPDX-License-Identifier: GPL-2.0+ - -//------------------------------------------------------------------------------ - -#ifndef SUITESPARSE_GPURUNTIME_WORKSPACE_HPP -#define SUITESPARSE_GPURUNTIME_WORKSPACE_HPP - -#include "SuiteSparseGPU_internal.hpp" - -class Workspace -{ -private: - - size_t nitems; // number of items to allocate - size_t size_of_item; // size of each item, in bytes - size_t totalSize; // nitems * size_of_item - -// bool lazyAllocate; // no longer used (for possible future use) - bool pageLocked; // true if CPU memory is pagelocked - - void *cpuReference; // pointer to CPU memory - void *gpuReference; // pointer to GPU memory - -public: - // Read-Only Properties - size_t getCount(void){ return nitems; } - size_t getStride(void){ return size_of_item; } - void *cpu(void){ return cpuReference; } - void *gpu(void){ return gpuReference; } - - // Constructor/Destructor - void *operator new(size_t bytes, Workspace* ptr){ return ptr; } - Workspace(size_t nitems, size_t size_of_item); - ~Workspace(); - - // Memory management wrappers - static void *cpu_malloc(size_t nitems, size_t size_of_item, - bool pageLocked=false); - static void *cpu_calloc(size_t nitems, size_t size_of_item, - bool pageLocked=false); - static void *cpu_free(void *address, bool pageLocked = false); - static void *gpu_malloc(size_t nitems, size_t size_of_item); - static void *gpu_calloc(size_t nitems, size_t size_of_item); - static void *gpu_free(void *); - - // Workspace management - static Workspace *allocate - ( - size_t nitems, // number of items to allocate - size_t size_of_item, // size of each item, in bytes - bool doCalloc = false, // if true, then calloc; else malloc - bool cpuAlloc = true, // if true, then allocate CPU memory - bool gpuAlloc = true, // if true, then allocate GPU memory - bool pageLocked = false // true if CPU memory is pagelocked - ); - - // destroy workspace, freeing memory on both the CPU and GPU - static Workspace *destroy - ( - Workspace *address - ); - - // Reference manipulation functions - template void extract(T *cpu_arg, T *gpu_arg) - { - *cpu_arg = (T) cpuReference; - *gpu_arg = (T) gpuReference; - } - void assign(void *cpu_arg, void *gpu_arg) - { - cpuReference = cpu_arg; - gpuReference = gpu_arg; - } - -// unused, left commented out for possible future use -// void setLazy() -// { -// lazyAllocate = true; -// } - - // Memory management for workspaces - virtual bool ws_malloc(bool cpuAlloc = true, bool gpuAlloc = true); - virtual bool ws_calloc(bool cpuAlloc = true, bool gpuAlloc = true); - virtual void ws_free(bool cpuFree=true, bool gpuFree=true); - - // GPU-CPU transfer routines - virtual bool transfer(cudaMemcpyKind direction, bool synchronous=true, - cudaStream_t stream=0); - - // CPU & GPU memory functions - // memset functions unused, left commented out for possible future use - // bool gpu_memset(size_t newValue); - // bool cpu_memset(size_t newValue); - - // Debug -#if DEBUG_ATLEAST_ERRORONLY - static void print(Workspace *workspace) - { - printf ( - "(%ld,%ld) has %ld entries of size %ld each.\n", - (size_t) workspace->cpu(), - (size_t) workspace->gpu(), - workspace->getCount(), - workspace->getStride() - ); - } -#endif -}; - -#endif diff --git a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_debug.hpp b/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_debug.hpp deleted file mode 100644 index cf3da1215..000000000 --- a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_debug.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// ============================================================================= -// === SuiteSparse_GPURuntime/Include/SuiteSparseGPU_debug.hpp ================= -// ============================================================================= - -// SuiteSparse_GPURuntime, Copyright (c) 2013-2016, Timothy A Davis, -// Sencer Nuri Yeralan, and Sanjay Ranka. All Rights Reserved. -// SPDX-License-Identifier: GPL-2.0+ - -//------------------------------------------------------------------------------ - -#ifndef SUITESPARSE_GPURUNTIME_DEBUG_HPP -#define SUITESPARSE_GPURUNTIME_DEBUG_HPP - -#define GPURUNTIME_DLEVEL_OFF 0 -#define GPURUNTIME_DLEVEL_ERRORONLY 1 -#define GPURUNTIME_DLEVEL_CASUAL 2 -#define GPURUNTIME_DLEVEL_VERBOSE 3 -#define GPURUNTIME_DLEVEL_EXTREME 4 - -//------------------------------------------------------------------------------ -// force debugging off -//------------------------------------------------------------------------------ - -#ifndef NDEBUG -#define NDEBUG -#endif - -// uncomment this line to turn on debugging -// #undef NDEBUG - -//------------------------------------------------------------------------------ - -#ifndef NDEBUG -#define GPURUNTIME_DLEVEL GPURUNTIME_DLEVEL_CASUAL -#else -// no debugging -#define GPURUNTIME_DLEVEL GPURUNTIME_DLEVEL_OFF -#endif - -#define DEBUG_ATLEAST_ERRORONLY (GPURUNTIME_DLEVEL >= GPURUNTIME_DLEVEL_ERRORONLY) -#define DEBUG_ATLEAST_CASUAL (GPURUNTIME_DLEVEL >= GPURUNTIME_DLEVEL_CASUAL) -#define DEBUG_ATLEAST_VERBOSE (GPURUNTIME_DLEVEL >= GPURUNTIME_DLEVEL_VERBOSE) -#define DEBUG_ATLEAST_EXTREME (GPURUNTIME_DLEVEL >= GPURUNTIME_DLEVEL_EXTREME) - -#ifndef GPURUNTIME_LOGFILE_PATH -#define GPURUNTIME_LOGFILE_PATH "SuiteSparse_GPURuntime-logfile.txt" -#endif - -#endif diff --git a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_internal.hpp b/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_internal.hpp deleted file mode 100644 index 6a61f1c32..000000000 --- a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_internal.hpp +++ /dev/null @@ -1,35 +0,0 @@ -// ============================================================================= -// SuiteSparse_GPURuntime/Include/SuiteSparseGPU_internal.hpp -// ============================================================================= - -// SuiteSparse_GPURuntime, Copyright (c) 2013-2016, Timothy A Davis, -// Sencer Nuri Yeralan, and Sanjay Ranka. All Rights Reserved. -// SPDX-License-Identifier: GPL-2.0+ - -//------------------------------------------------------------------------------ - -#ifndef SUITESPARSEGPU_INTERNAL_HPP -#define SUITESPARSEGPU_INTERNAL_HPP - -#ifdef SUITESPARSE_CUDA - - #include "cuda_runtime.h" - #include "SuiteSparse_config.h" - - #include - - #include "SuiteSparseGPU_macros.hpp" - - #if DEBUG_ATLEAST_ERRORONLY - #include - #endif - - class Workspace; - - #include "SuiteSparseGPU_Workspace.hpp" - -#endif - -#include "SuiteSparse_GPURuntime.hpp" - -#endif diff --git a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_macros.hpp b/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_macros.hpp deleted file mode 100644 index 298ff63d3..000000000 --- a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_macros.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// ============================================================================= -// === SuiteSparse_GPURuntime/Include/SuiteSparseGPU_macros.hpp ================ -// ============================================================================= - -// SuiteSparse_GPURuntime, Copyright (c) 2013-2016, Timothy A Davis, -// Sencer Nuri Yeralan, and Sanjay Ranka. All Rights Reserved. -// SPDX-License-Identifier: GPL-2.0+ - -//------------------------------------------------------------------------------ - -#ifndef SUITESPARSE_GPURUNTIME_MACROS_HPP -#define SUITESPARSE_GPURUNTIME_MACROS_HPP - -#ifndef IMPLIES -#define IMPLIES(p,q) (!(p) || ((p) && (q))) -#endif - -#include "SuiteSparseGPU_debug.hpp" -#include "SuiteSparseGPU_workspace_macros.hpp" - -#endif diff --git a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_workspace_macros.hpp b/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_workspace_macros.hpp deleted file mode 100644 index 0f11d0467..000000000 --- a/SuiteSparse_GPURuntime/Include/SuiteSparseGPU_workspace_macros.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// ============================================================================= -// SuiteSparse_GPURuntime/Include/SuiteSparseGPU_workspace_macros.hpp -// ============================================================================= - -// SuiteSparse_GPURuntime, Copyright (c) 2013-2016, Timothy A Davis, -// Sencer Nuri Yeralan, and Sanjay Ranka. All Rights Reserved. -// SPDX-License-Identifier: GPL-2.0+ - -//------------------------------------------------------------------------------ - -#ifndef SUITESPARSE_GPURUNTIME_WORKSPACE_MACROS_HPP -#define SUITESPARSE_GPURUNTIME_WORKSPACE_MACROS_HPP - -#ifndef GPU_REFERENCE -#define GPU_REFERENCE(WORKSPACE, TYPE) \ - ((TYPE) (WORKSPACE != NULL ? (WORKSPACE)->gpu() : NULL)) -#endif - -#ifndef CPU_REFERENCE -#define CPU_REFERENCE(WORKSPACE, TYPE) \ - ((TYPE) (WORKSPACE != NULL ? (WORKSPACE)->cpu() : NULL)) -#endif - -#endif diff --git a/SuiteSparse_GPURuntime/Makefile b/SuiteSparse_GPURuntime/Makefile deleted file mode 100644 index 3bc2d06d9..000000000 --- a/SuiteSparse_GPURuntime/Makefile +++ /dev/null @@ -1,74 +0,0 @@ -#------------------------------------------------------------------------------- -# SuiteSparse/SuiteSparse_GPURuntime/Makefile -#------------------------------------------------------------------------------- - -# SuiteSparse_GPURuntime, Copyright (c) 2013-2022, Timothy A Davis, -# Sencer Nuri Yeralan, and Sanjay Ranka. All Rights Reserved. -# SPDX-License-Identifier: GPL-2.0+ - -#------------------------------------------------------------------------------- - -# A simple Makefile for SuiteSparse_GPURuntime, which relies on cmake to do the -# actual build. All the work is done in cmake so this Makefile is just for -# convenience. - -# To compile with an alternate compiler: -# -# make CC=gcc CXX=g++ -# -# To compile/install for system-wide usage: -# -# make -# sudo make install -# -# To compile/install for local usage (SuiteSparse/lib and SuiteSparse/include): -# -# make local -# make install -# -# To clean up the files: -# -# make clean - -JOBS ?= 8 - -default: library - -# default is to install only in /usr/local -library: - ( cd build && cmake $(CMAKE_OPTIONS) .. && cmake --build . --config Release -j${JOBS} ) - -# install only in SuiteSparse/lib and SuiteSparse/include -local: - ( cd build && cmake $(CMAKE_OPTIONS) -DLOCAL_INSTALL=1 .. && cmake --build . --config Release -j${JOBS} ) - -# install only in /usr/local (default) -global: - ( cd build && cmake $(CMAKE_OPTIONS) -DLOCAL_INSTALL=0 .. && cmake --build . --config Release -j${JOBS} ) - -# just compile after running cmake; do not run cmake again -remake: - ( cd build && cmake --build . -j${JOBS} ) - -# just run cmake to set things up -setup: - ( cd build && cmake $(CMAKE_OPTIONS) .. ) - -install: - ( cd build && cmake --install . ) - -# remove any installed libraries and #include files -uninstall: - - xargs rm < build/install_manifest.txt - -# remove all files not in the distribution -clean: - - $(RM) -rf build/* - -purge: clean - -distclean: clean - -docs: - - diff --git a/SuiteSparse_GPURuntime/build/.gitignore b/SuiteSparse_GPURuntime/build/.gitignore deleted file mode 100644 index 52e15321b..000000000 --- a/SuiteSparse_GPURuntime/build/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore all files except this file. -* -*/ -!.gitignore