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:
		
							parent
							
								
									a66408f8c0
								
							
						
					
					
						commit
						fb99371972
					
				
					 1 changed files with 67 additions and 0 deletions
				
			
		|  | @ -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)) | ||||||
|  |  | ||||||
		Reference in a new issue