From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41830) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dz7k3-0007vt-Rj for guix-patches@gnu.org; Mon, 02 Oct 2017 16:55:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dz7k1-0001ih-8I for guix-patches@gnu.org; Mon, 02 Oct 2017 16:55:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:35941) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dz7k1-0001iY-4V for guix-patches@gnu.org; Mon, 02 Oct 2017 16:55:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dz7k0-00060e-U3 for guix-patches@gnu.org; Mon, 02 Oct 2017 16:55:04 -0400 Subject: [bug#28673] [PATCH 6/6] gnu: Add scorep-openmpi. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41278) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dz7j0-0007nP-79 for guix-patches@gnu.org; Mon, 02 Oct 2017 16:54:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dz7iy-0007ue-E4 for guix-patches@gnu.org; Mon, 02 Oct 2017 16:54:02 -0400 From: Dave Love Date: Mon, 2 Oct 2017 21:48:48 +0100 Message-Id: <20171002204848.23646-6-fx@gnu.org> In-Reply-To: <20171002204848.23646-1-fx@gnu.org> References: <20171002204848.23646-1-fx@gnu.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 28673@debbugs.gnu.org Cc: Dave Love * gnu/packages/profiling.scm (make-scorep): New function. (scorep-openmpi): New variable. --- gnu/packages/profiling.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index cef363dee..e81747c0d 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -25,15 +25,20 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) ;for "which" + #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) #:use-module (gnu packages fabric-management) + #:use-module (gnu packages flex) #:use-module (gnu packages gawk) #:use-module (gnu packages glib) #:use-module (gnu packages gcc) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) + #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages qt)) ;; Fixme: Separate out lib and fix resulting cycle errors; separate libpfm @@ -316,3 +321,66 @@ behavior.") codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.") (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 (let* ((parts (string-split version #\.) ) + (major (car parts)) + (minor (cadr parts))) + (string-append + "http://www.vi-hps.org/upload/packages/scorep/scorep-" + version ".tar.gz"))) + (sha256 (base32 "0h45357djna4dn9jyxx0n36fhhms3jrf22988m9agz1aw2jfivs9")))) + (build-system gnu-build-system) + (inputs + `(("mpi" ,mpi) + ("papi" ,papi) + ("opari2" ,opari2) + ("libunwind" ,libunwind) + ("otf2" ,otf2) + ("cube" ,cube) ;for cube-config, as above + ("cubelib" ,cube "lib") ;for lib, include + ("openmpi" ,openmpi) + ("doxygen" ,doxygen) + ("zlib" ,zlib) + ("which" ,which))) + (native-inputs `(("gfortran" ,gfortran) + ("flex" ,flex) + ("bison" ,bison) + ("python" ,python))) + (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 'unpack 'clean-source + (lambda _ + (map delete-file-recursively '("vendor/opari2" "vendor/cube")))) + (add-after 'install 'licence + (lambda _ + (let ((doc (string-append (assoc-ref %outputs "out") "/share/doc"))) + (mkdir-p doc) + (install-file "COPYING" doc) + #t)))))) + (home-page "http://www.vi-hps.org/projects/score-p/") + (synopsis + (format #f "\ +Scalable Performance Measurement Infrastructure for Parallel Codes, ~a version" + (package-name mpi))) + (description (format #f "The Score-P (Scalable Performance Measurement Infrastructure for Parallel +Codes) measurement infrastructure is a highly scalable and easy-to-use tool +suite for profiling, event trace recording, and online analysis of HPC +applications. +This is the ~a version." (package-name mpi))) + (license license:cpl1.0))) + +(define-public scorep-openmpi (make-scorep openmpi)) -- 2.11.0