From fb0e3709280639fce796edc0f3fa8e0d1a6de46d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 1 May 2014 12:16:16 -0500 Subject: [PATCH] gnu: Add OpenMPI * gnu/packages/mpi.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/mpi.scm | 66 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 gnu/packages/mpi.scm diff --git a/gnu-system.am b/gnu-system.am index 5ebcf67d5c..b4aec2549e 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -154,6 +154,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/moe.scm \ gnu/packages/mpd.scm \ gnu/packages/mp3.scm \ + gnu/packages/mpi.scm \ gnu/packages/multiprecision.scm \ gnu/packages/mtools.scm \ gnu/packages/mysql.scm \ diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm new file mode 100644 index 0000000000..14626acbb0 --- /dev/null +++ b/gnu/packages/mpi.scm @@ -0,0 +1,66 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages mpi) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages gcc) + #:use-module (srfi srfi-1)) + +(define-public openmpi + (package + (name "openmpi") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.open-mpi.org/softawre/ompi/v" + (string-join (take (string-split version #\.) 2) + ".") + "/downloads/openmpi-" version ".tar.bz2")) + (sha256 + (base32 + "13z1q69f3qwmmhpglarfjminfy2yw4rfqr9jydjk5507q3mjf50p")))) + (build-system gnu-build-system) + (propagated-inputs + `(("gfortran" ,gfortran-4.8))) + (arguments + `(#:configure-flags '("--enable-static" + "--enable-oshmem" + ;; Thread support causes some applications to hang + ;; "--enable-event-thread-support" + ;; "--enable-opal-multi-threads" + ;; "--enable-orte-progress-threads" + ;; "--enable-mpi-thread-multiple" + "--enable-mpi-ext=all" + "--with-devel-headers"))) + (home-page "http://www.open-mpi.org") + (synopsis "Open source MPI-2 implementation") + (description + "The Open MPI Project is an open source MPI-2 implementation that is +developed and maintained by a consortium of academic, research, and industry +partners. Open MPI is therefore able to combine the expertise, technologies, +and resources from all across the High Performance Computing community in +order to build the best MPI library available. Open MPI offers advantages for +system and software vendors, application developers and computer science +researchers.") + ;; See file://LICENSE + (license bsd-2)))