From dda79b5d6cad5c060c61171f7f0e65db8ba8ad9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=BCtzel?= Date: Fri, 8 Sep 2023 19:18:09 +0200 Subject: [PATCH] SPQR: Make GPUQREngine a subproject. --- .github/workflows/build-arch-emu.yaml | 2 +- .github/workflows/build.yaml | 2 +- GPUQREngine/Makefile | 77 ----------------- GPUQREngine/build/.gitignore | 4 - Makefile | 7 -- SPQR/CMakeLists.txt | 16 +--- SPQR/Config/SPQRConfig.cmake.in | 29 ++++--- .../GPUQREngine}/CMakeLists.txt | 85 ++++++------------- .../GPUQREngine}/Config/GPUQREngine.hpp.in | 0 .../GPUQREngine}/Config/GPUQREngine.pc.in | 0 .../Config/GPUQREngineConfig.cmake.in | 0 .../GPUQREngine}/Demo/README.txt | 0 .../GPUQREngine}/Demo/gpuqrengine_demo.cpp | 0 .../GPUQREngine}/Doc/ChangeLog | 0 .../GPUQREngine}/Doc/License.txt | 0 {GPUQREngine => SPQR/GPUQREngine}/Doc/gpl.txt | 0 .../GPUQREngine}/Include/GPUQREngine.hpp | 0 .../Include/GPUQREngine_BucketList.hpp | 0 .../Include/GPUQREngine_Common.hpp | 0 .../Include/GPUQREngine_Front.hpp | 0 .../Include/GPUQREngine_FrontState.hpp | 0 .../Include/GPUQREngine_GraphVizHelper.hpp | 0 .../Include/GPUQREngine_Internal.hpp | 0 .../Include/GPUQREngine_LLBundle.hpp | 0 .../Include/GPUQREngine_SEntry.hpp | 0 .../Include/GPUQREngine_Scheduler.hpp | 0 .../Include/GPUQREngine_SparseMeta.hpp | 0 .../Include/GPUQREngine_Stats.hpp | 0 .../Include/GPUQREngine_SuiteSparse.hpp | 0 .../Include/GPUQREngine_TaskDescriptor.hpp | 0 .../Include/GPUQREngine_Timing.hpp | 0 .../Include/Kernel/Apply/block_apply.cu | 0 .../Include/Kernel/Apply/block_apply_1.cu | 0 .../Kernel/Apply/block_apply_1_by_1.cu | 0 .../Include/Kernel/Apply/block_apply_2.cu | 0 .../Kernel/Apply/block_apply_2_by_1.cu | 0 .../Include/Kernel/Apply/block_apply_3.cu | 0 .../Kernel/Apply/block_apply_3_by_1.cu | 0 .../Include/Kernel/Apply/block_apply_chunk.cu | 0 .../Include/Kernel/Apply/cevta_tile.cu | 0 .../Include/Kernel/Apply/params_apply.hpp | 0 .../Kernel/Apply/pipelined_rearrange.cu | 0 .../Include/Kernel/Assemble/packAssemble.cu | 0 .../Include/Kernel/Assemble/sAssemble.cu | 0 .../Kernel/Factorize/factorize_3_by_1.cu | 0 .../Include/Kernel/Factorize/factorize_vt.cu | 0 .../Kernel/Factorize/factorize_vt_1_by_1.cu | 0 .../Factorize/factorize_vt_1_by_1_edge.cu | 0 .../Kernel/Factorize/factorize_vt_2_by_1.cu | 0 .../Factorize/factorize_vt_2_by_1_edge.cu | 0 .../Kernel/Factorize/factorize_vt_3_by_1.cu | 0 .../Factorize/factorize_vt_3_by_1_edge.cu | 0 .../GPUQREngine}/Include/Kernel/qrKernel.cu | 0 .../Include/Kernel/sharedMemory.hpp | 0 .../GPUQREngine}/Include/Kernel/uberKernel.cu | 0 .../GPUQREngine}/Include/README.txt | 0 .../Include/SuiteSparseGPU_Workspace.hpp | 0 .../Include/SuiteSparseGPU_debug.hpp | 0 .../Include/SuiteSparseGPU_internal.hpp | 0 .../Include/SuiteSparseGPU_macros.hpp | 0 .../SuiteSparseGPU_workspace_macros.hpp | 0 {GPUQREngine => SPQR/GPUQREngine}/README.txt | 0 .../Source/BucketList/BucketList.cpp | 0 .../BucketList/BucketList_AdvanceBundles.cpp | 0 .../BucketList/BucketList_CreateBundles.cpp | 0 .../BucketList/BucketList_FillWorkQueue.cpp | 0 .../BucketList/BucketList_GrowBundles.cpp | 0 .../Source/BucketList/BucketList_Manage.cpp | 0 .../BucketList/BucketList_PostProcessing.cpp | 0 .../Source/GPUQREngine_ExpertDense.cpp | 0 .../Source/GPUQREngine_ExpertSparse.cpp | 0 .../Source/GPUQREngine_GraphVizHelper.cpp | 0 .../Source/GPUQREngine_Internal.cpp | 0 .../Source/GPUQREngine_UberKernel.cu | 0 .../Source/LLBundle/LLBundle_AddTiles.cpp | 0 .../Source/LLBundle/LLBundle_Advance.cpp | 0 .../Source/LLBundle/LLBundle_GPUPack.cpp | 0 .../LLBundle/LLBundle_PipelinedRearrange.cpp | 0 .../LLBundle_UpdateSecondMinIndex.cpp | 0 .../Source/Scheduler/Scheduler.cpp | 0 .../Scheduler/Scheduler_FillWorkQueue.cpp | 0 .../Source/Scheduler/Scheduler_Front.cpp | 0 .../Scheduler/Scheduler_LaunchKernel.cpp | 0 .../Scheduler/Scheduler_PostProcess.cpp | 0 .../Source/Scheduler/Scheduler_Render.cpp | 0 .../Scheduler/Scheduler_TransferData.cpp | 0 .../TaskDescriptor/TaskDescriptor_flops.cpp | 0 .../Source/ssgpu_maxQueueSize.cpp | 0 SPQR/SPQRGPU/CMakeLists.txt | 10 +-- 89 files changed, 55 insertions(+), 177 deletions(-) delete mode 100644 GPUQREngine/Makefile delete mode 100644 GPUQREngine/build/.gitignore rename {GPUQREngine => SPQR/GPUQREngine}/CMakeLists.txt (78%) rename {GPUQREngine => SPQR/GPUQREngine}/Config/GPUQREngine.hpp.in (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Config/GPUQREngine.pc.in (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Config/GPUQREngineConfig.cmake.in (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Demo/README.txt (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Demo/gpuqrengine_demo.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Doc/ChangeLog (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Doc/License.txt (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Doc/gpl.txt (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_BucketList.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_Common.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_Front.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_FrontState.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_GraphVizHelper.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_Internal.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_LLBundle.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_SEntry.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_Scheduler.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_SparseMeta.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_Stats.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_SuiteSparse.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_TaskDescriptor.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/GPUQREngine_Timing.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/block_apply.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/block_apply_1.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/block_apply_1_by_1.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/block_apply_2.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/block_apply_2_by_1.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/block_apply_3.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/block_apply_3_by_1.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/block_apply_chunk.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/cevta_tile.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/params_apply.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Apply/pipelined_rearrange.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Assemble/packAssemble.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Assemble/sAssemble.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Factorize/factorize_3_by_1.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Factorize/factorize_vt.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Factorize/factorize_vt_1_by_1.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Factorize/factorize_vt_1_by_1_edge.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Factorize/factorize_vt_2_by_1.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Factorize/factorize_vt_2_by_1_edge.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Factorize/factorize_vt_3_by_1.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/Factorize/factorize_vt_3_by_1_edge.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/qrKernel.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/sharedMemory.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/Kernel/uberKernel.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/README.txt (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/SuiteSparseGPU_Workspace.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/SuiteSparseGPU_debug.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/SuiteSparseGPU_internal.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/SuiteSparseGPU_macros.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Include/SuiteSparseGPU_workspace_macros.hpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/README.txt (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/BucketList/BucketList.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/BucketList/BucketList_AdvanceBundles.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/BucketList/BucketList_CreateBundles.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/BucketList/BucketList_FillWorkQueue.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/BucketList/BucketList_GrowBundles.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/BucketList/BucketList_Manage.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/BucketList/BucketList_PostProcessing.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/GPUQREngine_ExpertDense.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/GPUQREngine_ExpertSparse.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/GPUQREngine_GraphVizHelper.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/GPUQREngine_Internal.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/GPUQREngine_UberKernel.cu (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/LLBundle/LLBundle_AddTiles.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/LLBundle/LLBundle_Advance.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/LLBundle/LLBundle_GPUPack.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/LLBundle/LLBundle_PipelinedRearrange.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/LLBundle/LLBundle_UpdateSecondMinIndex.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/Scheduler/Scheduler.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/Scheduler/Scheduler_FillWorkQueue.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/Scheduler/Scheduler_Front.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/Scheduler/Scheduler_LaunchKernel.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/Scheduler/Scheduler_PostProcess.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/Scheduler/Scheduler_Render.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/Scheduler/Scheduler_TransferData.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/TaskDescriptor/TaskDescriptor_flops.cpp (100%) rename {GPUQREngine => SPQR/GPUQREngine}/Source/ssgpu_maxQueueSize.cpp (100%) diff --git a/.github/workflows/build-arch-emu.yaml b/.github/workflows/build-arch-emu.yaml index 8011d708c5..0a54ccbf24 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:SuiteSparse_GPURuntime: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 54de7ca068..8e9751282f 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:SuiteSparse_GPURuntime: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/GPUQREngine/Makefile b/GPUQREngine/Makefile deleted file mode 100644 index 3c30d15e44..0000000000 --- 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 52e15321b7..0000000000 --- a/GPUQREngine/build/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore all files except this file. -* -*/ -!.gitignore diff --git a/Makefile b/Makefile index 40a9d5db52..c35559c744 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,6 @@ library: ( cd UMFPACK && $(MAKE) ) ( cd RBio && $(MAKE) ) ( cd SuiteSparse_GPURuntime && $(MAKE) ) - ( cd GPUQREngine && $(MAKE) ) ( cd SPQR && $(MAKE) ) ( cd GraphBLAS && $(MAKE) ) ( cd SPEX && $(MAKE) ) @@ -59,7 +58,6 @@ 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 ) @@ -82,7 +80,6 @@ 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 ) @@ -103,7 +100,6 @@ 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 ) @@ -124,7 +120,6 @@ 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 ) @@ -149,7 +144,6 @@ 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 @@ -225,7 +219,6 @@ 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 cb88165ba0..3644a7a658 100644 --- a/SPQR/CMakeLists.txt +++ b/SPQR/CMakeLists.txt @@ -101,12 +101,6 @@ if ( SUITESPARSE_CUDA ) 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 ) @@ -119,6 +113,7 @@ include ( SuiteSparseLAPACK ) # requires cmake 3.22 if ( SUITESPARSE_CUDA ) # with CUDA + add_subdirectory ( GPUQREngine ) add_subdirectory ( SPQRGPU ) endif ( ) @@ -260,7 +255,7 @@ if ( SUITESPARSE_CUDA ) # 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 ) + GPUQREngine SuiteSparse::GPURuntime ) target_compile_definitions ( SPQR PUBLIC "SUITESPARSE_CUDA" ) set ( SPQR_CFLAGS "-DSUITESPARSE_CUDA" ) if ( NOT NSTATIC ) @@ -272,11 +267,8 @@ if ( SUITESPARSE_CUDA ) target_link_libraries ( SPQR_static PUBLIC SPQR_CUDA_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 ( ) + target_link_libraries ( SPQR_static PUBLIC GPUQREngine_static ) + if ( TARGET SuiteSparse::GPURuntime_static ) target_link_libraries ( SPQR_static PUBLIC SuiteSparse::GPURuntime_static ) else ( ) diff --git a/SPQR/Config/SPQRConfig.cmake.in b/SPQR/Config/SPQRConfig.cmake.in index fa430d048c..a50e85af85 100644 --- a/SPQR/Config/SPQRConfig.cmake.in +++ b/SPQR/Config/SPQRConfig.cmake.in @@ -42,20 +42,27 @@ 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@ ) - # First check in a common build tree - find_dependency ( SPQR_CUDA ${SPQR_VERSION} - PATHS ${CMAKE_SOURCE_DIR}/../SPQR/build NO_DEFAULT_PATH ) - # Then, check in the currently active CMAKE_MODULE_PATH - if ( NOT SPQR_CUDA_FOUND ) - find_dependency ( SPQR_CUDA ${SPQR_VERSION} ) - endif ( ) - else ( ) + if ( @SUITESPARSE_IN_BUILD_TREE@ ) + # 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 TARGET GPUQREngine ) + find_dependency ( GPUQREngine @GPUQRENGINE_VERSION_MAJOR@.@GPUQRENGINE_VERSION_MINOR@ ) + endif ( ) + + # First check in a common build tree + find_dependency ( SPQR_CUDA ${SPQR_VERSION} + PATHS ${CMAKE_SOURCE_DIR}/../SPQR/build NO_DEFAULT_PATH ) + # Then, check in the currently active CMAKE_MODULE_PATH + if ( NOT TARGET SPQR_CUDA ) find_dependency ( SPQR_CUDA ${SPQR_VERSION} ) endif ( ) + else ( ) + find_dependency ( GPUQREngine @GPUQRENGINE_VERSION_MAJOR@.@GPUQRENGINE_VERSION_MINOR@ ) + find_dependency ( SPQR_CUDA ${SPQR_VERSION} ) endif ( ) - if ( NOT SPQR_CUDA_FOUND ) + if ( 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 78% rename from GPUQREngine/CMakeLists.txt rename to SPQR/GPUQREngine/CMakeLists.txt index 1a592b016c..04410d80ed 100644 --- a/GPUQREngine/CMakeLists.txt +++ b/SPQR/GPUQREngine/CMakeLists.txt @@ -22,14 +22,16 @@ 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 #------------------------------------------------------------------------------- set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} - ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/cmake_modules ) - -option ( ENABLE_CUDA "Enable CUDA acceleration" on ) + ${CMAKE_SOURCE_DIR}/../../SuiteSparse_config/cmake_modules ) include ( SuiteSparsePolicy ) @@ -37,17 +39,9 @@ include ( SuiteSparsePolicy ) # define the project #------------------------------------------------------------------------------- -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 ( ) +project ( gpuqrengine + VERSION "${GPUQRENGINE_VERSION_MAJOR}.${GPUQRENGINE_VERSION_MINOR}.${GPUQRENGINE_VERSION_SUB}" + LANGUAGES CXX CUDA ) #------------------------------------------------------------------------------- # find library dependencies @@ -55,17 +49,15 @@ 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 ( ) +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 ( ) # Demo disabled for GPUQREngine v2.x @@ -74,37 +66,37 @@ set ( DEMO_OK false ) if ( DEMO AND DEMO_OK ) # for the demo only: find_package ( AMD 3.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../AMD/build NO_DEFAULT_PATH ) + PATHS ${CMAKE_SOURCE_DIR}/../../AMD/build NO_DEFAULT_PATH ) if ( NOT TARGET SuiteSparse::AMD ) find_package ( AMD 3.2.0 ) endif ( ) find_package ( COLAMD 3.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../COLAMD/build NO_DEFAULT_PATH ) + PATHS ${CMAKE_SOURCE_DIR}/../../COLAMD/build NO_DEFAULT_PATH ) if ( NOT TARGET SuiteSparse::COLAMD ) find_package ( COLAMD 3.2.0 ) endif ( ) find_package ( CAMD 3.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../CAMD/build NO_DEFAULT_PATH ) + PATHS ${CMAKE_SOURCE_DIR}/../../CAMD/build NO_DEFAULT_PATH ) if ( NOT TARGET SuiteSparse::CAMD ) find_package ( CAMD 3.2.0 ) endif ( ) find_package ( CCOLAMD 3.2.0 - PATHS ${CMAKE_SOURCE_DIR}/../CCOLAMD/build NO_DEFAULT_PATH ) + PATHS ${CMAKE_SOURCE_DIR}/../../CCOLAMD/build NO_DEFAULT_PATH ) if ( NOT TARGET SuiteSparse::CCOLAMD ) find_package ( CCOLAMD 3.2.0 ) endif ( ) 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 ( ) find_package ( CHOLMOD_CUDA 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_CUDA ) find_package ( CHOLMOD_CUDA 4.2.0 ) endif ( ) @@ -127,27 +119,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 #------------------------------------------------------------------------------- @@ -164,19 +140,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 $ @@ -312,8 +283,7 @@ 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::CHOLMOD SuiteSparse::CHOLMOD_CUDA SuiteSparse::GPURuntime SuiteSparse::SuiteSparseConfig ) else ( ) @@ -327,4 +297,3 @@ endif ( ) #------------------------------------------------------------------------------- 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/Include/README.txt b/SPQR/GPUQREngine/Include/README.txt similarity index 100% rename from GPUQREngine/Include/README.txt rename to SPQR/GPUQREngine/Include/README.txt diff --git a/GPUQREngine/Include/SuiteSparseGPU_Workspace.hpp b/SPQR/GPUQREngine/Include/SuiteSparseGPU_Workspace.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_Workspace.hpp rename to SPQR/GPUQREngine/Include/SuiteSparseGPU_Workspace.hpp diff --git a/GPUQREngine/Include/SuiteSparseGPU_debug.hpp b/SPQR/GPUQREngine/Include/SuiteSparseGPU_debug.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_debug.hpp rename to SPQR/GPUQREngine/Include/SuiteSparseGPU_debug.hpp diff --git a/GPUQREngine/Include/SuiteSparseGPU_internal.hpp b/SPQR/GPUQREngine/Include/SuiteSparseGPU_internal.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_internal.hpp rename to SPQR/GPUQREngine/Include/SuiteSparseGPU_internal.hpp diff --git a/GPUQREngine/Include/SuiteSparseGPU_macros.hpp b/SPQR/GPUQREngine/Include/SuiteSparseGPU_macros.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_macros.hpp rename to SPQR/GPUQREngine/Include/SuiteSparseGPU_macros.hpp diff --git a/GPUQREngine/Include/SuiteSparseGPU_workspace_macros.hpp b/SPQR/GPUQREngine/Include/SuiteSparseGPU_workspace_macros.hpp similarity index 100% rename from GPUQREngine/Include/SuiteSparseGPU_workspace_macros.hpp rename to SPQR/GPUQREngine/Include/SuiteSparseGPU_workspace_macros.hpp 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/SPQR/SPQRGPU/CMakeLists.txt b/SPQR/SPQRGPU/CMakeLists.txt index 4b4ec76a84..e72c3569bd 100644 --- a/SPQR/SPQRGPU/CMakeLists.txt +++ b/SPQR/SPQRGPU/CMakeLists.txt @@ -58,12 +58,10 @@ endif ( ) set ( SPQR_CUDA_INCLUDES ../Include ) -if ( TARGET SuiteSparse::GPUQREngine ) - 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 + "$" ) if ( TARGET SuiteSparse::GPURuntime ) target_include_directories ( SPQR_CUDA PRIVATE