forked from mirrors/nixpkgs
Merge pull request #26783 from Gricad/openmpi
openmpi: 1.10.1 -> 1.10.7
This commit is contained in:
commit
909fb246fd
|
@ -13,19 +13,13 @@ let
|
||||||
majorVersion = "1.10";
|
majorVersion = "1.10";
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "openmpi-${majorVersion}.1";
|
name = "openmpi-${majorVersion}.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.open-mpi.org/software/ompi/v${majorVersion}/downloads/${name}.tar.bz2";
|
url = "http://www.open-mpi.org/software/ompi/v${majorVersion}/downloads/${name}.tar.bz2";
|
||||||
sha256 = "14p4px9a3qzjc22lnl6braxrcrmd9rgmy7fh4qpanawn2pgfq6br";
|
sha256 = "142s1vny9gllkq336yafxayjgcirj2jv0ddabj879jgya7hyr2d0";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Bug in openmpi implementation for zero sized messages
|
|
||||||
# Patch required to make mpi4py pass. Will NOT
|
|
||||||
# be required when openmpi >= 2.0.0
|
|
||||||
# https://www.open-mpi.org/community/lists/users/2015/11/28030.php
|
|
||||||
patches = [ ./nbc_copy.patch ];
|
|
||||||
|
|
||||||
buildInputs = [ gfortran ]
|
buildInputs = [ gfortran ]
|
||||||
++ optional (stdenv.isLinux || stdenv.isFreeBSD) libibverbs;
|
++ optional (stdenv.isLinux || stdenv.isFreeBSD) libibverbs;
|
||||||
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
commit 4ee20ba31dd64b8f899447cdad78ec2379acfce7
|
|
||||||
Author: Gilles Gouaillardet <gilles@rist.or.jp>
|
|
||||||
Date: Tue Nov 10 08:59:03 2015 +0900
|
|
||||||
|
|
||||||
fix NBC_Copy for legitimate zero size messages
|
|
||||||
|
|
||||||
(back ported from commit open-mpi/ompi@0bd765eddd33e3d4ac18ec644c60a5c160cb48dc)
|
|
||||||
(back ported from commit open-mpi/ompi@9a70765f27fdf17e70e1a115754fef7e5f16132a)
|
|
||||||
|
|
||||||
diff --git a/ompi/mca/coll/libnbc/nbc_internal.h b/ompi/mca/coll/libnbc/nbc_internal.h
|
|
||||||
index bf2f1cb..81be8cc 100644
|
|
||||||
--- a/ompi/mca/coll/libnbc/nbc_internal.h
|
|
||||||
+++ b/ompi/mca/coll/libnbc/nbc_internal.h
|
|
||||||
@@ -501,7 +501,14 @@ static inline int NBC_Copy(void *src, int srccount, MPI_Datatype srctype, void *
|
|
||||||
} else {
|
|
||||||
/* we have to pack and unpack */
|
|
||||||
res = MPI_Pack_size(srccount, srctype, comm, &size);
|
|
||||||
- if (MPI_SUCCESS != res || 0 == size) { printf("MPI Error in MPI_Pack_size() (%i:%i)\n", res, size); return (MPI_SUCCESS == res) ? MPI_ERR_SIZE : res;}
|
|
||||||
+ if (MPI_SUCCESS != res) {
|
|
||||||
+ printf ("MPI Error in MPI_Pack_size() (%i:%i)", res, size);
|
|
||||||
+ return res;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (0 == size) {
|
|
||||||
+ return OMPI_SUCCESS;
|
|
||||||
+ }
|
|
||||||
packbuf = malloc(size);
|
|
||||||
if (NULL == packbuf) { printf("Error in malloc()\n"); return res; }
|
|
||||||
pos=0;
|
|
||||||
|
|
Loading…
Reference in a new issue