Commit 61065a3b authored by MARAIT Gilles's avatar MARAIT Gilles
Browse files

Fix (but dirty): MaPHyS+Fabulous

parent 89043061
......@@ -230,20 +230,24 @@ area (CPUs-GPUs, distributed nodes).")
"0jcgnkjhqwbbsc4x8pc2g6a4chcy2h4j66y9m108a8q93ar30ngb"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DMAPHYS_BUILD_TESTS=ON"
"-DMAPHYS_SDS_MUMPS=ON"
"-DMAPHYS_SDS_PASTIX=ON"
;;"-DCMAKE_EXE_LINKER_FLAGS=-lstdc++" ;;?
;;"-DMAPHYS_ITE_FABULOUS=ON"
"-DCMAKE_EXE_LINKER_FLAGS=-lstdc++" ;;?
"-DMAPHYS_ITE_FABULOUS=ON"
"-DMAPHYS_ORDERING_PADDLE=ON"
)
#:phases (modify-phases %standard-phases
(add-before 'check 'prepare-test-environment
(lambda _
;; Allow tests with more MPI processes than available CPU cores,
;; which is not allowed by default by OpenMPI
(setenv "OMPI_MCA_rmaps_base_oversubscribe" "1") #t)))))
;; For some reason pkg-config bugs without this variable (for fabulous)
(add-before 'configure 'fix-pkg-config-env
(lambda _ (setenv "PKG_CONFIG_ALLOW_SYSTEM_CFLAGS" "1") #t))
(add-before 'check 'prepare-test-environment
(lambda _
;; Allow tests with more MPI processes than available CPU cores,
;; which is not allowed by default by OpenMPI
(setenv "OMPI_MCA_rmaps_base_oversubscribe" "1") #t)))))
(inputs `(("hwloc" ,hwloc "lib")
("openmpi" ,openmpi)
......@@ -254,7 +258,7 @@ area (CPUs-GPUs, distributed nodes).")
("scotch" ,pt-scotch)
("mumps" ,mumps-openmpi)
("pastix" ,pastix)
;;("fabulous" ,fabulous)
("fabulous" ,fabulous)
("paddle", paddle)
("metis" ,metis)))
(native-inputs `(("gforgran" ,gfortran)
......@@ -343,7 +347,7 @@ moderate number of blocks which ensures a reasonable convergence behavior.")
"-DFABULOUS_USE_CHAMELEON=OFF"
"-DBUILD_SHARED_LIBS=ON"
"-DFABULOUS_BUILD_EXAMPLES=ON"
"-DFABULOUS_BUILD_TESTS=ON")
"-DFABULOUS_BUILD_TESTS=OFF")
#:tests? #f))
(inputs `(("openblas" ,openblas)
("lapack" ,lapack)))
......
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 194334c..6d2f2de 100644
index 194334c..99ca350 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -263,6 +263,7 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/")
......@@ -10,7 +10,18 @@ index 194334c..6d2f2de 100644
endif()
if (PASTIX_LIBRARY_DIRS)
list(REMOVE_DUPLICATES PASTIX_LIBRARY_DIRS)
@@ -423,11 +424,11 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/")
@@ -403,6 +404,10 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/")
if ( MAPHYS_ITE_FABULOUS )
find_package(FABULOUS REQUIRED)
if ( FABULOUS_FOUND )
+ # Dirty way to find modules if include is found...
+ if( FABULOUS_INCLUDE_DIRS AND (NOT FABULOUS_MODULE_DIRS))
+ set( FABULOUS_MODULE_DIRS "${FABULOUS_INCLUDE_DIRS}/fabulous")
+ endif()
message(STATUS "Use FABuLOuS (IB-BGMRES-DR)")
message(STATUS "Include: ${FABULOUS_INCLUDE_DIRS}")
message(STATUS "Modules: ${FABULOUS_MODULE_DIRS}")
@@ -423,11 +428,11 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/")
# MaPHyS depends on Paddle
#----------------------------
if (MAPHYS_ORDERING_PADDLE)
......@@ -27,7 +38,7 @@ index 194334c..6d2f2de 100644
endif()
add_definitions(-DHAVE_LIBPADDLE)
if (PADDLE_INCLUDE_DIRS)
@@ -436,15 +437,12 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/")
@@ -436,15 +441,12 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/")
endforeach()
endif()
if (PADDLE_LIBRARIES)
......@@ -43,3 +54,15 @@ index 194334c..6d2f2de 100644
list(REMOVE_DUPLICATES PADDLE_LIBRARIES)
list(APPEND MAPHYS_EXTRA_LIBRARIES ${PADDLE_LIBRARIES} ${PTSCOTCH_LIBRARIES})
clean_liblist(PADDLE_LIBRARIES MAPHYS_EXTRA_LINK_FLAGS)
diff --git a/hybrid/xmph_fabulous_mod.F90 b/hybrid/xmph_fabulous_mod.F90
index 111a8a7..8d3b615 100644
--- a/hybrid/xmph_fabulous_mod.F90
+++ b/hybrid/xmph_fabulous_mod.F90
@@ -12,7 +12,6 @@ Module XMPH_Fabulous_mod
Use XMPH_maphys_type
Use XMPH_dense_matrix_mod
Use XMPH_schur_aux_mod
- Use iso_c_binding
Use fabulous_mod
Implicit None
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment