Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Aland, Sebastian
amdis
Commits
941d28f2
Commit
941d28f2
authored
Oct 18, 2016
by
Praetorius, Simon
Browse files
petsc and zoltan configuration updated
parent
14b8a30c
Changes
3
Hide whitespace changes
Inline
Side-by-side
AMDiS/cmake3/amdis_parallel.cmake
View file @
941d28f2
...
...
@@ -42,9 +42,9 @@ if (ENABLE_PARALLEL_DOMAIN)
endif
(
ENABLE_ZOLTAN
)
if
(
ENABLE_BDDCML
)
target_compile_definitions
(
amdis_parallel INTERFACE HAVE_BDDCML=1
)
target_sources
(
amdis PRIVATE
${
SOURCE_DIR
}
/parallel/BddcMlSolver.cc
)
target_compile_definitions
(
amdis_parallel INTERFACE HAVE_BDDCML=1
)
target_sources
(
amdis PRIVATE
${
SOURCE_DIR
}
/parallel/BddcMlSolver.cc
)
endif
(
ENABLE_BDDCML
)
# add some more source-files that need petsc
...
...
AMDiS/cmake3/target_enable_petsc.cmake
View file @
941d28f2
macro
(
target_enable_mpi _TARGET_ _SCOPE_
)
if
(
${
ARGC
}
GREATER 2
)
set
(
LINK_EXECUTABLE ON
)
else
()
set
(
LINK_EXECUTABLE OFF
)
endif
()
find_package
(
MPI REQUIRED
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
MPI_CXX_INCLUDE_PATH
}
)
target_compile_options
(
${
_TARGET_
}
${
_SCOPE_
}
${
MPI_CXX_COMPILE_FLAGS
}
)
string
(
STRIP
"
${
MPI_CXX_LINK_FLAGS
}
"
MPI_CXX_LINK_FLAGS_
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
MPI_CXX_LINK_FLAGS_
}
${
MPI_CXX_LIBRARIES
}
)
if
(
LINK_EXECUTABLE
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
MPI_CXX_LINK_FLAGS_
}
${
MPI_CXX_LIBRARIES
}
)
endif
(
LINK_EXECUTABLE
)
endmacro
(
target_enable_mpi
)
macro
(
target_enable_petsc _TARGET_ _SCOPE_
)
if
(
${
ARGC
}
GREATER 2
)
set
(
LINK_EXECUTABLE ON
)
...
...
@@ -41,70 +51,81 @@ macro(target_enable_petsc _TARGET_ _SCOPE_)
set
(
PETSC_DEFINITIONS
${
PETSC_CFLAGS
}
${
PETSC_CFLAGS_OTHER
}
)
endif
(
PETSc_FOUND
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
PETSC_INCLUDE_DIRS
}
)
target_compile_definitions
(
${
_TARGET_
}
${
_SCOPE_
}
HAVE_PARALLEL_PETSC=1
PETSC_VERSION=
${
PETSC_VERSION
}
)
target_compile_options
(
${
_TARGET_
}
${
_SCOPE_
}
${
PETSC_DEFINITIONS
}
)
if
(
LINK_EXECUTABLE
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
PETSC_LIBRARIES
}
)
endif
(
LINK_EXECUTABLE
)
# parmetis is required
find_file
(
PARMETIS_HEADER_FILE
"parmetis.h"
HINTS
${
PARMETIS_DIR
}
/include
${
PETSC_INCLUDE_DIRS
}
)
if
(
PARMETIS_HEADER_FILE
)
get_filename_component
(
PARMETIS_INCLUDE_PATH
"
${
PARMETIS_HEADER_FILE
}
"
PATH CACHE
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
PARMETIS_INCLUDE_PATH
}
)
get_filename_component
(
PARMETIS_INCLUDE_PATH
"
${
PARMETIS_HEADER_FILE
}
"
PATH CACHE
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
PARMETIS_INCLUDE_PATH
}
)
else
()
message
(
FATAL_ERROR
"Could not find ParMetis header file 'parmetis.h'!"
)
message
(
FATAL_ERROR
"Could not find ParMetis header file 'parmetis.h'!"
)
endif
(
PARMETIS_HEADER_FILE
)
if
(
LINK_EXECUTABLE
)
find_library
(
PARMETIS_LIB parmetis
HINTS
${
PARMETIS_DIR
}
/lib
${
PETSC_LIBRARY_DIRS
}
)
if
(
PARMETIS_LIB
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
PARMETIS_LIB
}
)
else
(
PARMETIS_LIB
)
if
(
NOT PARMETIS_LIB
)
message
(
FATAL_ERROR
"Could not find the ParMetis libraries needed by amdis"
)
endif
(
PARMETIS_LIB
)
endif
(
NOT PARMETIS_LIB
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
PARMETIS_LIB
}
)
endif
(
LINK_EXECUTABLE
)
# metis is required
find_file
(
METIS_HEADER_FILE
"metis.h"
HINTS
${
METIS_DIR
}
/include
${
PARMETIS_DIR
}
/include
${
PETSC_INCLUDE_DIRS
}
)
if
(
METIS_HEADER_FILE
)
get_filename_component
(
METIS_INCLUDE_PATH
"
${
METIS_HEADER_FILE
}
"
PATH CACHE
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
METIS_INCLUDE_PATH
}
)
get_filename_component
(
METIS_INCLUDE_PATH
"
${
METIS_HEADER_FILE
}
"
PATH CACHE
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
METIS_INCLUDE_PATH
}
)
else
()
message
(
FATAL_ERROR
"Could not find Metis header file 'metis.h'!"
)
message
(
FATAL_ERROR
"Could not find Metis header file 'metis.h'!"
)
endif
(
METIS_HEADER_FILE
)
if
(
LINK_EXECUTABLE
)
find_library
(
METIS_LIB metis
HINTS
${
METIS_DIR
}
/lib
${
PARMETIS_DIR
}
/lib
${
PETSC_LIBRARY_DIRS
}
)
if
(
METIS_LIB
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
METIS_LIB
}
)
else
(
METIS_LIB
)
HINTS
${
METIS_DIR
}
/lib
${
PARMETIS_DIR
}
/lib
${
PETSC_LIBRARY_DIRS
}
)
if
(
NOT METIS_LIB
)
message
(
FATAL_ERROR
"Could not find the MEtis libraries needed by amdis"
)
endif
(
METIS_LIB
)
endif
(
NOT METIS_LIB
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
METIS_LIB
}
)
endif
(
LINK_EXECUTABLE
)
# blas library is required
find_library
(
BLAS_LIB
NAMES blas fblas openblas
HINTS
${
BLAS_DIR
}
/lib
${
PETSC_LIBRARY_DIRS
}
/usr/lib/openblas-base /usr/lib/atlas-base
)
if
(
BLAS_LIB
)
set
(
BLAS_LIBRARIES
${
BLAS_LIB
}
)
else
(
BLAS_LIB
)
find_package
(
BLAS REQUIRED
)
endif
(
BLAS_LIB
)
if
(
LINK_EXECUTABLE
)
find_library
(
BLAS_LIB
NAMES blas fblas openblas
HINTS
${
BLAS_DIR
}
/lib
${
PETSC_LIBRARY_DIRS
}
/usr/lib/openblas-base /usr/lib/atlas-base
)
if
(
BLAS_LIB
)
set
(
BLAS_LIBRARIES
${
BLAS_LIB
}
)
else
(
BLAS_LIB
)
find_package
(
BLAS REQUIRED
)
endif
(
BLAS_LIB
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
BLAS_LIBRARIES
}
)
endif
(
LINK_EXECUTABLE
)
# lapack library is required
find_library
(
LAPACK_LIB
NAMES lapack flapack
HINTS
${
LAPACK_DIR
}
/lib
${
PETSC_LIBRARY_DIRS
}
${
PETSC_DIR
}
/lib
)
if
(
LAPACK_LIB
)
set
(
LAPACK_LIBRARIES
${
LAPACK_LIB
}
)
else
(
LAPACK_LIB
)
find_package
(
LAPACK REQUIRED
)
endif
(
LAPACK_LIB
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
PETSC_INCLUDE_DIRS
}
)
target_compile_definitions
(
${
_TARGET_
}
${
_SCOPE_
}
HAVE_PARALLEL_PETSC=1
PETSC_VERSION=
${
PETSC_VERSION
}
)
target_compile_options
(
${
_TARGET_
}
${
_SCOPE_
}
${
PETSC_DEFINITIONS
}
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
PETSC_LIBRARIES
}
${
BLAS_LIBRARIES
}
${
LAPACK_LIBRARIES
}
)
# lapack library is required
if
(
LINK_EXECUTABLE
)
find_library
(
LAPACK_LIB
NAMES lapack flapack
HINTS
${
LAPACK_DIR
}
/lib
${
PETSC_LIBRARY_DIRS
}
${
PETSC_DIR
}
/lib
)
if
(
LAPACK_LIB
)
set
(
LAPACK_LIBRARIES
${
LAPACK_LIB
}
)
else
(
LAPACK_LIB
)
find_package
(
LAPACK REQUIRED
)
endif
(
LAPACK_LIB
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
LAPACK_LIBRARIES
}
)
endif
(
LINK_EXECUTABLE
)
endmacro
(
target_enable_petsc
)
AMDiS/cmake3/target_enable_zoltan.cmake
View file @
941d28f2
macro
(
target_enable_zoltan _TARGET_ _SCOPE_
)
if
(
${
ARGC
}
GREATER 2
)
set
(
LINK_EXECUTABLE ON
)
else
()
set
(
LINK_EXECUTABLE OFF
)
endif
()
set
(
LINK_EXECUTABLE ON
)
else
()
set
(
LINK_EXECUTABLE OFF
)
endif
()
find_file
(
ZOLTAN_HEADER_FILE
"zoltan_cpp.h"
HINTS
${
ZOLTAN_DIR
}
/include
${
PETSC_INCLUDE_DIRS
}
)
if
(
ZOLTAN_HEADER_FILE
)
get_filename_component
(
ZOLTAN_HEADER_DIR
"
${
ZOLTAN_HEADER_FILE
}
"
PATH CACHE
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
ZOLTAN_HEADER_DIR
}
)
else
()
message
(
FATAL_ERROR
"Could not find Zoltan include file 'zoltan_cpp.h'!"
)
endif
(
ZOLTAN_HEADER_FILE
)
find_file
(
ZOLTAN_HEADER_FILE
"zoltan_cpp.h"
HINTS
${
ZOLTAN_DIR
}
/include
${
PETSC_INCLUDE_DIRS
}
)
if
(
ZOLTAN_HEADER_FILE
)
get_filename_component
(
ZOLTAN_HEADER_DIR
"
${
ZOLTAN_HEADER_FILE
}
"
PATH CACHE
)
target_include_directories
(
${
_TARGET_
}
${
_SCOPE_
}
${
ZOLTAN_HEADER_DIR
}
)
else
()
message
(
FATAL_ERROR
"Could not find Zoltan include file 'zoltan_cpp.h'!"
)
endif
(
ZOLTAN_HEADER_FILE
)
target_compile_definitions
(
${
_TARGET_
}
${
_SCOPE_
}
HAVE_ZOLTAN=1
)
target_compile_definitions
(
${
_TARGET_
}
${
_SCOPE_
}
HAVE_ZOLTAN=1
)
if
(
LINK_EXECUTABLE
)
find_library
(
ZOLTAN_LIB zoltan
HINTS ENV LIBRARY_PATH DOC
"Full path to the zoltan library"
)
if
(
ZOLTAN_LIB
)
if
(
LINK_EXECUTABLE
)
find_library
(
ZOLTAN_LIB zoltan
HINTS ENV LIBRARY_PATH DOC
"Full path to the zoltan library"
)
if
(
NOT ZOLTAN_LIB
)
message
(
FATAL_ERROR
"Could not find zoltan library!"
)
endif
(
NOT ZOLTAN_LIB
)
target_link_libraries
(
${
_TARGET_
}
${
_SCOPE_
}
${
ZOLTAN_LIB
}
)
else
()
message
(
FATAL_ERROR
"Could not find zoltan library!"
)
endif
()
endif
(
LINK_EXECUTABLE
)
endif
(
LINK_EXECUTABLE
)
endmacro
(
target_enable_zoltan
)
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment