Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
amdis
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Aland, Sebastian
amdis
Commits
941d28f2
Commit
941d28f2
authored
Oct 18, 2016
by
Praetorius, Simon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
petsc and zoltan configuration updated
parent
14b8a30c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
83 additions
and
63 deletions
+83
-63
AMDiS/cmake3/amdis_parallel.cmake
AMDiS/cmake3/amdis_parallel.cmake
+3
-3
AMDiS/cmake3/target_enable_petsc.cmake
AMDiS/cmake3/target_enable_petsc.cmake
+61
-40
AMDiS/cmake3/target_enable_zoltan.cmake
AMDiS/cmake3/target_enable_zoltan.cmake
+19
-20
No files found.
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
Markdown
is supported
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