From 6ce5ee22d7ca3fe1f054bbf016c63ab111c29fae Mon Sep 17 00:00:00 2001 From: "Cheng, Xiaoxing" Date: Fri, 17 Jan 2025 20:43:37 -0600 Subject: [PATCH 1/5] setup the cmake build system --- .gitignore | 7 +- CMakeLists.txt | 97 +++++++++++++++---- CMakePresets.json | 53 ++++++++++ README.md | 6 ++ faspxxConfig.cmake.in | 11 +++ interface/CMakeLists.txt | 2 + src/ITM/CMakeLists.txt | 9 ++ src/JSON/CMakeLists.txt | 13 +++ src/LS/CMakeLists.txt | 21 ++++ src/LS/parbsr_ls/CMakeLists.txt | 5 + src/LS/parcsr_ls/CMakeLists.txt | 6 ++ .../parcsr_ls/parcsr_coarsen/CMakeLists.txt | 2 + src/LS/parcsr_ls/parcsr_interp/CMakeLists.txt | 11 +++ src/LS/parcsr_ls/parcsr_relax/CMakeLists.txt | 3 + src/MAT/CMakeLists.txt | 18 ++++ src/MAT/bsr_mv/CMakeLists.txt | 5 + src/MAT/csr_mv/CMakeLists.txt | 5 + src/MAT/parbsr_mv/CMakeLists.txt | 6 ++ src/MAT/parcsr_mv/CMakeLists.txt | 13 +++ utilities/CMakeLists.txt | 34 +++++++ 20 files changed, 306 insertions(+), 21 deletions(-) create mode 100644 CMakePresets.json create mode 100644 faspxxConfig.cmake.in create mode 100644 interface/CMakeLists.txt create mode 100644 src/ITM/CMakeLists.txt create mode 100644 src/JSON/CMakeLists.txt create mode 100644 src/LS/CMakeLists.txt create mode 100644 src/LS/parbsr_ls/CMakeLists.txt create mode 100644 src/LS/parcsr_ls/CMakeLists.txt create mode 100644 src/LS/parcsr_ls/parcsr_coarsen/CMakeLists.txt create mode 100644 src/LS/parcsr_ls/parcsr_interp/CMakeLists.txt create mode 100644 src/LS/parcsr_ls/parcsr_relax/CMakeLists.txt create mode 100644 src/MAT/CMakeLists.txt create mode 100644 src/MAT/bsr_mv/CMakeLists.txt create mode 100644 src/MAT/csr_mv/CMakeLists.txt create mode 100644 src/MAT/parbsr_mv/CMakeLists.txt create mode 100644 src/MAT/parcsr_mv/CMakeLists.txt create mode 100644 utilities/CMakeLists.txt diff --git a/.gitignore b/.gitignore index f5446c3..79d3fb5 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,9 @@ FASPXX_macro.h *.synctex.gz *.log *.out -*.tex \ No newline at end of file +*.tex + + +build +install +__.SYMDEF* \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b95183..8d7b9ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,37 +1,94 @@ # Minimum CMake version -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.21) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_C_COMPILER mpicc) +# set(CMAKE_C_COMPILER mpicc) # Project Name -project(FASPXX) +project(FASPXX VERSION 1.0.0) + +find_package(MPI REQUIRED) + # Set the output library name -set(LIBRARY_NAME FASPXX) +set(LIBRARY_NAME FASPXX CACHE STRING "The library name") +add_library(${LIBRARY_NAME}) +add_library(FASP::faspxx ALIAS ${LIBRARY_NAME}) +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) + +if(MPI_FOUND) + target_link_libraries(${LIBRARY_NAME} PUBLIC MPI::MPI_C MPI::MPI_CXX) + target_include_directories(${LIBRARY_NAME} PUBLIC ${MPI_INCLUDE_PATH}) +endif() + +add_subdirectory(utilities) +add_subdirectory(src/JSON) +add_subdirectory(src/MAT) +add_subdirectory(src/LS) +add_subdirectory(src/ITM) +add_subdirectory(interface) -# Add the source directories -file(GLOB_RECURSE SRC1 "src/*.c") -# message(STATUS "SRC1: ${SRC1}") -file(GLOB_RECURSE SRC2 "utilities/*.c") -# message(STATUS "SRC2: ${SRC2}") +# Install and export -file(GLOB_RECURSE SRC3 "interface/*.c") -# message(STATUS "SRC3: ${SRC3}") +include(GNUInstallDirs) +# set(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR} CACHE PATH "the install path" FORCE) +install(TARGETS ${LIBRARY_NAME} + EXPORT faspxxTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) +install(FILES "include/faspxx.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -set(ALL_SRC ${SRC1} ${SRC2} ${SRC3} ) -# message(STATUS "ALL: ${ALL_SRC}") +set(FASPXX_INSTALL TRUE) +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + faspxxConfigVersion.cmake + VERSION ${PACKAGE_VERSION} + COMPATIBILITY AnyNewerVersion + ) +install(EXPORT faspxxTargets + FILE faspxxTargets.cmake + NAMESPACE FASP:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/faspxx + ) +# export(TARGETS faspxx NAMESPACE FASP:: FILE ${PROJECT_SOURCE_DIR}/modules/faspxx-targets.cmake) +configure_file(${PROJECT_SOURCE_DIR}/faspxxConfig.cmake.in faspxxConfig.cmake @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/faspxxConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/faspxxConfigVersion.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/faspxx + ) -# add_compile_options( -g -std=gnu99) -add_compile_options(-O2 -DHAVE_CONFIG_H -std=gnu99) -# Include header directories -include_directories(include utilities src/LS/parcsr_ls/ src/LS/parbsr_ls/ src/MAT/csr_mv/ src/MAT/bsr_mv/ src/MAT/parcsr_mv/ src/MAT/parbsr_mv/ ) -# Create the shared library -add_library(${LIBRARY_NAME} SHARED ${ALL_SRC}) -install(TARGETS ${LIBRARY_NAME} DESTINATION ${CMAKE_SOURCE_DIR}/lib/) + +# Add a custom command named headers +add_custom_command( + OUTPUT ${PROJECT_SOURCE_DIR}/include/faspxx.h + COMMAND cat interface/*.c src/JSON/*.c src/MAT/*.c src/LS/*.c src/ITM/*.c utilities/*.c | awk -v name="faspxx.h" -f./utilities/mkheaders.awk > ${PROJECT_SOURCE_DIR}/include/faspxx.h + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + COMMENT "Generating faspxx.h header" + VERBATIM +) +add_custom_target(headers DEPENDS ${PROJECT_SOURCE_DIR}/include/faspxx.h) + + +# Add a custom command named codenum +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codenum_result + COMMAND find. -type d \( -name ".git" -o -name "data" -o -name "lib" \) -prune -o -type f -print | xargs wc -l + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + COMMENT "Counting lines of code" + VERBATIM + USES_TERMINAL +) +add_custom_target(codenum DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/codenum_result) + +# Add the source directories diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000..16e08fd --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,53 @@ +{ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 21, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default", + "displayName": "Default Config", + "description": "Default build configuration", + "generator": "Unix Makefiles", + "binaryDir": "${sourceDir}/build/release", + "installDir": "${sourceDir}/install/release", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release", + "CMAKE_C_FLAGS": "-O2 -DHAVE_CONFIG_H -std=gnu99", + "CMAKE_CXX_FLAGS": "-O2 -DHAVE_CONFIG_H" + } + }, + { + "name": "debug", + "displayName": "Debug Config", + "description": "Debug build configuration", + "generator": "Unix Makefiles", + "binaryDir": "${sourceDir}/build/debug", + "installDir": "${sourceDir}/install/debug", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "CMAKE_C_FLAGS": "-g -Wall -DHAVE_CONFIG_H -std=gnu99", + "CMAKE_CXX_FLAGS": "-g -Wall -DHAVE_CONFIG_H", + "CMAKE_INSTALL_PREFIX": "build/install/debug" + } + } + ], + "buildPresets": [ + { + "name": "default-build", + "displayName": "Default Build", + "configurePreset": "default", + "configuration": "Release", + "jobs": 4 + }, + { + "name": "debug-build", + "displayName": "Debug Build", + "configurePreset": "debug", + "configuration": "Debug", + "jobs": 4 + } + ] + } \ No newline at end of file diff --git a/README.md b/README.md index 0c43e1c..c8b0bdc 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,12 @@ make make run # or make mpirun4 or mpirun -np 4 ./demo demo.json ``` +``` +cmake --preset debug +cmake --build --preset debug-build +cmake --build --preset debug-build --target install +``` + ### 5. Results ```txt diff --git a/faspxxConfig.cmake.in b/faspxxConfig.cmake.in new file mode 100644 index 0000000..2ad6b9d --- /dev/null +++ b/faspxxConfig.cmake.in @@ -0,0 +1,11 @@ +include(CMakeFindDependencyMacro) + +# Capturing values from configure (optional) +# set(my-config-var @my-config-var@) + +# Same syntax as find_package +find_dependency(MPI REQUIRED) +# Any extra setup + +# Add the targets file +include("${CMAKE_CURRENT_LIST_DIR}/faspxxTargets.cmake") \ No newline at end of file diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt new file mode 100644 index 0000000..ad2a7b3 --- /dev/null +++ b/interface/CMakeLists.txt @@ -0,0 +1,2 @@ +set(SRC OCP_impec.c OCP_fim.c) +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) diff --git a/src/ITM/CMakeLists.txt b/src/ITM/CMakeLists.txt new file mode 100644 index 0000000..ac6dcd3 --- /dev/null +++ b/src/ITM/CMakeLists.txt @@ -0,0 +1,9 @@ +# set(ITM_LIB_NAME ${LIBRARY_NAME}_ITM) +# add_library(${ITM_LIB_NAME}) +# add_library(FASP::ITM ALIAS ${ITM_LIB_NAME}) + +set(SRC ITM.c ITM_richardson.c ITM_pcg.c ITM_pfgmres.c ITM_pbicgstab.c) + +# target_sources(${ITM_LIB_NAME} PUBLIC ${SRC}) + +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) diff --git a/src/JSON/CMakeLists.txt b/src/JSON/CMakeLists.txt new file mode 100644 index 0000000..0f28a1b --- /dev/null +++ b/src/JSON/CMakeLists.txt @@ -0,0 +1,13 @@ +# set(JSON_LIB_NAME ${LIBRARY_NAME}_JSON) +# add_library(${JSON_LIB_NAME}) +# add_library(FASP::JSON ALIAS ${JSON_LIB_NAME}) + +set(SRC cJSON.c JSON.c) + +# target_sources( +# ${JSON_LIB_NAME} +# PUBLIC ${SRC}) + +target_sources( + ${LIBRARY_NAME} + PRIVATE ${SRC}) \ No newline at end of file diff --git a/src/LS/CMakeLists.txt b/src/LS/CMakeLists.txt new file mode 100644 index 0000000..36e18fe --- /dev/null +++ b/src/LS/CMakeLists.txt @@ -0,0 +1,21 @@ +# set(LS_LIB_NAME ${LIBRARY_NAME}_LS) add_library(${LS_LIB_NAME}) +# add_library(FASP::LS ALIAS ${LS_LIB_NAME}) + +set(SRC + LS.c + LS_ml.c + LS_ml_parcsr.c + LS_ml_parbsr.c + LS_relax.c + LS_cpr.c + LS_ilu.c + LS_ilu_seq.c) +# target_sources(${ITM_LIB_NAME} PUBLIC ${SRC}) + +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) + +add_subdirectory(parbsr_ls) +add_subdirectory(parcsr_ls) \ No newline at end of file diff --git a/src/LS/parbsr_ls/CMakeLists.txt b/src/LS/parbsr_ls/CMakeLists.txt new file mode 100644 index 0000000..69f2782 --- /dev/null +++ b/src/LS/parbsr_ls/CMakeLists.txt @@ -0,0 +1,5 @@ +set(SRC par_bsr_interp.c par_bsr_nodal_systems.c par_bsr_relax.c) +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) +target_include_directories( + ${LIBRARY_NAME} PUBLIC $ + $) diff --git a/src/LS/parcsr_ls/CMakeLists.txt b/src/LS/parcsr_ls/CMakeLists.txt new file mode 100644 index 0000000..b167868 --- /dev/null +++ b/src/LS/parcsr_ls/CMakeLists.txt @@ -0,0 +1,6 @@ +add_subdirectory(parcsr_coarsen) +add_subdirectory(parcsr_interp) +add_subdirectory(parcsr_relax) +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) \ No newline at end of file diff --git a/src/LS/parcsr_ls/parcsr_coarsen/CMakeLists.txt b/src/LS/parcsr_ls/parcsr_coarsen/CMakeLists.txt new file mode 100644 index 0000000..7ad96f0 --- /dev/null +++ b/src/LS/parcsr_ls/parcsr_coarsen/CMakeLists.txt @@ -0,0 +1,2 @@ +set(SRC par_aggregation.c par_coarsen.c par_indepset.c par_strength.c) +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) diff --git a/src/LS/parcsr_ls/parcsr_interp/CMakeLists.txt b/src/LS/parcsr_ls/parcsr_interp/CMakeLists.txt new file mode 100644 index 0000000..c17283c --- /dev/null +++ b/src/LS/parcsr_ls/parcsr_interp/CMakeLists.txt @@ -0,0 +1,11 @@ +set(SRC + aux_interp.c + par_interp.c + par_interp_agg.c + par_lr_interp.c + par_mod_multi_interp.c + par_multi_interp.c + par_rap.c + par_rap_communication.c) + +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) diff --git a/src/LS/parcsr_ls/parcsr_relax/CMakeLists.txt b/src/LS/parcsr_ls/parcsr_relax/CMakeLists.txt new file mode 100644 index 0000000..372ac05 --- /dev/null +++ b/src/LS/parcsr_ls/parcsr_relax/CMakeLists.txt @@ -0,0 +1,3 @@ +set(SRC par_relax.c par_lu.c par_dsuperlu.c) + +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) diff --git a/src/MAT/CMakeLists.txt b/src/MAT/CMakeLists.txt new file mode 100644 index 0000000..26f06c6 --- /dev/null +++ b/src/MAT/CMakeLists.txt @@ -0,0 +1,18 @@ +set(SRC MAT.c MAT_csr.c MAT_parcsr.c MAT_bsr.c MAT_parbsr.c) + +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) + +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) + + +# target_include_directories( +# ${LIBRARY_NAME} +# PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/parbsr_mv +# ${CMAKE_CURRENT_SOURCE_DIR}/parcsr_mv +# ${CMAKE_CURRENT_SOURCE_DIR}/bsr_mv ${CMAKE_CURRENT_SOURCE_DIR}/csr_mv) +add_subdirectory(csr_mv) +add_subdirectory(parcsr_mv) +add_subdirectory(bsr_mv) +add_subdirectory(parbsr_mv) diff --git a/src/MAT/bsr_mv/CMakeLists.txt b/src/MAT/bsr_mv/CMakeLists.txt new file mode 100644 index 0000000..18f5b8e --- /dev/null +++ b/src/MAT/bsr_mv/CMakeLists.txt @@ -0,0 +1,5 @@ +set(SRC bsr_matop.c bsr_matrix.c bsr_matvec.c bsr_ilu.c) +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) \ No newline at end of file diff --git a/src/MAT/csr_mv/CMakeLists.txt b/src/MAT/csr_mv/CMakeLists.txt new file mode 100644 index 0000000..d333968 --- /dev/null +++ b/src/MAT/csr_mv/CMakeLists.txt @@ -0,0 +1,5 @@ +set(SRC csr_matop.c csr_matrix.c csr_matvec.c csr_ilu.c genpart.c vector.c) +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) \ No newline at end of file diff --git a/src/MAT/parbsr_mv/CMakeLists.txt b/src/MAT/parbsr_mv/CMakeLists.txt new file mode 100644 index 0000000..3d6f53f --- /dev/null +++ b/src/MAT/parbsr_mv/CMakeLists.txt @@ -0,0 +1,6 @@ +set(SRC par_bsr_assumed_part.c par_bsr_communication.c par_bsr_matop.c + par_bsr_matrix.c par_bsr_matvec.c par_bsr_triplemat.c) +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) \ No newline at end of file diff --git a/src/MAT/parcsr_mv/CMakeLists.txt b/src/MAT/parcsr_mv/CMakeLists.txt new file mode 100644 index 0000000..74ea370 --- /dev/null +++ b/src/MAT/parcsr_mv/CMakeLists.txt @@ -0,0 +1,13 @@ +set(SRC + new_commpkg.c + par_csr_assumed_part.c + par_csr_communication.c + par_csr_matop.c + par_csr_matrix.c + par_csr_triplemat.c + par_vector.c + par_csr_matvec.c) +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) \ No newline at end of file diff --git a/utilities/CMakeLists.txt b/utilities/CMakeLists.txt new file mode 100644 index 0000000..8a42c59 --- /dev/null +++ b/utilities/CMakeLists.txt @@ -0,0 +1,34 @@ +# set(UTIL_LIB_NAME ${LIBRARY_NAME}_utitlies) add_library(${UTIL_LIB_NAME}) +# add_library(FASP::utilities ALIAS ${UTIL_LIB_NAME}) + +set(HEADERS FASPXX_utilities.h _faspxx_utilities.h) +set(SRC + amg_linklist.c + binsearch.c + exchange_data.c + ap.c + log.c + error.c + hopscotch_hash.c + merge_sort.c + mmio.c + prefix_sum.c + printf.c + qsort.c + utilities.c + mpistubs.c + qsplit.c + random.c + threading.c + timer.c + timing.c + int_array.c + memory.c) +# target_sources( ${UTIL_LIB_NAME} PUBLIC ${SRC}) + +target_sources(${LIBRARY_NAME} PRIVATE ${SRC}) + +target_include_directories(${LIBRARY_NAME} PUBLIC + $ + $) + -- Gitee From 8ac99effe5526d8dbefa6b18d44ad8a665ef3e14 Mon Sep 17 00:00:00 2001 From: "Cheng, Xiaoxing" Date: Sat, 18 Jan 2025 21:46:40 -0600 Subject: [PATCH 2/5] add a cmake file for the example --- example/CMakeLists.txt | 8 +++++++ example/CMakePresets.json | 50 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 example/CMakeLists.txt create mode 100644 example/CMakePresets.json diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt new file mode 100644 index 0000000..225114c --- /dev/null +++ b/example/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.21) + +project(example VERSION 1.0.0) + +find_package(MPI REQUIRED) +find_package(faspxx REQUIRED) +add_executable(demo demo.c) +target_link_libraries(demo PRIVATE FASP::FASPXX) \ No newline at end of file diff --git a/example/CMakePresets.json b/example/CMakePresets.json new file mode 100644 index 0000000..4c40a21 --- /dev/null +++ b/example/CMakePresets.json @@ -0,0 +1,50 @@ +{ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 21, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default", + "displayName": "Default Config", + "description": "Default build configuration", + "generator": "Unix Makefiles", + "binaryDir": "${sourceDir}/build/release", + "installDir": "${sourceDir}/install/release", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release" + } + }, + { + "name": "debug", + "displayName": "Debug Config", + "description": "Debug build configuration", + "generator": "Unix Makefiles", + "binaryDir": "${sourceDir}/build/debug", + "installDir": "${sourceDir}/install/debug", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "faspxx_DIR": "${sourceDir}/../install/debug/lib/cmake/faspxx", + "CMAKE_INSTALL_PREFIX": "build/install/debug" + } + } + ], + "buildPresets": [ + { + "name": "default-build", + "displayName": "Default Build", + "configurePreset": "default", + "configuration": "Release", + "jobs": 4 + }, + { + "name": "debug-build", + "displayName": "Debug Build", + "configurePreset": "debug", + "configuration": "Debug", + "jobs": 4 + } + ] + } \ No newline at end of file -- Gitee From 4cf4e02b26257c7e2e447e99d265fa883c099d3a Mon Sep 17 00:00:00 2001 From: "Cheng, Xiaoxing" Date: Fri, 24 Jan 2025 21:41:52 -0600 Subject: [PATCH 3/5] update all include path --- CMakeLists.txt | 6 ++--- .../faspxx/FASPXX_config.h | 0 include/{ => faspxx}/faspxx.h | 22 +++++++++---------- .../faspxx/interface}/OCP_debug.h | 0 .../faspxx/interface}/OCP_decoup.h | 0 {src => include/faspxx/src}/ITM/ITM.h | 0 {src => include/faspxx/src}/JSON/cJSON.h | 0 {src => include/faspxx/src}/LS/LS.h | 0 .../src}/LS/parbsr_ls/_faspxx_parbsr_ls.h | 0 .../src}/LS/parbsr_ls/faspxx_parbsr_ls.h | 0 .../src}/LS/parcsr_ls/faspxx_parcsr_ls.h | 0 .../parcsr_coarsen/faspxx_parcsr_coarsen.h | 0 .../parcsr_interp/faspxx_parcsr_interp.h | 0 .../_faspxx_parcsr_relax_struct.h | 0 .../parcsr_relax/faspxx_parcsr_relax.h | 0 {src => include/faspxx/src}/MAT/MAT.h | 0 .../faspxx/src}/MAT/bsr_mv/_bsr_mv_struct.h | 0 .../faspxx/src}/MAT/bsr_mv/bsr_mv.h | 0 .../faspxx/src}/MAT/csr_mv/_csr_mv_struct.h | 0 .../faspxx/src}/MAT/csr_mv/csr_mv.h | 0 .../src}/MAT/parbsr_mv/_parbsr_mv_struct.h | 0 .../faspxx/src}/MAT/parbsr_mv/parbsr_mv.h | 0 .../src}/MAT/parcsr_mv/_parcsr_mv_struct.h | 0 .../faspxx/src}/MAT/parcsr_mv/parcsr_mv.h | 0 .../faspxx/utilities}/FASPXX_utilities.h | 0 .../faspxx/utilities}/_faspxx_utilities.h | 0 .../faspxx/utilities}/macro_printf.h | 0 interface/OCP_fim.c | 2 +- src/JSON/JSON.c | 2 +- src/JSON/cJSON.c | 2 +- src/LS/LS.c | 2 +- src/LS/LS_cpr.c | 6 ++--- src/LS/LS_ilu.c | 6 ++--- src/LS/LS_ilu_seq.c | 6 ++--- src/LS/LS_ml.c | 6 ++--- src/LS/LS_ml_parbsr.c | 8 +++---- src/LS/LS_ml_parcsr.c | 7 +++--- src/LS/LS_relax.c | 6 ++--- src/LS/parbsr_ls/par_bsr_interp.c | 2 +- src/LS/parbsr_ls/par_bsr_nodal_systems.c | 2 +- src/LS/parbsr_ls/par_bsr_relax.c | 2 +- .../parcsr_coarsen/par_aggregation.c | 5 +++-- src/LS/parcsr_ls/parcsr_coarsen/par_coarsen.c | 2 +- .../parcsr_ls/parcsr_coarsen/par_indepset.c | 2 +- .../parcsr_ls/parcsr_coarsen/par_strength.c | 2 +- src/LS/parcsr_ls/parcsr_interp/aux_interp.c | 2 +- src/LS/parcsr_ls/parcsr_interp/par_interp.c | 2 +- .../parcsr_ls/parcsr_interp/par_interp_agg.c | 2 +- .../parcsr_ls/parcsr_interp/par_lr_interp.c | 2 +- .../parcsr_interp/par_mod_multi_interp.c | 2 +- .../parcsr_interp/par_multi_interp.c | 2 +- src/LS/parcsr_ls/parcsr_interp/par_rap.c | 2 +- .../parcsr_interp/par_rap_communication.c | 2 +- src/LS/parcsr_ls/parcsr_relax/par_dsuperlu.c | 3 ++- src/LS/parcsr_ls/parcsr_relax/par_lu.c | 3 ++- src/LS/parcsr_ls/parcsr_relax/par_relax.c | 2 +- src/MAT/MAT.c | 2 +- src/MAT/MAT_bsr.c | 4 ++-- src/MAT/MAT_csr.c | 4 ++-- src/MAT/MAT_parbsr.c | 4 ++-- src/MAT/MAT_parcsr.c | 4 ++-- src/MAT/bsr_mv/bsr_ilu.c | 2 +- src/MAT/bsr_mv/bsr_matop.c | 2 +- src/MAT/bsr_mv/bsr_matrix.c | 2 +- src/MAT/bsr_mv/bsr_matvec.c | 2 +- src/MAT/csr_mv/csr_ilu.c | 2 +- src/MAT/csr_mv/csr_matop.c | 2 +- src/MAT/csr_mv/csr_matrix.c | 2 +- src/MAT/csr_mv/csr_matvec.c | 2 +- src/MAT/csr_mv/genpart.c | 2 +- src/MAT/csr_mv/vector.c | 2 +- src/MAT/parbsr_mv/par_bsr_assumed_part.c | 2 +- src/MAT/parbsr_mv/par_bsr_communication.c | 2 +- src/MAT/parbsr_mv/par_bsr_matop.c | 2 +- src/MAT/parbsr_mv/par_bsr_matrix.c | 2 +- src/MAT/parbsr_mv/par_bsr_matvec.c | 2 +- src/MAT/parbsr_mv/par_bsr_triplemat.c | 2 +- src/MAT/parcsr_mv/new_commpkg.c | 2 +- src/MAT/parcsr_mv/par_csr_assumed_part.c | 2 +- src/MAT/parcsr_mv/par_csr_communication.c | 2 +- src/MAT/parcsr_mv/par_csr_matop.c | 4 ++-- src/MAT/parcsr_mv/par_csr_matrix.c | 2 +- src/MAT/parcsr_mv/par_csr_matvec.c | 2 +- src/MAT/parcsr_mv/par_csr_triplemat.c | 4 ++-- src/MAT/parcsr_mv/par_vector.c | 2 +- utilities/amg_linklist.c | 2 +- utilities/ap.c | 2 +- utilities/binsearch.c | 2 +- utilities/error.c | 2 +- utilities/exchange_data.c | 2 +- utilities/hopscotch_hash.c | 4 ++-- utilities/int_array.c | 2 +- utilities/log.c | 2 +- utilities/memory.c | 2 +- utilities/merge_sort.c | 2 +- utilities/mmio.c | 2 +- utilities/mpistubs.c | 2 +- utilities/prefix_sum.c | 2 +- utilities/printf.c | 2 +- utilities/qsort.c | 2 +- utilities/qsplit.c | 2 +- utilities/random.c | 2 +- utilities/threading.c | 2 +- utilities/timer.c | 2 +- utilities/timing.c | 2 +- utilities/utilities.c | 2 +- 106 files changed, 120 insertions(+), 116 deletions(-) rename FASPXX_config.h => include/faspxx/FASPXX_config.h (100%) rename include/{ => faspxx}/faspxx.h (99%) rename {interface => include/faspxx/interface}/OCP_debug.h (100%) rename {interface => include/faspxx/interface}/OCP_decoup.h (100%) rename {src => include/faspxx/src}/ITM/ITM.h (100%) rename {src => include/faspxx/src}/JSON/cJSON.h (100%) rename {src => include/faspxx/src}/LS/LS.h (100%) rename {src => include/faspxx/src}/LS/parbsr_ls/_faspxx_parbsr_ls.h (100%) rename {src => include/faspxx/src}/LS/parbsr_ls/faspxx_parbsr_ls.h (100%) rename {src => include/faspxx/src}/LS/parcsr_ls/faspxx_parcsr_ls.h (100%) rename {src => include/faspxx/src}/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h (100%) rename {src => include/faspxx/src}/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h (100%) rename {src => include/faspxx/src}/LS/parcsr_ls/parcsr_relax/_faspxx_parcsr_relax_struct.h (100%) rename {src => include/faspxx/src}/LS/parcsr_ls/parcsr_relax/faspxx_parcsr_relax.h (100%) rename {src => include/faspxx/src}/MAT/MAT.h (100%) rename {src => include/faspxx/src}/MAT/bsr_mv/_bsr_mv_struct.h (100%) rename {src => include/faspxx/src}/MAT/bsr_mv/bsr_mv.h (100%) rename {src => include/faspxx/src}/MAT/csr_mv/_csr_mv_struct.h (100%) rename {src => include/faspxx/src}/MAT/csr_mv/csr_mv.h (100%) rename {src => include/faspxx/src}/MAT/parbsr_mv/_parbsr_mv_struct.h (100%) rename {src => include/faspxx/src}/MAT/parbsr_mv/parbsr_mv.h (100%) rename {src => include/faspxx/src}/MAT/parcsr_mv/_parcsr_mv_struct.h (100%) rename {src => include/faspxx/src}/MAT/parcsr_mv/parcsr_mv.h (100%) rename {utilities => include/faspxx/utilities}/FASPXX_utilities.h (100%) rename {utilities => include/faspxx/utilities}/_faspxx_utilities.h (100%) rename {utilities => include/faspxx/utilities}/macro_printf.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d7b9ab..6f78e94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,8 +16,8 @@ set(LIBRARY_NAME FASPXX CACHE STRING "The library name") add_library(${LIBRARY_NAME}) add_library(FASP::faspxx ALIAS ${LIBRARY_NAME}) target_include_directories(${LIBRARY_NAME} PUBLIC - $ - $) + $ + $) if(MPI_FOUND) target_link_libraries(${LIBRARY_NAME} PUBLIC MPI::MPI_C MPI::MPI_CXX) @@ -44,7 +44,7 @@ install(TARGETS ${LIBRARY_NAME} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) -install(FILES "include/faspxx.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install(DIRECTORY "include/faspxx" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) set(FASPXX_INSTALL TRUE) include(CMakePackageConfigHelpers) diff --git a/FASPXX_config.h b/include/faspxx/FASPXX_config.h similarity index 100% rename from FASPXX_config.h rename to include/faspxx/FASPXX_config.h diff --git a/include/faspxx.h b/include/faspxx/faspxx.h similarity index 99% rename from include/faspxx.h rename to include/faspxx/faspxx.h index 6e71e35..2009173 100644 --- a/include/faspxx.h +++ b/include/faspxx/faspxx.h @@ -20,17 +20,17 @@ extern "C" { #endif -#include "../utilities/_faspxx_utilities.h" -#include "../src/JSON/cJSON.h" -#include "../src/LS/LS.h" -#include "../src/LS/parcsr_ls/faspxx_parcsr_ls.h" -#include "../src/LS/parbsr_ls/faspxx_parbsr_ls.h" -#include "../src/MAT/MAT.h" -#include "../src/MAT/parcsr_mv/parcsr_mv.h" -#include "../src/MAT/parbsr_mv/parbsr_mv.h" -#include "../src/MAT/csr_mv/csr_mv.h" -#include "../src/MAT/bsr_mv/bsr_mv.h" -#include "../src/ITM/ITM.h" +#include "utilities/_faspxx_utilities.h" +#include "src/JSON/cJSON.h" +#include "src/LS/LS.h" +#include "src/LS/parcsr_ls/faspxx_parcsr_ls.h" +#include "src/LS/parbsr_ls/faspxx_parbsr_ls.h" +#include "src/MAT/MAT.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" +#include "src/MAT/parbsr_mv/parbsr_mv.h" +#include "src/MAT/csr_mv/csr_mv.h" +#include "src/MAT/bsr_mv/bsr_mv.h" +#include "src/ITM/ITM.h" /*-------- In file: OCP_fim.c --------*/ diff --git a/interface/OCP_debug.h b/include/faspxx/interface/OCP_debug.h similarity index 100% rename from interface/OCP_debug.h rename to include/faspxx/interface/OCP_debug.h diff --git a/interface/OCP_decoup.h b/include/faspxx/interface/OCP_decoup.h similarity index 100% rename from interface/OCP_decoup.h rename to include/faspxx/interface/OCP_decoup.h diff --git a/src/ITM/ITM.h b/include/faspxx/src/ITM/ITM.h similarity index 100% rename from src/ITM/ITM.h rename to include/faspxx/src/ITM/ITM.h diff --git a/src/JSON/cJSON.h b/include/faspxx/src/JSON/cJSON.h similarity index 100% rename from src/JSON/cJSON.h rename to include/faspxx/src/JSON/cJSON.h diff --git a/src/LS/LS.h b/include/faspxx/src/LS/LS.h similarity index 100% rename from src/LS/LS.h rename to include/faspxx/src/LS/LS.h diff --git a/src/LS/parbsr_ls/_faspxx_parbsr_ls.h b/include/faspxx/src/LS/parbsr_ls/_faspxx_parbsr_ls.h similarity index 100% rename from src/LS/parbsr_ls/_faspxx_parbsr_ls.h rename to include/faspxx/src/LS/parbsr_ls/_faspxx_parbsr_ls.h diff --git a/src/LS/parbsr_ls/faspxx_parbsr_ls.h b/include/faspxx/src/LS/parbsr_ls/faspxx_parbsr_ls.h similarity index 100% rename from src/LS/parbsr_ls/faspxx_parbsr_ls.h rename to include/faspxx/src/LS/parbsr_ls/faspxx_parbsr_ls.h diff --git a/src/LS/parcsr_ls/faspxx_parcsr_ls.h b/include/faspxx/src/LS/parcsr_ls/faspxx_parcsr_ls.h similarity index 100% rename from src/LS/parcsr_ls/faspxx_parcsr_ls.h rename to include/faspxx/src/LS/parcsr_ls/faspxx_parcsr_ls.h diff --git a/src/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h b/include/faspxx/src/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h similarity index 100% rename from src/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h rename to include/faspxx/src/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h diff --git a/src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h b/include/faspxx/src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h similarity index 100% rename from src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h rename to include/faspxx/src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h diff --git a/src/LS/parcsr_ls/parcsr_relax/_faspxx_parcsr_relax_struct.h b/include/faspxx/src/LS/parcsr_ls/parcsr_relax/_faspxx_parcsr_relax_struct.h similarity index 100% rename from src/LS/parcsr_ls/parcsr_relax/_faspxx_parcsr_relax_struct.h rename to include/faspxx/src/LS/parcsr_ls/parcsr_relax/_faspxx_parcsr_relax_struct.h diff --git a/src/LS/parcsr_ls/parcsr_relax/faspxx_parcsr_relax.h b/include/faspxx/src/LS/parcsr_ls/parcsr_relax/faspxx_parcsr_relax.h similarity index 100% rename from src/LS/parcsr_ls/parcsr_relax/faspxx_parcsr_relax.h rename to include/faspxx/src/LS/parcsr_ls/parcsr_relax/faspxx_parcsr_relax.h diff --git a/src/MAT/MAT.h b/include/faspxx/src/MAT/MAT.h similarity index 100% rename from src/MAT/MAT.h rename to include/faspxx/src/MAT/MAT.h diff --git a/src/MAT/bsr_mv/_bsr_mv_struct.h b/include/faspxx/src/MAT/bsr_mv/_bsr_mv_struct.h similarity index 100% rename from src/MAT/bsr_mv/_bsr_mv_struct.h rename to include/faspxx/src/MAT/bsr_mv/_bsr_mv_struct.h diff --git a/src/MAT/bsr_mv/bsr_mv.h b/include/faspxx/src/MAT/bsr_mv/bsr_mv.h similarity index 100% rename from src/MAT/bsr_mv/bsr_mv.h rename to include/faspxx/src/MAT/bsr_mv/bsr_mv.h diff --git a/src/MAT/csr_mv/_csr_mv_struct.h b/include/faspxx/src/MAT/csr_mv/_csr_mv_struct.h similarity index 100% rename from src/MAT/csr_mv/_csr_mv_struct.h rename to include/faspxx/src/MAT/csr_mv/_csr_mv_struct.h diff --git a/src/MAT/csr_mv/csr_mv.h b/include/faspxx/src/MAT/csr_mv/csr_mv.h similarity index 100% rename from src/MAT/csr_mv/csr_mv.h rename to include/faspxx/src/MAT/csr_mv/csr_mv.h diff --git a/src/MAT/parbsr_mv/_parbsr_mv_struct.h b/include/faspxx/src/MAT/parbsr_mv/_parbsr_mv_struct.h similarity index 100% rename from src/MAT/parbsr_mv/_parbsr_mv_struct.h rename to include/faspxx/src/MAT/parbsr_mv/_parbsr_mv_struct.h diff --git a/src/MAT/parbsr_mv/parbsr_mv.h b/include/faspxx/src/MAT/parbsr_mv/parbsr_mv.h similarity index 100% rename from src/MAT/parbsr_mv/parbsr_mv.h rename to include/faspxx/src/MAT/parbsr_mv/parbsr_mv.h diff --git a/src/MAT/parcsr_mv/_parcsr_mv_struct.h b/include/faspxx/src/MAT/parcsr_mv/_parcsr_mv_struct.h similarity index 100% rename from src/MAT/parcsr_mv/_parcsr_mv_struct.h rename to include/faspxx/src/MAT/parcsr_mv/_parcsr_mv_struct.h diff --git a/src/MAT/parcsr_mv/parcsr_mv.h b/include/faspxx/src/MAT/parcsr_mv/parcsr_mv.h similarity index 100% rename from src/MAT/parcsr_mv/parcsr_mv.h rename to include/faspxx/src/MAT/parcsr_mv/parcsr_mv.h diff --git a/utilities/FASPXX_utilities.h b/include/faspxx/utilities/FASPXX_utilities.h similarity index 100% rename from utilities/FASPXX_utilities.h rename to include/faspxx/utilities/FASPXX_utilities.h diff --git a/utilities/_faspxx_utilities.h b/include/faspxx/utilities/_faspxx_utilities.h similarity index 100% rename from utilities/_faspxx_utilities.h rename to include/faspxx/utilities/_faspxx_utilities.h diff --git a/utilities/macro_printf.h b/include/faspxx/utilities/macro_printf.h similarity index 100% rename from utilities/macro_printf.h rename to include/faspxx/utilities/macro_printf.h diff --git a/interface/OCP_fim.c b/interface/OCP_fim.c index d048ac0..e6dc843 100644 --- a/interface/OCP_fim.c +++ b/interface/OCP_fim.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "OCP_decoup.h" +#include "interface/OCP_decoup.h" #include "faspxx.h" // FASPXX_Int DecoupType = 0; // 0: None, 1: ABF, 2: ANL, 3: SEM, 4: QI diff --git a/src/JSON/JSON.c b/src/JSON/JSON.c index 664cceb..cb02cc4 100644 --- a/src/JSON/JSON.c +++ b/src/JSON/JSON.c @@ -28,7 +28,7 @@ use cJSON to deal with json data */ -#include "cJSON.h" +// #include "src/JSON/cJSON.h" #include #include #include diff --git a/src/JSON/cJSON.c b/src/JSON/cJSON.c index 8fbfc38..276cc12 100644 --- a/src/JSON/cJSON.c +++ b/src/JSON/cJSON.c @@ -41,7 +41,7 @@ #pragma GCC visibility pop #endif -#include "cJSON.h" +#include "src/JSON/cJSON.h" /* define our own boolean type */ #ifdef true diff --git a/src/LS/LS.c b/src/LS/LS.c index 10feb3a..c521035 100644 --- a/src/LS/LS.c +++ b/src/LS/LS.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "LS.h" +// #include "LS.h" #include "faspxx.h" FASPXX_Int StringToLS_TYPE(const char* str) diff --git a/src/LS/LS_cpr.c b/src/LS/LS_cpr.c index d8e91e4..cd0db85 100644 --- a/src/LS/LS_cpr.c +++ b/src/LS/LS_cpr.c @@ -8,10 +8,10 @@ *--------------------------------------------------------------------------------- */ -#include "LS.h" +// #include "src/LS/LS.h" #include "faspxx.h" -#include "faspxx_parbsr_ls.h" -#include "faspxx_parcsr_ls.h" +// #include "faspxx_parbsr_ls.h" +// #include "faspxx_parcsr_ls.h" // GetPressureSubmatrix FASPXX_MAT FASPXX_GetPressureSubmatrix(FASPXX_MAT A, FASPXX_Real threshold, FASPXX_Int bs) diff --git a/src/LS/LS_ilu.c b/src/LS/LS_ilu.c index e7da8a4..b83116d 100644 --- a/src/LS/LS_ilu.c +++ b/src/LS/LS_ilu.c @@ -8,10 +8,10 @@ *--------------------------------------------------------------------------------- */ -#include "LS.h" +// #include "LS.h" #include "faspxx.h" -#include "faspxx_parbsr_ls.h" -#include "faspxx_parcsr_ls.h" +// #include "faspxx_parbsr_ls.h" +// #include "faspxx_parcsr_ls.h" FASPXX_Int StringToILU_TYPE(const char* str) { diff --git a/src/LS/LS_ilu_seq.c b/src/LS/LS_ilu_seq.c index 2c21f1f..1eb31da 100644 --- a/src/LS/LS_ilu_seq.c +++ b/src/LS/LS_ilu_seq.c @@ -9,10 +9,10 @@ *--------------------------------------------------------------------------------- */ -#include "LS.h" +// #include "LS.h" #include "faspxx.h" -#include "faspxx_parbsr_ls.h" -#include "faspxx_parcsr_ls.h" +// #include "faspxx_parbsr_ls.h" +// #include "faspxx_parcsr_ls.h" FASPXX_Int faspxx_CSRMatrixILUSetup(FASPXX_LS ls) { diff --git a/src/LS/LS_ml.c b/src/LS/LS_ml.c index da68263..fbc36e0 100644 --- a/src/LS/LS_ml.c +++ b/src/LS/LS_ml.c @@ -8,10 +8,10 @@ *--------------------------------------------------------------------------------- */ -#include "LS.h" +// #include "LS.h" #include "faspxx.h" -#include "faspxx_parbsr_ls.h" -#include "faspxx_parcsr_ls.h" +// #include "faspxx_parbsr_ls.h" +// #include "faspxx_parcsr_ls.h" FASPXX_Int StringToML_TYPE(const char* str) { diff --git a/src/LS/LS_ml_parbsr.c b/src/LS/LS_ml_parbsr.c index 885193f..a728f7e 100644 --- a/src/LS/LS_ml_parbsr.c +++ b/src/LS/LS_ml_parbsr.c @@ -8,11 +8,11 @@ *--------------------------------------------------------------------------------- */ -#include "FASPXX_utilities.h" -#include "LS.h" +// #include "FASPXX_utilities.h" +// #include "LS.h" #include "faspxx.h" -#include "faspxx_parbsr_ls.h" -#include "faspxx_parcsr_ls.h" +// #include "faspxx_parbsr_ls.h" +// #include "faspxx_parcsr_ls.h" FASPXX_MAT FASPXX_ParBSRSetupLMAT(_PTR lvl_data) { diff --git a/src/LS/LS_ml_parcsr.c b/src/LS/LS_ml_parcsr.c index 3e95007..30ddb1b 100644 --- a/src/LS/LS_ml_parcsr.c +++ b/src/LS/LS_ml_parcsr.c @@ -8,10 +8,11 @@ *--------------------------------------------------------------------------------- */ -#include "FASPXX_utilities.h" -#include "LS.h" +// #include "src/LS/parcsr_ls/faspxx_parcsr_ls.h" + +// #include "utilities/FASPXX_utilities.h" +// #include "src/LS/LS.h" #include "faspxx.h" -#include "faspxx_parcsr_ls.h" FASPXX_MAT FASPXX_ParCSRSetupLMAT(_PTR lvl_data) { diff --git a/src/LS/LS_relax.c b/src/LS/LS_relax.c index 9e06125..591fadf 100644 --- a/src/LS/LS_relax.c +++ b/src/LS/LS_relax.c @@ -14,10 +14,10 @@ */ -#include "LS.h" +// #include "LS.h" #include "faspxx.h" -#include "faspxx_parbsr_ls.h" -#include "faspxx_parcsr_ls.h" +// #include "faspxx_parbsr_ls.h" +// #include "faspxx_parcsr_ls.h" FASPXX_Int StringToRELAX_TYPE(const char* str) { diff --git a/src/LS/parbsr_ls/par_bsr_interp.c b/src/LS/parbsr_ls/par_bsr_interp.c index c060cd6..fe4bf61 100644 --- a/src/LS/parbsr_ls/par_bsr_interp.c +++ b/src/LS/parbsr_ls/par_bsr_interp.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parbsr_ls.h" +#include "src/LS/parbsr_ls/faspxx_parbsr_ls.h" /*--------------------------------------------------------------------------- * faspxx_BoomerAMGBlockBuildInterp diff --git a/src/LS/parbsr_ls/par_bsr_nodal_systems.c b/src/LS/parbsr_ls/par_bsr_nodal_systems.c index 036736b..7186ae4 100644 --- a/src/LS/parbsr_ls/par_bsr_nodal_systems.c +++ b/src/LS/parbsr_ls/par_bsr_nodal_systems.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parbsr_ls.h" +#include "src/LS/parbsr_ls/faspxx_parbsr_ls.h" /*--------------------------------------------------------------------------- * faspxx_BoomerAMGBlockCreateNodalA diff --git a/src/LS/parbsr_ls/par_bsr_relax.c b/src/LS/parbsr_ls/par_bsr_relax.c index 65b19bc..49a9845 100644 --- a/src/LS/parbsr_ls/par_bsr_relax.c +++ b/src/LS/parbsr_ls/par_bsr_relax.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parbsr_ls.h" +#include "src/LS/parbsr_ls/faspxx_parbsr_ls.h" /*--------------------------------------------------------------------------- * faspxx_ParBSRJacobiRelax: Weighted Jacobi relaxation for ParBSR diff --git a/src/LS/parcsr_ls/parcsr_coarsen/par_aggregation.c b/src/LS/parcsr_ls/parcsr_coarsen/par_aggregation.c index 1a45716..5ef79d0 100644 --- a/src/LS/parcsr_ls/parcsr_coarsen/par_aggregation.c +++ b/src/LS/parcsr_ls/parcsr_coarsen/par_aggregation.c @@ -8,8 +8,9 @@ *--------------------------------------------------------------------------------- */ -#include "../parcsr_interp/faspxx_parcsr_interp.h" -#include "faspxx_parcsr_coarsen.h" +// #include "../parcsr_interp/faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h" // internal debug parameter #define AGG_DEBUG 0 diff --git a/src/LS/parcsr_ls/parcsr_coarsen/par_coarsen.c b/src/LS/parcsr_ls/parcsr_coarsen/par_coarsen.c index fa99790..7eaf9f9 100644 --- a/src/LS/parcsr_ls/parcsr_coarsen/par_coarsen.c +++ b/src/LS/parcsr_ls/parcsr_coarsen/par_coarsen.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_coarsen.h" +#include "src/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h" /*==========================================================================*/ /*==========================================================================*/ diff --git a/src/LS/parcsr_ls/parcsr_coarsen/par_indepset.c b/src/LS/parcsr_ls/parcsr_coarsen/par_indepset.c index a43ee1b..880f57a 100644 --- a/src/LS/parcsr_ls/parcsr_coarsen/par_indepset.c +++ b/src/LS/parcsr_ls/parcsr_coarsen/par_indepset.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_coarsen.h" +#include "src/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h" /*==========================================================================*/ /*==========================================================================*/ diff --git a/src/LS/parcsr_ls/parcsr_coarsen/par_strength.c b/src/LS/parcsr_ls/parcsr_coarsen/par_strength.c index d035d52..917b125 100644 --- a/src/LS/parcsr_ls/parcsr_coarsen/par_strength.c +++ b/src/LS/parcsr_ls/parcsr_coarsen/par_strength.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_coarsen.h" +#include "src/LS/parcsr_ls/parcsr_coarsen/faspxx_parcsr_coarsen.h" /*==========================================================================*/ /*==========================================================================*/ diff --git a/src/LS/parcsr_ls/parcsr_interp/aux_interp.c b/src/LS/parcsr_ls/parcsr_interp/aux_interp.c index 293843d..a6aaa40 100644 --- a/src/LS/parcsr_ls/parcsr_interp/aux_interp.c +++ b/src/LS/parcsr_ls/parcsr_interp/aux_interp.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_interp.h" +// #include "faspxx_parcsr_interp.h" #include "faspxx.h" /*--------------------------------------------------------------------------- diff --git a/src/LS/parcsr_ls/parcsr_interp/par_interp.c b/src/LS/parcsr_ls/parcsr_interp/par_interp.c index 79b6b34..4b2155f 100644 --- a/src/LS/parcsr_ls/parcsr_interp/par_interp.c +++ b/src/LS/parcsr_ls/parcsr_interp/par_interp.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h" /*--------------------------------------------------------------------------- * faspxx_BoomerAMGBuildInterp diff --git a/src/LS/parcsr_ls/parcsr_interp/par_interp_agg.c b/src/LS/parcsr_ls/parcsr_interp/par_interp_agg.c index d19fcf8..ecd2a85 100644 --- a/src/LS/parcsr_ls/parcsr_interp/par_interp_agg.c +++ b/src/LS/parcsr_ls/parcsr_interp/par_interp_agg.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h" /** * \fn FASPXX_Int faspxx_form_tentative_p(faspxx_ParCSRMatrix* A, FASPXX_Int* Vertices, diff --git a/src/LS/parcsr_ls/parcsr_interp/par_lr_interp.c b/src/LS/parcsr_ls/parcsr_interp/par_lr_interp.c index 81a7eee..eca2a85 100644 --- a/src/LS/parcsr_ls/parcsr_interp/par_lr_interp.c +++ b/src/LS/parcsr_ls/parcsr_interp/par_lr_interp.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h" #define MAX_C_CONNECTIONS 100 diff --git a/src/LS/parcsr_ls/parcsr_interp/par_mod_multi_interp.c b/src/LS/parcsr_ls/parcsr_interp/par_mod_multi_interp.c index 5326bb1..ea9834f 100644 --- a/src/LS/parcsr_ls/parcsr_interp/par_mod_multi_interp.c +++ b/src/LS/parcsr_ls/parcsr_interp/par_mod_multi_interp.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h" /*-------------------------------------------------------------------------- * faspxx_ParAMGBuildModMultipass diff --git a/src/LS/parcsr_ls/parcsr_interp/par_multi_interp.c b/src/LS/parcsr_ls/parcsr_interp/par_multi_interp.c index be57e72..a2590f8 100644 --- a/src/LS/parcsr_ls/parcsr_interp/par_multi_interp.c +++ b/src/LS/parcsr_ls/parcsr_interp/par_multi_interp.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h" /*-------------------------------------------------------------------------- * faspxx_ParAMGBuildMultipass diff --git a/src/LS/parcsr_ls/parcsr_interp/par_rap.c b/src/LS/parcsr_ls/parcsr_interp/par_rap.c index e1bcb44..ec81965 100644 --- a/src/LS/parcsr_ls/parcsr_interp/par_rap.c +++ b/src/LS/parcsr_ls/parcsr_interp/par_rap.c @@ -11,7 +11,7 @@ // #include "faspxx_parcsr_ls.h" // #include "_faspxx_utilities.h" -#include "faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h" /*-------------------------------------------------------------------------- * faspxx_BoomerAMGBuildCoarseOperator diff --git a/src/LS/parcsr_ls/parcsr_interp/par_rap_communication.c b/src/LS/parcsr_ls/parcsr_interp/par_rap_communication.c index c66bd83..f844858 100644 --- a/src/LS/parcsr_ls/parcsr_interp/par_rap_communication.c +++ b/src/LS/parcsr_ls/parcsr_interp/par_rap_communication.c @@ -9,7 +9,7 @@ */ // #include "faspxx_parcsr_ls.h" -#include "faspxx_parcsr_interp.h" +#include "src/LS/parcsr_ls/parcsr_interp/faspxx_parcsr_interp.h" FASPXX_Int faspxx_GetCommPkgRTFromCommPkgA(faspxx_ParCSRMatrix* RT, faspxx_ParCSRMatrix* A, FASPXX_Int* fine_to_coarse, FASPXX_Int* tmp_map_offd) { diff --git a/src/LS/parcsr_ls/parcsr_relax/par_dsuperlu.c b/src/LS/parcsr_ls/parcsr_relax/par_dsuperlu.c index f3aea8f..7a510b0 100644 --- a/src/LS/parcsr_ls/parcsr_relax/par_dsuperlu.c +++ b/src/LS/parcsr_ls/parcsr_relax/par_dsuperlu.c @@ -8,7 +8,8 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_relax.h" +#include "src/LS/parcsr_ls/parcsr_relax/faspxx_parcsr_relax.h" + #ifdef FASPXX_USING_DSUPERLU // SuperLU setup faspxx_DSLUData* faspxx_DSuperLUSetup(faspxx_ParCSRMatrix* A) diff --git a/src/LS/parcsr_ls/parcsr_relax/par_lu.c b/src/LS/parcsr_ls/parcsr_relax/par_lu.c index 4488131..aa275f5 100644 --- a/src/LS/parcsr_ls/parcsr_relax/par_lu.c +++ b/src/LS/parcsr_ls/parcsr_relax/par_lu.c @@ -8,7 +8,8 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_ls.h" +#include "src/LS/parcsr_ls/faspxx_parcsr_ls.h" + faspxx_CSRMatrix* MyGatherMatrix(faspxx_ParCSRMatrix* A); faspxx_Vector* MyGatherVec(faspxx_ParVector* x); diff --git a/src/LS/parcsr_ls/parcsr_relax/par_relax.c b/src/LS/parcsr_ls/parcsr_relax/par_relax.c index 6ee0fd0..8f97a3b 100644 --- a/src/LS/parcsr_ls/parcsr_relax/par_relax.c +++ b/src/LS/parcsr_ls/parcsr_relax/par_relax.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "faspxx_parcsr_ls.h" +#include "src/LS/parcsr_ls/faspxx_parcsr_ls.h" static inline void faspxx_HybridGaussSeidelNS(FASPXX_Int* A_diag_i, FASPXX_Int* A_diag_j, FASPXX_Complex* A_diag_data, FASPXX_Int* A_offd_i, FASPXX_Int* A_offd_j, FASPXX_Complex* A_offd_data, FASPXX_Complex* b_data, FASPXX_Complex* x_data, diff --git a/src/MAT/MAT.c b/src/MAT/MAT.c index 927b5df..7293d5c 100644 --- a/src/MAT/MAT.c +++ b/src/MAT/MAT.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "MAT.h" +// #include "src/MAT/MAT.h" #include "faspxx.h" void FASPXX_VECDestroy(FASPXX_VEC x) diff --git a/src/MAT/MAT_bsr.c b/src/MAT/MAT_bsr.c index e570ae2..edcca50 100644 --- a/src/MAT/MAT_bsr.c +++ b/src/MAT/MAT_bsr.c @@ -8,8 +8,8 @@ *--------------------------------------------------------------------------------- */ -#include "MAT.h" -#include "bsr_mv.h" +// #include "src/MAT/MAT.h" +// #include "src/MAT/bsr_mv/bsr_mv.h" #include "faspxx.h" void faspxx_BSRMatrixPrintAPI(FASPXX_MAT A_api, const char* fn, FASPXX_Int format) diff --git a/src/MAT/MAT_csr.c b/src/MAT/MAT_csr.c index dbd6aa5..23f3d55 100644 --- a/src/MAT/MAT_csr.c +++ b/src/MAT/MAT_csr.c @@ -8,8 +8,8 @@ *--------------------------------------------------------------------------------- */ -#include "MAT.h" -#include "csr_mv.h" +// #include "src/MAT/MAT.h" +// #include "src/MAT/csr_mv/csr_mv.h" #include "faspxx.h" void faspxx_CSRMatrixPrintAPI(FASPXX_MAT A_api, const char* fn, FASPXX_Int format) diff --git a/src/MAT/MAT_parbsr.c b/src/MAT/MAT_parbsr.c index 23cf5cd..facc2da 100644 --- a/src/MAT/MAT_parbsr.c +++ b/src/MAT/MAT_parbsr.c @@ -8,9 +8,9 @@ *--------------------------------------------------------------------------------- */ -#include "MAT.h" +// #include "src/MAT/MAT.h" #include "faspxx.h" -#include "parbsr_mv.h" +// #include "src/MAT/parbsr_mv/parbsr_mv.h" void faspxx_ParBSRMatrixPrintAPI(FASPXX_MAT A_api, const char* fn, FASPXX_Int format) { diff --git a/src/MAT/MAT_parcsr.c b/src/MAT/MAT_parcsr.c index 21f1370..4138f72 100644 --- a/src/MAT/MAT_parcsr.c +++ b/src/MAT/MAT_parcsr.c @@ -8,9 +8,9 @@ *--------------------------------------------------------------------------------- */ -#include "MAT.h" +// #include "src/MAT/MAT.h" #include "faspxx.h" -#include "parcsr_mv.h" +// #include "src/MAT/parcsr_mv/parcsr_mv.h" void faspxx_ParCSRMatrixPrintAPI(FASPXX_MAT A_api, const char* fn, FASPXX_Int format) { diff --git a/src/MAT/bsr_mv/bsr_ilu.c b/src/MAT/bsr_mv/bsr_ilu.c index 0998aa9..03b713d 100644 --- a/src/MAT/bsr_mv/bsr_ilu.c +++ b/src/MAT/bsr_mv/bsr_ilu.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "bsr_mv.h" +#include "src/MAT/bsr_mv/bsr_mv.h" #include "bsr_matrix_inv.inl" diff --git a/src/MAT/bsr_mv/bsr_matop.c b/src/MAT/bsr_mv/bsr_matop.c index 3d5d771..c5cec28 100644 --- a/src/MAT/bsr_mv/bsr_matop.c +++ b/src/MAT/bsr_mv/bsr_matop.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "bsr_mv.h" +#include "src/MAT/bsr_mv/bsr_mv.h" /****************************************************************************** * diff --git a/src/MAT/bsr_mv/bsr_matrix.c b/src/MAT/bsr_mv/bsr_matrix.c index ec7541e..a64502d 100644 --- a/src/MAT/bsr_mv/bsr_matrix.c +++ b/src/MAT/bsr_mv/bsr_matrix.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "bsr_mv.h" +#include "src/MAT/bsr_mv/bsr_mv.h" /****************************************************************************** * diff --git a/src/MAT/bsr_mv/bsr_matvec.c b/src/MAT/bsr_mv/bsr_matvec.c index 466aa90..51ba716 100644 --- a/src/MAT/bsr_mv/bsr_matvec.c +++ b/src/MAT/bsr_mv/bsr_matvec.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "bsr_mv.h" +#include "src/MAT/bsr_mv/bsr_mv.h" /****************************************************************************** * diff --git a/src/MAT/csr_mv/csr_ilu.c b/src/MAT/csr_mv/csr_ilu.c index 532fff0..d8f4bc1 100644 --- a/src/MAT/csr_mv/csr_ilu.c +++ b/src/MAT/csr_mv/csr_ilu.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "csr_mv.h" +#include "src/MAT/csr_mv/csr_mv.h" static void faspxx_qsplit(FASPXX_Real* a, FASPXX_Int* ind, FASPXX_Int n, FASPXX_Int ncut); static void faspxx_check_col_index(FASPXX_Int row, FASPXX_Int num, FASPXX_Int* q); diff --git a/src/MAT/csr_mv/csr_matop.c b/src/MAT/csr_mv/csr_matop.c index 5c7d426..200af51 100644 --- a/src/MAT/csr_mv/csr_matop.c +++ b/src/MAT/csr_mv/csr_matop.c @@ -14,7 +14,7 @@ * *****************************************************************************/ -#include "csr_mv.h" +#include "src/MAT/csr_mv/csr_mv.h" // #include "csr_matrix.h" /*-------------------------------------------------------------------------- diff --git a/src/MAT/csr_mv/csr_matrix.c b/src/MAT/csr_mv/csr_matrix.c index 5f1fe6c..4138f34 100644 --- a/src/MAT/csr_mv/csr_matrix.c +++ b/src/MAT/csr_mv/csr_matrix.c @@ -14,7 +14,7 @@ * *****************************************************************************/ -#include "csr_mv.h" +#include "src/MAT/csr_mv/csr_mv.h" #ifdef FASPXX_PROFILE FASPXX_Real faspxx_profile_times[FASPXX_TIMER_ID_COUNT] = {0}; diff --git a/src/MAT/csr_mv/csr_matvec.c b/src/MAT/csr_mv/csr_matvec.c index d8cde0b..e992de2 100644 --- a/src/MAT/csr_mv/csr_matvec.c +++ b/src/MAT/csr_mv/csr_matvec.c @@ -14,7 +14,7 @@ * *****************************************************************************/ -#include "csr_mv.h" +#include "src/MAT/csr_mv/csr_mv.h" /*-------------------------------------------------------------------------- * faspxx_CSRMatrixMatvec diff --git a/src/MAT/csr_mv/genpart.c b/src/MAT/csr_mv/genpart.c index 5ee6221..902111f 100644 --- a/src/MAT/csr_mv/genpart.c +++ b/src/MAT/csr_mv/genpart.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "csr_mv.h" +#include "src/MAT/csr_mv/csr_mv.h" /*-------------------------------------------------------------------------- * faspxx_GeneratePartitioning: diff --git a/src/MAT/csr_mv/vector.c b/src/MAT/csr_mv/vector.c index 4382ba3..a529536 100644 --- a/src/MAT/csr_mv/vector.c +++ b/src/MAT/csr_mv/vector.c @@ -14,7 +14,7 @@ * *****************************************************************************/ -#include "csr_mv.h" +#include "src/MAT/csr_mv/csr_mv.h" /*-------------------------------------------------------------------------- * faspxx_SeqVectorCreate diff --git a/src/MAT/parbsr_mv/par_bsr_assumed_part.c b/src/MAT/parbsr_mv/par_bsr_assumed_part.c index a62b559..d6297a6 100644 --- a/src/MAT/parbsr_mv/par_bsr_assumed_part.c +++ b/src/MAT/parbsr_mv/par_bsr_assumed_part.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "parbsr_mv.h" +#include "src/MAT/parbsr_mv/parbsr_mv.h" /*-------------------------------------------------------------------- * faspxx_ParBSRMatrixCreateAssumedPartition diff --git a/src/MAT/parbsr_mv/par_bsr_communication.c b/src/MAT/parbsr_mv/par_bsr_communication.c index 18425d8..bba8050 100644 --- a/src/MAT/parbsr_mv/par_bsr_communication.c +++ b/src/MAT/parbsr_mv/par_bsr_communication.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "parbsr_mv.h" +#include "src/MAT/parbsr_mv/parbsr_mv.h" /*-------------------------------------------------------------------------- * faspxx_ParBSRCommHandleCreate diff --git a/src/MAT/parbsr_mv/par_bsr_matop.c b/src/MAT/parbsr_mv/par_bsr_matop.c index 8c3cfa7..5b10a24 100644 --- a/src/MAT/parbsr_mv/par_bsr_matop.c +++ b/src/MAT/parbsr_mv/par_bsr_matop.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "parbsr_mv.h" +#include "src/MAT/parbsr_mv/parbsr_mv.h" /* ---------------------------------------------------------------------- * faspxx_ParBSRMatrixExtractBExt: extracts rows from B which are located on diff --git a/src/MAT/parbsr_mv/par_bsr_matrix.c b/src/MAT/parbsr_mv/par_bsr_matrix.c index fe212d2..942fa6d 100644 --- a/src/MAT/parbsr_mv/par_bsr_matrix.c +++ b/src/MAT/parbsr_mv/par_bsr_matrix.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "parbsr_mv.h" +#include "src/MAT/parbsr_mv/parbsr_mv.h" /*-------------------------------------------------------------------------- * faspxx_ParBSRMatrixCreate diff --git a/src/MAT/parbsr_mv/par_bsr_matvec.c b/src/MAT/parbsr_mv/par_bsr_matvec.c index 3a3e8d2..52e059c 100644 --- a/src/MAT/parbsr_mv/par_bsr_matvec.c +++ b/src/MAT/parbsr_mv/par_bsr_matvec.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "parbsr_mv.h" +#include "src/MAT/parbsr_mv/parbsr_mv.h" /*-------------------------------------------------------------------------- * faspxx_ParCSRMatrixMatvec diff --git a/src/MAT/parbsr_mv/par_bsr_triplemat.c b/src/MAT/parbsr_mv/par_bsr_triplemat.c index 32c417d..c7e7048 100644 --- a/src/MAT/parbsr_mv/par_bsr_triplemat.c +++ b/src/MAT/parbsr_mv/par_bsr_triplemat.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "parbsr_mv.h" +#include "src/MAT/parbsr_mv/parbsr_mv.h" /*-------------------------------------------------------------------------- * used in RAP function - block size must be an argument because RAP_int may diff --git a/src/MAT/parcsr_mv/new_commpkg.c b/src/MAT/parcsr_mv/new_commpkg.c index 2a0223e..022603d 100644 --- a/src/MAT/parcsr_mv/new_commpkg.c +++ b/src/MAT/parcsr_mv/new_commpkg.c @@ -13,7 +13,7 @@ * AHB 6/04 *-----------------------------------------------------*/ -#include "parcsr_mv.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" /* some debugging tools*/ #define mydebug 0 diff --git a/src/MAT/parcsr_mv/par_csr_assumed_part.c b/src/MAT/parcsr_mv/par_csr_assumed_part.c index 612f5a3..47c20cf 100644 --- a/src/MAT/parcsr_mv/par_csr_assumed_part.c +++ b/src/MAT/parcsr_mv/par_csr_assumed_part.c @@ -14,7 +14,7 @@ * AHB 4/06 *-----------------------------------------------------*/ -#include "parcsr_mv.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" /* This is used only in the function below */ #define CONTACT(a, b) (contact_list[(a) * 3 + (b)]) diff --git a/src/MAT/parcsr_mv/par_csr_communication.c b/src/MAT/parcsr_mv/par_csr_communication.c index 2473f28..2612a4b 100644 --- a/src/MAT/parcsr_mv/par_csr_communication.c +++ b/src/MAT/parcsr_mv/par_csr_communication.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "parcsr_mv.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" /*==========================================================================*/ diff --git a/src/MAT/parcsr_mv/par_csr_matop.c b/src/MAT/parcsr_mv/par_csr_matop.c index a06a91c..6c10a3e 100644 --- a/src/MAT/parcsr_mv/par_csr_matop.c +++ b/src/MAT/parcsr_mv/par_csr_matop.c @@ -8,8 +8,8 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" -#include "parcsr_mv.h" +#include "utilities/_faspxx_utilities.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" // #include "_faspxx_lapack.h" // #include "_faspxx_blas.h" diff --git a/src/MAT/parcsr_mv/par_csr_matrix.c b/src/MAT/parcsr_mv/par_csr_matrix.c index 0c26ad5..f72541c 100644 --- a/src/MAT/parcsr_mv/par_csr_matrix.c +++ b/src/MAT/parcsr_mv/par_csr_matrix.c @@ -14,7 +14,7 @@ * *****************************************************************************/ -#include "parcsr_mv.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" // #include "../seq_mv/FASPXX_seq_mv.h" // #include "../seq_mv/csr_matrix.h" diff --git a/src/MAT/parcsr_mv/par_csr_matvec.c b/src/MAT/parcsr_mv/par_csr_matvec.c index 259f2e1..9179df9 100644 --- a/src/MAT/parcsr_mv/par_csr_matvec.c +++ b/src/MAT/parcsr_mv/par_csr_matvec.c @@ -14,7 +14,7 @@ * *****************************************************************************/ -#include "parcsr_mv.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" /*-------------------------------------------------------------------------- * faspxx_ParCSRMatrixMatvec diff --git a/src/MAT/parcsr_mv/par_csr_triplemat.c b/src/MAT/parcsr_mv/par_csr_triplemat.c index ac48725..905d9ef 100644 --- a/src/MAT/parcsr_mv/par_csr_triplemat.c +++ b/src/MAT/parcsr_mv/par_csr_triplemat.c @@ -8,10 +8,10 @@ *--------------------------------------------------------------------------------- */ -#include "parcsr_mv.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" // #include "../parcsr_mv/parcsr_mv.h" -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" /*-------------------------------------------------------------------------- * faspxx_ParCSRMatMat : multiplies two ParCSRMatrices A and B and returns diff --git a/src/MAT/parcsr_mv/par_vector.c b/src/MAT/parcsr_mv/par_vector.c index 3914690..f25bbd2 100644 --- a/src/MAT/parcsr_mv/par_vector.c +++ b/src/MAT/parcsr_mv/par_vector.c @@ -14,7 +14,7 @@ * *****************************************************************************/ -#include "parcsr_mv.h" +#include "src/MAT/parcsr_mv/parcsr_mv.h" FASPXX_Int faspxx_FillResponseParToVectorAll(void*, FASPXX_Int, FASPXX_Int, void*, MPI_Comm, void**, FASPXX_Int*); diff --git a/utilities/amg_linklist.c b/utilities/amg_linklist.c index 0ffdd2f..b6fa70e 100644 --- a/utilities/amg_linklist.c +++ b/utilities/amg_linklist.c @@ -14,7 +14,7 @@ * ****************************************************************************/ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" #define faspxx_LIST_HEAD -1 #define faspxx_LIST_TAIL -2 diff --git a/utilities/ap.c b/utilities/ap.c index 754d0a1..52fb915 100644 --- a/utilities/ap.c +++ b/utilities/ap.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" /* This file will eventually contain functions needed to support a runtime decision of whether to use the assumed partition */ diff --git a/utilities/binsearch.c b/utilities/binsearch.c index b0e3550..4eaae3c 100644 --- a/utilities/binsearch.c +++ b/utilities/binsearch.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" /*-------------------------------------------------------------------------- * faspxx_BinarySearch diff --git a/utilities/error.c b/utilities/error.c index 4866a21..658802e 100644 --- a/utilities/error.c +++ b/utilities/error.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" FASPXX_Int faspxx__global_error = 0; diff --git a/utilities/exchange_data.c b/utilities/exchange_data.c index 9c4acb1..5ee37df 100644 --- a/utilities/exchange_data.c +++ b/utilities/exchange_data.c @@ -12,7 +12,7 @@ #include #include -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" /*--------------------------------------------------- * faspxx_CreateBinaryTree() diff --git a/utilities/hopscotch_hash.c b/utilities/hopscotch_hash.c index c354fec..3bd8585 100644 --- a/utilities/hopscotch_hash.c +++ b/utilities/hopscotch_hash.c @@ -8,8 +8,8 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" -#include "faspxx.h" +#include "utilities/_faspxx_utilities.h" +// #include "faspxx.h" static FASPXX_Int NearestPowerOfTwo(FASPXX_Int value) { diff --git a/utilities/int_array.c b/utilities/int_array.c index 15adf8a..e047518 100644 --- a/utilities/int_array.c +++ b/utilities/int_array.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" // #include "_faspxx_utilities.hpp" /****************************************************************************** diff --git a/utilities/log.c b/utilities/log.c index 20fde34..500a222 100644 --- a/utilities/log.c +++ b/utilities/log.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" /*-------------------------------------------------------------------------- * faspxx_Log2: diff --git a/utilities/memory.c b/utilities/memory.c index e030edb..c8472fe 100644 --- a/utilities/memory.c +++ b/utilities/memory.c @@ -14,7 +14,7 @@ * *****************************************************************************/ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" #if defined(FASPXX_USE_UMALLOC) #undef FASPXX_USE_UMALLOC diff --git a/utilities/merge_sort.c b/utilities/merge_sort.c index 31f37ca..6d6a326 100644 --- a/utilities/merge_sort.c +++ b/utilities/merge_sort.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" // #include "../csr_mv/FASPXX_csr_mv.h" // #define DBG_MERGE_SORT #ifdef DBG_MERGE_SORT diff --git a/utilities/mmio.c b/utilities/mmio.c index 07ef9a3..24e981a 100644 --- a/utilities/mmio.c +++ b/utilities/mmio.c @@ -15,7 +15,7 @@ * * */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" #include #include #include diff --git a/utilities/mpistubs.c b/utilities/mpistubs.c index 5944318..554e012 100644 --- a/utilities/mpistubs.c +++ b/utilities/mpistubs.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" /****************************************************************************** * This routine is the same in both the sequential and normal cases diff --git a/utilities/prefix_sum.c b/utilities/prefix_sum.c index 22e01ac..21bbb1f 100644 --- a/utilities/prefix_sum.c +++ b/utilities/prefix_sum.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" void faspxx_prefix_sum(FASPXX_Int* in_out, FASPXX_Int* sum, FASPXX_Int* workspace) { diff --git a/utilities/printf.c b/utilities/printf.c index c88c9e3..dd808c2 100644 --- a/utilities/printf.c +++ b/utilities/printf.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" #include #include diff --git a/utilities/qsort.c b/utilities/qsort.c index 5cfcb64..4093d67 100644 --- a/utilities/qsort.c +++ b/utilities/qsort.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" #include /*-------------------------------------------------------------------------- diff --git a/utilities/qsplit.c b/utilities/qsplit.c index b72fb97..b7b3f7f 100644 --- a/utilities/qsplit.c +++ b/utilities/qsplit.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" #include /*-------------------------------------------------------------------------- diff --git a/utilities/random.c b/utilities/random.c index 172f4b5..792bc18 100644 --- a/utilities/random.c +++ b/utilities/random.c @@ -34,7 +34,7 @@ * *****************************************************************************/ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" static FASPXX_Int Seed = 13579; diff --git a/utilities/threading.c b/utilities/threading.c index 2791490..c625ed0 100644 --- a/utilities/threading.c +++ b/utilities/threading.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" #include #include diff --git a/utilities/timer.c b/utilities/timer.c index 00f48ef..f11561f 100644 --- a/utilities/timer.c +++ b/utilities/timer.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" #include #ifndef WIN32 diff --git a/utilities/timing.c b/utilities/timing.c index f518868..fe2d269 100644 --- a/utilities/timing.c +++ b/utilities/timing.c @@ -15,7 +15,7 @@ *****************************************************************************/ #define FASPXX_TIMING #define FASPXX_TIMING_GLOBALS -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" // #include "timing.h" /*------------------------------------------------------- diff --git a/utilities/utilities.c b/utilities/utilities.c index bec01c0..4056dc1 100644 --- a/utilities/utilities.c +++ b/utilities/utilities.c @@ -8,7 +8,7 @@ *--------------------------------------------------------------------------------- */ -#include "_faspxx_utilities.h" +#include "utilities/_faspxx_utilities.h" /*-------------------------------------------------------------------------- * faspxx_multmod -- Gitee From 7e81123b3e60dacc03602352b3cc670c13f89204 Mon Sep 17 00:00:00 2001 From: "Cheng, Xiaoxing" Date: Fri, 24 Jan 2025 22:30:21 -0600 Subject: [PATCH 4/5] update example --- CMakeLists.txt | 2 +- example/CMakeLists.txt | 2 +- example/README.md | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f78e94..dfca7fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ find_package(MPI REQUIRED) # Set the output library name -set(LIBRARY_NAME FASPXX CACHE STRING "The library name") +set(LIBRARY_NAME faspxx CACHE STRING "The library name") add_library(${LIBRARY_NAME}) add_library(FASP::faspxx ALIAS ${LIBRARY_NAME}) target_include_directories(${LIBRARY_NAME} PUBLIC diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index 225114c..476a07f 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -5,4 +5,4 @@ project(example VERSION 1.0.0) find_package(MPI REQUIRED) find_package(faspxx REQUIRED) add_executable(demo demo.c) -target_link_libraries(demo PRIVATE FASP::FASPXX) \ No newline at end of file +target_link_libraries(demo PRIVATE FASP::faspxx) \ No newline at end of file diff --git a/example/README.md b/example/README.md index 06bbcc8..cf6e986 100644 --- a/example/README.md +++ b/example/README.md @@ -14,3 +14,10 @@ make mpirun4 # i.e. mpirun -np 4 ./demo demo.json - `new_demo.json`: (generated) json file which is generated by `demo.c` for debugging. It is generated via replacing some name values in `demo.json` with the corresponding number values. - `Makefile`: make file - `README.md`: this file + + +``` +cmake --preset debug +cmake --build --preset debug-build +cmake --build --preset debug-build --target install +``` -- Gitee From defd208aedc33cd9ffc823c3077105ad1be733a8 Mon Sep 17 00:00:00 2001 From: "Cheng, Xiaoxing" Date: Sun, 26 Jan 2025 15:37:22 -0600 Subject: [PATCH 5/5] add dynamic library option for cmake --- CMakeLists.txt | 9 ++++++++- CMakePresets.json | 23 +++++++++++++++++++++-- README.md | 18 ++++++++++++++++-- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dfca7fc..e33d238 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,10 +10,17 @@ project(FASPXX VERSION 1.0.0) find_package(MPI REQUIRED) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +option(BUILD_SHARED_LIBS "Build shared libraries" ON) + # Set the output library name set(LIBRARY_NAME faspxx CACHE STRING "The library name") -add_library(${LIBRARY_NAME}) +if(BUILD_SHARED_LIBS) + add_library(${LIBRARY_NAME} SHARED) +else() + add_library(${LIBRARY_NAME} STATIC) +endif() add_library(FASP::faspxx ALIAS ${LIBRARY_NAME}) target_include_directories(${LIBRARY_NAME} PUBLIC $ diff --git a/CMakePresets.json b/CMakePresets.json index 16e08fd..f7cdc7e 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -16,7 +16,8 @@ "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "CMAKE_C_FLAGS": "-O2 -DHAVE_CONFIG_H -std=gnu99", - "CMAKE_CXX_FLAGS": "-O2 -DHAVE_CONFIG_H" + "CMAKE_CXX_FLAGS": "-O2 -DHAVE_CONFIG_H", + "BUILD_SHARED_LIBS": "ON" } }, { @@ -30,7 +31,18 @@ "CMAKE_BUILD_TYPE": "Debug", "CMAKE_C_FLAGS": "-g -Wall -DHAVE_CONFIG_H -std=gnu99", "CMAKE_CXX_FLAGS": "-g -Wall -DHAVE_CONFIG_H", - "CMAKE_INSTALL_PREFIX": "build/install/debug" + "CMAKE_INSTALL_PREFIX": "build/install/debug", + "BUILD_SHARED_LIBS": "ON" + } + },{ + "name":"debug-static", + "displayName":"Debug Static Config", + "description":"Debug build configuration with static libraries", + "inherits":["debug"], + "binaryDir": "${sourceDir}/build/debug-static", + "installDir": "${sourceDir}/install/debug-static", + "cacheVariables": { + "BUILD_SHARED_LIBS": "OFF" } } ], @@ -48,6 +60,13 @@ "configurePreset": "debug", "configuration": "Debug", "jobs": 4 + }, + { + "name": "debug-static-build", + "displayName": "Debug Static Build", + "configurePreset": "debug-static", + "configuration": "Debug Static", + "jobs": 4 } ] } \ No newline at end of file diff --git a/README.md b/README.md index c8b0bdc..8d6114f 100644 --- a/README.md +++ b/README.md @@ -59,12 +59,26 @@ make make run # or make mpirun4 or mpirun -np 4 ./demo demo.json ``` +#### Dynamic library ``` -cmake --preset debug -cmake --build --preset debug-build +// configure +cmake --preset debug +// build +cmake --build --preset debug-build +// install cmake --build --preset debug-build --target install ``` +#### Static library +``` +// configure +cmake --preset debug-static +// build +cmake --build --preset debug-static-build +// install +cmake --build --preset debug-static-build --target install +``` + ### 5. Results ```txt -- Gitee