11# -*- Mode: cmake -*-
22cmake_minimum_required ( VERSION 3.18 )
33
4- project ( ChASE LANGUAGES C CXX Fortran VERSION 1.6.1 )
4+ project ( ChASE LANGUAGES C CXX Fortran VERSION 1.7.0 )
55set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH } "${CMAKE_CURRENT_SOURCE_DIR } /cmake/modules" )
66# ## algorithm ##
77
@@ -32,8 +32,12 @@ option(CHASE_SAVE_RESIDUALS "Print the residuals in an external file" OFF)
3232option (CHASE_ENABLE_XGEEV_RAYLEIGHRITZ "Enable solving pseudo-hermitian problems with XGEEV cusolver" OFF )
3333option (ChASE_DISPLAY_COND_V_SVD "Compute and display condition number of V from SVD" OFF )
3434option (CHASE_QR_DOUBLE_PRECISION "Operate QR in Double Precision" ON )
35- option (CHASE_PRINT_DEBUG "Print additional information for debugging purpose" OFF )
3635option (CHASE_RR_DOUBLE_PRECISION "Operate HEEVD in RR for pseudo-hermitian matrices in Double Precision" OFF )
36+ option (CHASE_ENABLE_TESTS "Enable unit tests." OFF )
37+
38+ if (NOT CMAKE_BUILD_TYPE STREQUAL "Release" )
39+ message (WARNING "For prodution, please consider CMAKE_BUILD_TYPE to be Release or RelWithDebInfo" )
40+ endif ()
3741
3842if ( CHASE_OUTPUT )
3943 target_compile_definitions ( chase_algorithm INTERFACE "-DCHASE_OUTPUT" )
@@ -84,10 +88,6 @@ if(CHASE_SAVE_RESIDUALS)
8488 add_definitions (-DCHASE_SAVE_RESIDUALS )
8589endif ()
8690
87- if (CHASE_PRINT_DEBUG)
88- add_definitions (-DCHASE_PRINT_DEBUG )
89- endif ()
90-
9191add_subdirectory (external )
9292add_subdirectory (grid )
9393add_subdirectory (linalg )
@@ -106,70 +106,7 @@ add_executable( "chase_driver_gpu" tests/noinput.cpp )
106106target_link_libraries (chase_driver_gpu chase_gpu )
107107endif ()
108108
109- #add_executable( "herm_chase_run_cpu" tests/dist_pseudo_noinput.cpp )
110- #target_link_libraries("herm_chase_run_cpu" chase_cpu)
111-
112- #add_executable( "pseudo_chase_run_cpu" tests/dist_pseudo_noinput.cpp )
113- #target_link_libraries("pseudo_chase_run_cpu" chase_cpu)
114- #target_compile_definitions( "pseudo_chase_run_cpu" PRIVATE USE_PSEUDO_HERMITIAN=1)
115-
116- #if(TARGET chase_gpu)
117- #add_executable("herm_chase_run_gpu" tests/dist_pseudo_noinput.cpp)
118- #target_link_libraries("herm_chase_run_gpu" chase_gpu)
119- #target_compile_definitions("herm_chase_run_gpu" INTERFACE "-DHAS_CUDA")
120-
121- #add_executable("pseudo_chase_run_gpu" tests/dist_pseudo_noinput.cpp)
122- #target_link_libraries("pseudo_chase_run_gpu" chase_gpu)
123- #target_compile_definitions("pseudo_chase_run_gpu" PRIVATE USE_PSEUDO_HERMITIAN=1)
124- #target_compile_definitions("pseudo_chase_run_gpu" INTERFACE "-DHAS_CUDA")
125- #endif()
126-
127- #if(TARGET pchase_cpu)
128- #add_executable("herm_block_dist_chase_run_cpu" tests/dist_pseudo_noinput.cpp)
129- #target_link_libraries("herm_block_dist_chase_run_cpu" pchase_cpu)
130- #target_compile_definitions("herm_block_dist_chase_run_cpu" PRIVATE USE_MPI=1)
131-
132- #add_executable("pseudo_block_dist_chase_run_cpu" tests/dist_pseudo_noinput.cpp)
133- #target_link_libraries("pseudo_block_dist_chase_run_cpu" pchase_cpu)
134- #target_compile_definitions("pseudo_block_dist_chase_run_cpu" PRIVATE USE_PSEUDO_HERMITIAN=1)
135- #target_compile_definitions("pseudo_block_dist_chase_run_cpu" PRIVATE USE_MPI=1)
136-
137- #add_executable("herm_cyclic_dist_chase_run_cpu" tests/dist_pseudo_noinput.cpp)
138- #target_link_libraries("herm_cyclic_dist_chase_run_cpu" pchase_cpu)
139- #target_compile_definitions("herm_cyclic_dist_chase_run_cpu" PRIVATE USE_BLOCKCYCLIC=1)
140- #target_compile_definitions("herm_cyclic_dist_chase_run_cpu" PRIVATE USE_MPI=1)
141-
142- #add_executable("pseudo_cyclic_dist_chase_run_cpu" tests/dist_pseudo_noinput.cpp )
143- #target_link_libraries("pseudo_cyclic_dist_chase_run_cpu" pchase_cpu)
144- #target_compile_definitions("pseudo_cyclic_dist_chase_run_cpu" PRIVATE USE_BLOCKCYCLIC=1)
145- #target_compile_definitions("pseudo_cyclic_dist_chase_run_cpu" PRIVATE USE_PSEUDO_HERMITIAN=1)
146- #target_compile_definitions("pseudo_cyclic_dist_chase_run_cpu" PRIVATE USE_MPI=1)
147- #endif()
148-
149- #if(TARGET pchase_gpu)
150- #add_executable("herm_block_dist_chase_run_gpu" tests/dist_pseudo_noinput.cpp)
151- #target_link_libraries("herm_block_dist_chase_run_gpu" pchase_gpu)
152- #target_compile_definitions("herm_block_dist_chase_run_gpu" INTERFACE "-DHAS_NCCL -DHAS_CUDA")
153-
154- #add_executable("pseudo_block_dist_chase_run_gpu" tests/dist_pseudo_noinput.cpp)
155- #target_link_libraries("pseudo_block_dist_chase_run_gpu" pchase_gpu)
156- #target_compile_definitions("pseudo_block_dist_chase_run_gpu" PRIVATE USE_PSEUDO_HERMITIAN=1)
157- #target_compile_definitions("pseudo_block_dist_chase_run_gpu" INTERFACE "-DHAS_NCCL -DHAS_CUDA")
158-
159- #add_executable("herm_cyclic_dist_chase_run_gpu" tests/dist_pseudo_noinput.cpp)
160- #target_link_libraries("herm_cyclic_dist_chase_run_gpu" pchase_gpu)
161- #target_compile_definitions("herm_cyclic_dist_chase_run_gpu" PRIVATE USE_BLOCKCYCLIC=1)
162- #target_compile_definitions("herm_cyclic_dist_chase_run_gpu" INTERFACE "-DHAS_NCCL -DHAS_CUDA")
163-
164- #add_executable("pseudo_cyclic_dist_chase_run_gpu" tests/dist_pseudo_noinput.cpp)
165- #target_link_libraries("pseudo_cyclic_dist_chase_run_gpu" pchase_gpu)
166- #target_compile_definitions("pseudo_cyclic_dist_chase_run_gpu" PRIVATE USE_BLOCKCYCLIC=1)
167- #target_compile_definitions("pseudo_cyclic_dist_chase_run_gpu" PRIVATE USE_PSEUDO_HERMITIAN=1)
168- #target_compile_definitions("pseudo_cyclic_dist_chase_run_gpu" INTERFACE "-DHAS_NCCL" "-DHAS_CUDA")
169- #endif()
170-
171- option (ENABLE_TESTS "Enable unit tests." OFF )
172- if (ENABLE_TESTS)
109+ if (CHASE_ENABLE_TESTS)
173110 MESSAGE ("Test enabled. Finding GoogleTests." )
174111 include (${CMAKE_SOURCE_DIR } /cmake/external/Gtest/FetchGtest.cmake )
175112 include (CTest )
@@ -186,39 +123,6 @@ if(CHASE_BUILD_WITH_DOCS)
186123 add_subdirectory ("docs" )
187124endif ()
188125
189- #get_target_property(interface_defs mpi_grid_nccl INTERFACE_COMPILE_DEFINITIONS)
190- #message("INTERFACE_COMPILE_DEFINITIONS: ${interface_defs}")
191-
192- # List all dependencies (linked targets)
193- #get_target_property(linked_libraries pchase_gpu INTERFACE_LINK_LIBRARIES)
194- #message("linked_libraries: ${linked_libraries}")
195- # Prepare a list to store definitions
196- #set(all_inherited_defs "")
197-
198- #foreach(dep ${linked_libraries})
199- # Check if the dependency is a valid target
200- # if(TARGET ${dep})
201- # Get INTERFACE_COMPILE_DEFINITIONS from the dependency
202- # get_target_property(dep_defs ${dep} INTERFACE_COMPILE_DEFINITIONS)
203-
204- # Append to the list
205- # if(dep_defs)
206- # list(APPEND all_inherited_defs ${dep_defs})
207- # endif()
208- # endif()
209- #endforeach()
210-
211- # Remove duplicates (optional)
212- #list(REMOVE_DUPLICATES all_inherited_defs)
213-
214- # Print all inherited definitions
215- #message("Inherited compile definitions: ${all_inherited_defs}")
216- #get_target_property(linked_libraries blaspp INTERFACE_LINK_LIBRARIES)
217- #message("Libraries linked by blaspp: ${linked_libraries}")
218- #get_target_property(blas_library ${linked_libraries} IMPORTED_LOCATION)
219- #message("BLAS library path: ${blas_library}")
220-
221-
222126##installation
223127install ( TARGETS chase_algorithm
224128 EXPORT chase_targets
0 commit comments