Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
guix-hpc
guix-hpc-non-free
Commits
eae8916e
Commit
eae8916e
authored
Sep 09, 2020
by
FELŠÖCI Marek
Browse files
mumps-mkl: enable OpenMP directives-based multi-threading
parent
72fccf66
Changes
1
Hide whitespace changes
Inline
Side-by-side
hacky/mumps-mkl.scm
View file @
eae8916e
...
...
@@ -7,6 +7,7 @@
#
:use-module
(
guix
packages
)
#
:use-module
(
guix
utils
)
#
:use-module
(
gnu
packages
mpi
)
#
:use-module
(
gnu
packages
llvm
)
#
:use-module
(
gnu
packages
maths
)
#
:use-module
(
srfi
srfi-1
)
#
:use-module
(
non-free
mkl
))
...
...
@@ -17,6 +18,7 @@
(
name
"mumps-mkl"
)
(
inputs
`
((
"blas"
,
mkl
)
(
"libomp"
,
libomp
)
,@
(
alist-delete
"openblas"
(
package-inputs
mumps
))))
(
arguments
(
substitute-keyword-arguments
...
...
@@ -55,11 +57,13 @@ SCALAP += -lscalapack~]
LIBOTHERS = -pthread
CDEFS = -DAdd_
PIC = -fPIC
OPTF = -O2 -DALLOW_NON_INIT $(PIC)
OPTL = -O2 $(PIC)
OPTF = -O2 -DALLOW_NON_INIT
-DBLR_MT -fopenmp
$(PIC)
OPTL = -O2
-fopenmp
$(PIC)
OPTC = -O2 $(PIC)
INCS = $(INCSEQ)
LIBS = $(SCALAP) $(LIBSEQ)
OMPDIR = ~a
LIBOMP = -L$(OMPDIR)/lib -lgomp
LIBS = $(SCALAP) $(LIBSEQ) $(LIBOMP)
LPORDDIR = $(topdir)/PORD/lib
IPORD = -I$(topdir)/PORD/include
LPORD = $(LPORDDIR)/libpord.a
...
...
@@ -74,12 +78,13 @@ LSCOTCH = -Wl,-rpath $(SCOTCHDIR)/lib -L$(SCOTCHDIR)/lib ~a-lesmumps
LSCOTCH += -lscotch -lscotcherr
ORDERINGSF += ~a~}~]
ORDERINGSC = $(ORDERINGSF)
LORDERINGS = $(LPORD) $(LMETIS) $(LSCOTCH) $(LIBSEQ)
IORDERINGSF = $(ISCOTCH)
IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
LORDERINGS = $(LPORD) $(LMETIS) $(LSCOTCH) $(LIBSEQ)
$(LIBOMP)
IORDERINGSF = $(ISCOTCH)
$(LIBOMP)
IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)
$(LIBOMP)
"
(
assoc-ref
inputs
"mpi"
)
(
assoc-ref
inputs
"blas"
)
(
assoc-ref
inputs
"scalapack"
)
(
assoc-ref
inputs
"libomp"
)
(
assoc-ref
inputs
"metis"
)
(
match
(
list
(
assoc-ref
inputs
"pt-scotch"
)
(
assoc-ref
inputs
"scotch"
))
...
...
@@ -91,8 +96,8 @@ IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
`
((
,ptscotch
"-lptesmumps -lptscotch -lptscotcherr "
"-Dptscotch"
)))))))))))))
(
synopsis
"Multifrontal sparse direct solver (
using Intel® MKL instead of
OpenBLAS)"
)))
(
synopsis
"Multifrontal sparse direct solver (
compiled with OpenMP
directives-based multi-threading support and Intel® MKL instead of
OpenBLAS)"
)))
(
define-public
mumps-mkl-metis
(
package
...
...
@@ -121,8 +126,8 @@ OpenBLAS)")))
(
lambda
_
((
assoc-ref
,
phases
'check
)
#
:exec-prefix
'
(
"mpirun"
"-n"
"2"
))))))))
(
synopsis
"Multifrontal sparse direct solver (
using Intel® MKL instead of
Open
BLAS and MPI
)"
)))
(
synopsis
"Multifrontal sparse direct solver (
compiled with combined MPI and
Open
MP multi-threading support and Intel® MKL instead of OpenBLAS
)"
)))
(
define-public
mumps-mkl-metis-openmpi
(
package
...
...
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