Archived
1
0
Fork 0

gnu: Add scorep-openmpi.

* gnu/packages/profiling.scm (make-scorep): New function.
(scorep-openmpi): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Dave Love 2017-10-02 21:48:48 +01:00 committed by Ludovic Courtès
parent a66408f8c0
commit fb99371972
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -25,16 +25,20 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) ;for "which" #:use-module (gnu packages base) ;for "which"
#:use-module (gnu packages bison)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages fabric-management) #:use-module (gnu packages fabric-management)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages libunwind) #:use-module (gnu packages libunwind)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages qt)) #:use-module (gnu packages qt))
@ -330,3 +334,66 @@ different dimensions. All performance metrics are uniformly accommodated in
the same display and thus provide the ability to easily compare the effects of the same display and thus provide the ability to easily compare the effects of
different kinds of performance behavior.") different kinds of performance behavior.")
(license license:bsd-3))) (license license:bsd-3)))
(define (make-scorep mpi)
(package
(name (string-append "scorep-" (package-name mpi)))
(version "3.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.vi-hps.org/upload/packages/scorep/scorep-"
version ".tar.gz"))
(sha256
(base32
"0h45357djna4dn9jyxx0n36fhhms3jrf22988m9agz1aw2jfivs9"))
(modules '((guix build utils)))
(snippet
;; Remove bundled software.
'(for-each delete-file-recursively
'("vendor/opari2" "vendor/cube")))))
(build-system gnu-build-system)
(inputs
`(("mpi" ,mpi)
("papi" ,papi)
("opari2" ,opari2)
("libunwind" ,libunwind)
("otf2" ,otf2)
("cubelib" ,cube "lib") ;for lib, include
("openmpi" ,openmpi)
("zlib" ,zlib)))
(native-inputs
`(("gfortran" ,gfortran)
("flex" ,flex)
("cube" ,cube) ;for cube-config
("bison" ,bison)
("python" ,python)
("doxygen" ,doxygen)
("which" ,which)))
(arguments
`(#:configure-flags
(list "--enable-shared" "--disable-static"
(string-append "--with-opari2="
(assoc-ref %build-inputs "opari2"))
(string-append "--with-cube="
(assoc-ref %build-inputs "cube")))
#:parallel-tests? #f
#:make-flags '("V=1")
#:phases
(modify-phases %standard-phases
(add-after 'install 'licence
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "out")
"/share/doc/scorep")))
(install-file "COPYING" doc)
#t))))))
(home-page "http://www.vi-hps.org/projects/score-p/")
(synopsis "Performance measurement infrastructure for parallel code")
(description
"The Score-P (Scalable Performance Measurement Infrastructure for
Parallel Codes) measurement infrastructure is a scalable and easy-to-use tool
suite for profiling, event trace recording, and online analysis of
high-performance computing (HPC) applications.")
(license license:cpl1.0)))
(define-public scorep-openmpi (make-scorep openmpi))