From 7234e7c4fdb0aa239ae38122fae23c1d68c9bb6b Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Tue, 9 Feb 2021 08:50:45 -0800 Subject: [PATCH 01/10] Update gauxc-dep-versions.cmake --- cmake/gauxc-dep-versions.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/gauxc-dep-versions.cmake b/cmake/gauxc-dep-versions.cmake index b53af5b4..5bf7b427 100644 --- a/cmake/gauxc-dep-versions.cmake +++ b/cmake/gauxc-dep-versions.cmake @@ -1,5 +1,5 @@ -set( GAUXC_LINALG_MODULES_REPOSITORY https://github.com/wavefunction91/linalg-cmake-modules.git ) -set( GAUXC_LINALG_MODULES_REVISION 89c82b78505f60657ef33b5bf38e5da059dff7f2 ) +set( GAUXC_LINALG_MODULES_REPOSITORY https://github.com/ajaypanyala/linalg-cmake-modules ) +set( GAUXC_LINALG_MODULES_REVISION master ) set( GAUXC_CEREAL_REPOSITORY https://github.com/USCiLab/cereal.git ) set( GAUXC_CEREAL_REVISION v1.3.0 ) From dfac9155f6a763bc1f74378cb5191a747e15279a Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Tue, 9 Feb 2021 09:06:39 -0800 Subject: [PATCH 02/10] Update gauxc-dep-versions.cmake --- cmake/gauxc-dep-versions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/gauxc-dep-versions.cmake b/cmake/gauxc-dep-versions.cmake index 5bf7b427..14b1ef38 100644 --- a/cmake/gauxc-dep-versions.cmake +++ b/cmake/gauxc-dep-versions.cmake @@ -1,5 +1,5 @@ set( GAUXC_LINALG_MODULES_REPOSITORY https://github.com/ajaypanyala/linalg-cmake-modules ) -set( GAUXC_LINALG_MODULES_REVISION master ) +set( GAUXC_LINALG_MODULES_REVISION main ) set( GAUXC_CEREAL_REPOSITORY https://github.com/USCiLab/cereal.git ) set( GAUXC_CEREAL_REVISION v1.3.0 ) From 4ed76aece754bb27e9449b10b559ff1458a81f0c Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Tue, 9 Feb 2021 15:39:49 -0800 Subject: [PATCH 03/10] Update gauxc-linalg-modules.cmake --- cmake/gauxc-linalg-modules.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/gauxc-linalg-modules.cmake b/cmake/gauxc-linalg-modules.cmake index 97ca026f..d53dfe3a 100644 --- a/cmake/gauxc-linalg-modules.cmake +++ b/cmake/gauxc-linalg-modules.cmake @@ -7,5 +7,5 @@ FetchContent_Declare( linalg-cmake-modules FetchContent_GetProperties( linalg-cmake-modules ) if( NOT linalg-cmake-modules_POPULATED ) FetchContent_Populate( linalg-cmake-modules ) - list( APPEND CMAKE_MODULE_PATH ${linalg-cmake-modules_SOURCE_DIR} ) + list( INSERT CMAKE_MODULE_PATH 0 ${linalg-cmake-modules_SOURCE_DIR} ) endif() From c46086d8389678d5f12f3a9d4cd5fc1cc43b36bf Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Tue, 9 Feb 2021 15:46:43 -0800 Subject: [PATCH 04/10] update exported config file to use the preferred linalg-modules --- cmake/gauxc-config.cmake.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/gauxc-config.cmake.in b/cmake/gauxc-config.cmake.in index c35b3a50..b31c1fee 100644 --- a/cmake/gauxc-config.cmake.in +++ b/cmake/gauxc-config.cmake.in @@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.17 FATAL_ERROR) # Require CMake 3.17+ get_filename_component(GauXC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -list(APPEND CMAKE_MODULE_PATH ${GauXC_CMAKE_DIR} ) -list(APPEND CMAKE_MODULE_PATH ${GauXC_CMAKE_DIR}/linalg-cmake-modules ) +list(INSERT CMAKE_MODULE_PATH 0 ${GauXC_CMAKE_DIR} ) +list(INSERT CMAKE_MODULE_PATH 0 ${GauXC_CMAKE_DIR}/linalg-cmake-modules ) include(CMakeFindDependencyMacro) # Always Required Dependencies @@ -38,8 +38,8 @@ if( GAUXC_ENABLE_MPI ) find_dependency( MPI ) endif() -list(REMOVE_AT CMAKE_MODULE_PATH -1) -list(REMOVE_AT CMAKE_MODULE_PATH -1) +list(REMOVE_AT CMAKE_PREFIX_PATH 0) +list(REMOVE_AT CMAKE_MODULE_PATH 0) if(NOT TARGET gauxc::gauxc) include("${GauXC_CMAKE_DIR}/gauxc-targets.cmake") From 1c6fbccbec8bb82c0c386d61e2ae4c6a69e51e72 Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Tue, 9 Feb 2021 16:55:04 -0800 Subject: [PATCH 05/10] CMAKE_MODULE_PATH fix? --- CMakeLists.txt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 155c4757..f5004dc9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,8 +6,8 @@ set( FETCHCONTENT_UPDATES_DISCONNECTED ON CACHE BOOL "Disable FC Updates" ) project( GauXC VERSION 0.0.1 LANGUAGES C CXX ) # Place local modules in the path -list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ) -list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules ) +list(INSERT CMAKE_MODULE_PATH 0 ${PROJECT_SOURCE_DIR}/cmake ) +list(INSERT CMAKE_MODULE_PATH 0 ${PROJECT_SOURCE_DIR}/cmake/modules ) include( gauxc-linalg-modules ) # Populate BUILD_TESTING prior to dependencies to avoid clash @@ -52,3 +52,10 @@ add_subdirectory( src ) if( CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND GAUXC_ENABLE_TESTS AND BUILD_TESTING ) add_subdirectory( tests ) endif() + +list(REMOVE_AT CMAKE_MODULE_PATH 0) +list(REMOVE_AT CMAKE_MODULE_PATH 0) + +if( linalg-cmake-modules_POPULATED ) + list(REMOVE_AT CMAKE_MODULE_PATH 0) +endif() From 3d0ffd019cc834fa9dc09daaf7a515ec68bffaf6 Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Tue, 9 Feb 2021 17:24:41 -0800 Subject: [PATCH 06/10] fix --- cmake/gauxc-config.cmake.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/gauxc-config.cmake.in b/cmake/gauxc-config.cmake.in index b31c1fee..716c49af 100644 --- a/cmake/gauxc-config.cmake.in +++ b/cmake/gauxc-config.cmake.in @@ -38,7 +38,7 @@ if( GAUXC_ENABLE_MPI ) find_dependency( MPI ) endif() -list(REMOVE_AT CMAKE_PREFIX_PATH 0) +list(REMOVE_AT CMAKE_MODULE_PATH 0) list(REMOVE_AT CMAKE_MODULE_PATH 0) if(NOT TARGET gauxc::gauxc) From fdf4cbf31528ad63485413dce88fc15ef3eb2f37 Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Tue, 9 Feb 2021 17:53:49 -0800 Subject: [PATCH 07/10] fix --- cmake/gauxc-config.cmake.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/gauxc-config.cmake.in b/cmake/gauxc-config.cmake.in index 716c49af..08534932 100644 --- a/cmake/gauxc-config.cmake.in +++ b/cmake/gauxc-config.cmake.in @@ -38,11 +38,11 @@ if( GAUXC_ENABLE_MPI ) find_dependency( MPI ) endif() -list(REMOVE_AT CMAKE_MODULE_PATH 0) -list(REMOVE_AT CMAKE_MODULE_PATH 0) - if(NOT TARGET gauxc::gauxc) include("${GauXC_CMAKE_DIR}/gauxc-targets.cmake") endif() set(GauXC_LIBRARIES gauxc::gauxc) + +list(REMOVE_AT CMAKE_MODULE_PATH 0) +list(REMOVE_AT CMAKE_MODULE_PATH 0) \ No newline at end of file From 0fb3fc4476fc03c628b4975eb8740df28c0dffe8 Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Wed, 10 Feb 2021 09:54:15 -0800 Subject: [PATCH 08/10] Option to disable OpenMP --- CMakeLists.txt | 1 + cmake/gauxc-config.cmake.in | 6 ++++-- src/CMakeLists.txt | 11 +++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f5004dc9..49fc6f8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,7 @@ endif() # GauXC Options option( GAUXC_ENABLE_HOST "Enable Host Integrator" ON ) +option( GAUXC_ENABLE_OPENMP "Enable OpenMP" ON ) option( GAUXC_ENABLE_CUDA "Enable CUDA Bindings" OFF ) option( GAUXC_ENABLE_MAGMA "Enable MAGMA Linear Algebra" ON ) option( GAUXC_ENABLE_MPI "Enable MPI Bindings" ON ) diff --git a/cmake/gauxc-config.cmake.in b/cmake/gauxc-config.cmake.in index 08534932..221076e9 100644 --- a/cmake/gauxc-config.cmake.in +++ b/cmake/gauxc-config.cmake.in @@ -9,15 +9,17 @@ include(CMakeFindDependencyMacro) # Always Required Dependencies find_dependency( IntegratorXX ) find_dependency( ExchCXX ) -find_dependency( OpenMP ) - set( GAUXC_ENABLE_HOST @GAUXC_ENABLE_HOST@ ) +set( GAUXC_ENABLE_OPENMP @GAUXC_ENABLE_OPENMP@ ) set( GAUXC_ENABLE_CUDA @GAUXC_ENABLE_CUDA@ ) set( GAUXC_ENABLE_MAGMA @GAUXC_ENABLE_MAGMA@ ) set( GAUXC_ENABLE_MPI @GAUXC_ENABLE_MPI@ ) set( GAUXC_ENABLE_GAU2GRID @GAUXC_ENABLE_GAU2GRID@ ) +if(GAUXC_ENABLE_OPENMP) + find_dependency( OpenMP ) +endif() if( GAUXC_ENABLE_HOST ) find_dependency( LAPACK ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c71f46fa..ad45c2c4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,8 @@ # Parallelism -find_package( OpenMP REQUIRED ) +if( GAUXC_ENABLE_OPENMP ) + find_package( OpenMP REQUIRED ) +endif() + if( GAUXC_ENABLE_MPI ) message( STATUS "GauXC Enabling MPI" ) find_package( MPI REQUIRED ) @@ -45,10 +48,14 @@ configure_file( ${PROJECT_BINARY_DIR}/include/gauxc/gauxc_config.hpp ) +if(GAUXC_ENABLE_OPENMP) + set(gauxc_omp_target OpenMP::OpenMP_CXX) +endif() + target_link_libraries( gauxc PUBLIC ExchCXX::ExchCXX IntegratorXX::IntegratorXX - OpenMP::OpenMP_CXX + ${gauxc_omp_target} ) if( GAUXC_ENABLE_MPI ) From e85fae64044e3bdd04a7650a22eb4b0e33c159ef Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Wed, 10 Feb 2021 11:34:58 -0800 Subject: [PATCH 09/10] cleanup --- CMakeLists.txt | 4 ++-- cmake/gauxc-config.cmake.in | 4 ++-- src/CMakeLists.txt | 9 ++++----- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 49fc6f8b..60a45a76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,8 +6,8 @@ set( FETCHCONTENT_UPDATES_DISCONNECTED ON CACHE BOOL "Disable FC Updates" ) project( GauXC VERSION 0.0.1 LANGUAGES C CXX ) # Place local modules in the path -list(INSERT CMAKE_MODULE_PATH 0 ${PROJECT_SOURCE_DIR}/cmake ) -list(INSERT CMAKE_MODULE_PATH 0 ${PROJECT_SOURCE_DIR}/cmake/modules ) +list(PREPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ) +list(PREPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules ) include( gauxc-linalg-modules ) # Populate BUILD_TESTING prior to dependencies to avoid clash diff --git a/cmake/gauxc-config.cmake.in b/cmake/gauxc-config.cmake.in index 221076e9..c7cf05f5 100644 --- a/cmake/gauxc-config.cmake.in +++ b/cmake/gauxc-config.cmake.in @@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.17 FATAL_ERROR) # Require CMake 3.17+ get_filename_component(GauXC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -list(INSERT CMAKE_MODULE_PATH 0 ${GauXC_CMAKE_DIR} ) -list(INSERT CMAKE_MODULE_PATH 0 ${GauXC_CMAKE_DIR}/linalg-cmake-modules ) +list(PREPEND CMAKE_MODULE_PATH ${GauXC_CMAKE_DIR} ) +list(PREPEND CMAKE_MODULE_PATH ${GauXC_CMAKE_DIR}/linalg-cmake-modules ) include(CMakeFindDependencyMacro) # Always Required Dependencies diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ad45c2c4..0c3ac5d9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -48,16 +48,15 @@ configure_file( ${PROJECT_BINARY_DIR}/include/gauxc/gauxc_config.hpp ) -if(GAUXC_ENABLE_OPENMP) - set(gauxc_omp_target OpenMP::OpenMP_CXX) -endif() - target_link_libraries( gauxc PUBLIC ExchCXX::ExchCXX IntegratorXX::IntegratorXX - ${gauxc_omp_target} ) +if(GAUXC_ENABLE_OPENMP) + target_link_libraries( gauxc PUBLIC OpenMP::OpenMP_CXX) +endif() + if( GAUXC_ENABLE_MPI ) target_link_libraries( gauxc PUBLIC MPI::MPI_C ) endif() From 42f623acb4b9321e7f0bed7d013ac0eec645cb21 Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Thu, 27 Apr 2023 10:01:15 -0700 Subject: [PATCH 10/10] use exchcxx fork of dmejiar for now --- cmake/gauxc-dep-versions.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/gauxc-dep-versions.cmake b/cmake/gauxc-dep-versions.cmake index 14b1ef38..4230bc60 100644 --- a/cmake/gauxc-dep-versions.cmake +++ b/cmake/gauxc-dep-versions.cmake @@ -1,5 +1,5 @@ -set( GAUXC_LINALG_MODULES_REPOSITORY https://github.com/ajaypanyala/linalg-cmake-modules ) -set( GAUXC_LINALG_MODULES_REVISION main ) +set( GAUXC_LINALG_MODULES_REPOSITORY https://github.com/wavefunction91/linalg-cmake-modules.git ) +set( GAUXC_LINALG_MODULES_REVISION ab47b9e329b524cab3855861c7c70f26cd8c3704 ) set( GAUXC_CEREAL_REPOSITORY https://github.com/USCiLab/cereal.git ) set( GAUXC_CEREAL_REVISION v1.3.0 ) @@ -7,8 +7,8 @@ set( GAUXC_CEREAL_REVISION v1.3.0 ) set( GAUXC_CUB_REPOSITORY https://github.com/NVIDIA/cub.git ) set( GAUXC_CUB_REVISION 1.10.0 ) -set( GAUXC_EXCHCXX_REPOSITORY https://github.com/wavefunction91/ExchCXX.git ) -set( GAUXC_EXCHCXX_REVISION 8966c818fe7531f3e85c0d8bc600bc310a99ba65 ) +set( GAUXC_EXCHCXX_REPOSITORY https://github.com/dmejiar/ExchCXX.git ) +set( GAUXC_EXCHCXX_REVISION master ) set( GAUXC_GAU2GRID_REPOSITORY https://github.com/dgasmith/gau2grid.git ) set( GAUXC_GAU2GRID_REVISION v2.0.6 )