Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9004604e7e | ||
|
03f3f365a9 | ||
|
5e6f2d99fa | ||
|
23f5faa236 | ||
|
b9d08f710c | ||
|
2532265549 | ||
|
ec68ec9e1a | ||
|
15263000d8 | ||
|
927ec06c36 |
@ -1,2 +0,0 @@
|
||||
openmpi-1.3.1.tar.bz2
|
||||
openmpi-1.3.3.tar.bz2
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
openmpi-1.4.1-RH.tar.bz2
|
21
Makefile
21
Makefile
@ -1,21 +0,0 @@
|
||||
# Makefile for source rpm: openmpi
|
||||
# $Id$
|
||||
NAME := openmpi
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attempt a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
@ -1,13 +0,0 @@
|
||||
Index: ompi/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
===================================================================
|
||||
--- ompi/mca/btl/openib/mca-btl-openib-device-params.ini (revision 21744)
|
||||
+++ ompi/mca/btl/openib/mca-btl-openib-device-params.ini (working copy)
|
||||
@@ -212,7 +212,7 @@
|
||||
|
||||
[Chelsio T3]
|
||||
vendor_id = 0x1425
|
||||
-vendor_part_id = 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0030,0x0031,0x0032
|
||||
+vendor_part_id = 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0030,0x0031,0x0032,0x0035,0x0036
|
||||
use_eager_rdma = 1
|
||||
mtu = 2048
|
||||
receive_queues = P,65536,256,192,128
|
50
openmpi-changeset_r22324.patch
Normal file
50
openmpi-changeset_r22324.patch
Normal file
@ -0,0 +1,50 @@
|
||||
Index: /trunk/opal/include/opal/sys/amd64/atomic.h
|
||||
===================================================================
|
||||
--- /trunk/opal/include/opal/sys/amd64/atomic.h (revision 21180)
|
||||
+++ /trunk/opal/include/opal/sys/amd64/atomic.h (revision 22324)
|
||||
@@ -85,9 +85,9 @@
|
||||
unsigned char ret;
|
||||
__asm__ __volatile__ (
|
||||
- SMPLOCK "cmpxchgl %1,%2 \n\t"
|
||||
+ SMPLOCK "cmpxchgl %3,%4 \n\t"
|
||||
"sete %0 \n\t"
|
||||
- : "=qm" (ret)
|
||||
- : "q"(newval), "m"(*addr), "a"(oldval)
|
||||
- : "memory");
|
||||
+ : "=qm" (ret), "=a" (oldval), "=m" (*addr)
|
||||
+ : "q"(newval), "m"(*addr), "1"(oldval)
|
||||
+ );
|
||||
|
||||
return (int)ret;
|
||||
@@ -106,9 +106,9 @@
|
||||
unsigned char ret;
|
||||
__asm__ __volatile__ (
|
||||
- SMPLOCK "cmpxchgq %1,%2 \n\t"
|
||||
+ SMPLOCK "cmpxchgq %3,%4 \n\t"
|
||||
"sete %0 \n\t"
|
||||
- : "=qm" (ret)
|
||||
- : "q"(newval), "m"(*((volatile long*)addr)), "a"(oldval)
|
||||
- : "memory");
|
||||
+ : "=qm" (ret), "=a" (oldval), "=m" (*((volatile long*)addr))
|
||||
+ : "q"(newval), "m"(*((volatile long*)addr)), "1"(oldval)
|
||||
+ );
|
||||
|
||||
return (int)ret;
|
||||
Index: /trunk/opal/include/opal/sys/ia32/atomic.h
|
||||
===================================================================
|
||||
--- /trunk/opal/include/opal/sys/ia32/atomic.h (revision 21180)
|
||||
+++ /trunk/opal/include/opal/sys/ia32/atomic.h (revision 22324)
|
||||
@@ -92,9 +92,9 @@
|
||||
unsigned char ret;
|
||||
__asm__ __volatile__ (
|
||||
- SMPLOCK "cmpxchgl %1,%2 \n\t"
|
||||
+ SMPLOCK "cmpxchgl %3,%4 \n\t"
|
||||
"sete %0 \n\t"
|
||||
- : "=qm" (ret)
|
||||
- : "q"(newval), "m"(*((volatile long*)addr)), "a"(oldval)
|
||||
- : "memory");
|
||||
+ : "=qm" (ret), "=a" (oldval), "=m" (*addr)
|
||||
+ : "q"(newval), "m"(*((volatile long*)addr)), "1"(oldval)
|
||||
+ );
|
||||
|
||||
return (int)ret;
|
@ -4,6 +4,7 @@
|
||||
#
|
||||
prepend-path PATH @LIBDIR@/bin
|
||||
prepend-path LD_LIBRARY_PATH @LIBDIR@/lib
|
||||
prepend-path PYTHONPATH @PYSITEARCH@
|
||||
setenv MPI_BIN @LIBDIR@/bin
|
||||
setenv MPI_SYSCONFIG @ETCDIR@
|
||||
setenv MPI_FORTRAN_MOD_DIR @FMODDIR@
|
||||
@ -13,4 +14,4 @@ setenv MPI_MAN @MANDIR@
|
||||
setenv MPI_PYTHON_SITEARCH @PYSITEARCH@
|
||||
setenv MPI_COMPILER @COMPILER@
|
||||
setenv MPI_SUFFIX @SUFFIX@
|
||||
setenv MPI_HOME @LIBDIR@@
|
||||
setenv MPI_HOME @LIBDIR@
|
||||
|
@ -3,5 +3,5 @@ Name: @NAME@
|
||||
Description: Open Message Passing Interface headers and libraries
|
||||
URL: http://www.open-mpi.org/
|
||||
Version: @VERSION@-@CC@
|
||||
Libs: -L@LIBDIR@/@MPIDIR@/lib -lmpi
|
||||
Cflags: -I@LIBDIR@/@MPIDIR@/include @MODEFLAG@
|
||||
Libs: -L@LIBDIR@ -lmpi
|
||||
Cflags: -I@INCDIR@ @MODEFLAG@
|
||||
|
76
openmpi.spec
76
openmpi.spec
@ -18,22 +18,29 @@
|
||||
#define _cc_name_suffix -gcc
|
||||
|
||||
Name: openmpi%{?_cc_name_suffix}
|
||||
Version: 1.3.3
|
||||
Release: 6%{?dist}
|
||||
Version: 1.4.1
|
||||
Release: 4%{?dist}
|
||||
Summary: Open Message Passing Interface
|
||||
Group: Development/Libraries
|
||||
License: BSD
|
||||
License: BSD, MIT and Romio
|
||||
URL: http://www.open-mpi.org/
|
||||
# We can't use %{name} here because of _cc_name_suffix
|
||||
Source0: http://www.open-mpi.org/software/ompi/v1.3/downloads/openmpi-%{version}.tar.bz2
|
||||
Source1: openmpi.pc.in
|
||||
Source2: openmpi.module.in
|
||||
Source3: macros.openmpi
|
||||
Patch0: openmpi-bz515567.patch
|
||||
#Source0: http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-%{version}.tar.bz2
|
||||
# openmpi-1.4.1-RH.tar.bz2 was generated by taking the upstream 1.4.1 tarball
|
||||
# and removing license-incompatible (ras_loadleveler_module.c contained
|
||||
# usage requirements that we cannot make our users comply with, and
|
||||
# MoreDebugging/* is AML but unused in our configuration),
|
||||
# and packaging-guidelines-incompatable (MUST use system versions of libltdl
|
||||
# and libplpa, not the (formerly included ones), and also remove the generated
|
||||
# Makefile.in and configure related files.
|
||||
Source0: openmpi-%{version}-RH.tar.bz2
|
||||
Source1: openmpi.module.in
|
||||
Source2: macros.openmpi
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: gcc-gfortran, libtool, numactl-devel, valgrind-devel
|
||||
BuildRequires: libibverbs-devel, opensm-devel > 3.3.0
|
||||
BuildRequires: librdmacm librdmacm-devel
|
||||
BuildRequires: libibverbs-devel >= 1.1.3, opensm-devel > 3.3.0
|
||||
BuildRequires: librdmacm librdmacm-devel libibcm libibcm-devel
|
||||
BuildRequires: python libtool-ltdl-devel plpa-devel
|
||||
#%ifnarch ppc
|
||||
#BuildRequires: compat-dapl-devel
|
||||
#%endif
|
||||
@ -106,17 +113,19 @@ Contains development headers and libraries for openmpi
|
||||
|
||||
%prep
|
||||
%setup -q -n openmpi-%{version}
|
||||
%patch0 -p0 -b .bz515567
|
||||
./autogen.sh
|
||||
%build
|
||||
%ifarch x86_64
|
||||
XFLAGS="-fPIC"
|
||||
%endif
|
||||
|
||||
./configure --prefix=%{_libdir}/%{name} --with-libnuma=/usr \
|
||||
--with-openib=/usr \
|
||||
--mandir=%{_mandir}/%{namearch} \
|
||||
--includedir=%{_includedir}/%{namearch} \
|
||||
--sysconfdir=%{_sysconfdir}/%{namearch} \
|
||||
--enable-mpi-threads \
|
||||
--enable-openib-ibcm \
|
||||
--with-sge \
|
||||
--with-valgrind \
|
||||
--with-wrapper-cflags="%{?opt_cflags} %{?modeflag}" \
|
||||
--with-wrapper-cxxflags="%{?opt_cxxflags} %{?modeflag}" \
|
||||
@ -128,8 +137,6 @@ XFLAGS="-fPIC"
|
||||
CXXFLAGS="%{?opt_cxxflags} $RPM_OPT_FLAGS $XFLAGS" \
|
||||
FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} $RPM_OPT_FLAGS $XFLAGS" \
|
||||
F77=%{opt_f77} FFLAGS="%{?opt_fflags} $RPM_OPT_FLAGS $XFLAGS"
|
||||
|
||||
%build
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
@ -142,16 +149,13 @@ rm -f %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1
|
||||
rm -f %{buildroot}%{_libdir}/%{name}/share/vampirtrace/doc/opari/lacsi01.ps.gz
|
||||
mkdir %{buildroot}%{_mandir}/%{namearch}/man{2,4,5,6,8,9,n}
|
||||
|
||||
# Make the pkgconfig file
|
||||
mkdir -p %{buildroot}%{_libdir}/pkgconfig
|
||||
sed 's#@NAME@#'%{name}'#g;s#@VERSION@#'%{version}'#g;s#@LIBDIR@#'%{_libdir}'#g;s#@CC@#'%{opt_cc}'#g;s#@MPIDIR@#'%{name}'#g;s#@MODEFLAG@#'%{?modeflag}'#g' < %SOURCE1 > %{buildroot}/%{_libdir}/pkgconfig/%{name}.pc
|
||||
# Make the environment-modules file
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/modulefiles
|
||||
# Since we're doing our own substitution here, use our own definitions.
|
||||
sed 's#@LIBDIR@#'%{_libdir}/%{name}'#g;s#@ETCDIR@#'%{_sysconfdir}/%{namearch}'#g;s#@FMODDIR@#'%{_fmoddir}/%{namearch}'#g;s#@INCDIR@#'%{_includedir}/%{namearch}'#g;s#@MANDIR@#'%{_mandir}/%{namearch}'#g;s#@PYSITEARCH@#'%{python_sitearch}/%{name}'#g;s#@COMPILER@#openmpi-'%{_arch}%{_cc_name_suffix}'#g;s#@SUFFIX@#'%{?_cc_name_suffix}'_openmpi#g' < %SOURCE2 > %{buildroot}%{_sysconfdir}/modulefiles/%{namearch}
|
||||
sed 's#@LIBDIR@#'%{_libdir}/%{name}'#g;s#@ETCDIR@#'%{_sysconfdir}/%{namearch}'#g;s#@FMODDIR@#'%{_fmoddir}/%{namearch}'#g;s#@INCDIR@#'%{_includedir}/%{namearch}'#g;s#@MANDIR@#'%{_mandir}/%{namearch}'#g;s#@PYSITEARCH@#'%{python_sitearch}/%{name}'#g;s#@COMPILER@#openmpi-'%{_arch}%{?_cc_name_suffix}'#g;s#@SUFFIX@#'%{?_cc_name_suffix}'_openmpi#g' < %SOURCE1 > %{buildroot}%{_sysconfdir}/modulefiles/%{namearch}
|
||||
# make the rpm config file
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}/rpm
|
||||
cp %SOURCE3 %{buildroot}/%{_sysconfdir}/rpm/macros.%{namearch}
|
||||
cp %SOURCE2 %{buildroot}/%{_sysconfdir}/rpm/macros.%{namearch}
|
||||
mkdir -p %{buildroot}/%{_fmoddir}/%{namearch}
|
||||
mkdir -p %{buildroot}/%{python_sitearch}/openmpi%{?_cc_name_suffix}
|
||||
|
||||
@ -197,7 +201,6 @@ rm -rf %{buildroot}
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{_includedir}/%{namearch}
|
||||
%dir %{_libdir}/%{name}/share/vampirtrace
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
%{_libdir}/%{name}/bin/mpi[cCf]*
|
||||
%{_libdir}/%{name}/bin/vt*
|
||||
%{_libdir}/%{name}/bin/opal_*
|
||||
@ -209,11 +212,44 @@ rm -rf %{buildroot}
|
||||
%{_mandir}/%{namearch}/man1/opal_*
|
||||
%{_mandir}/%{namearch}/man3/*
|
||||
%{_mandir}/%{namearch}/man7/opal*
|
||||
%{_libdir}/%{name}/share/openmpi/openmpi-valgrind.supp
|
||||
%{_libdir}/%{name}/share/openmpi/mpi*
|
||||
%{_libdir}/%{name}/share/vampirtrace/*
|
||||
%{_sysconfdir}/rpm/macros.%{namearch}
|
||||
|
||||
%changelog
|
||||
* Mon Mar 29 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-4
|
||||
- Update to fix licencing and packaging issues:
|
||||
Use the system plpa and ltdl librarires rather than the ones in the tarball
|
||||
Remove licence incompatible files from the tarball.
|
||||
- update module.in to prepend-path PYTHONPATH
|
||||
|
||||
* Tue Mar 9 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-3
|
||||
- remove the pkgconfig file completely like we did in RHEL.
|
||||
|
||||
* Tue Jan 26 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-2
|
||||
- BuildRequires: python
|
||||
|
||||
* Tue Jan 26 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-1
|
||||
- New upstream version, which includes the changeset_r22324 patch.
|
||||
- Correct a typo in the Source0 line in this spec file.
|
||||
|
||||
* Fri Jan 15 2010 Doug Ledford <dledford@redhat.com> - 1.4-4
|
||||
- Fix an issue with usage of _cc_name_suffix that cause a broken define in
|
||||
our module file
|
||||
|
||||
* Fri Jan 15 2010 Doug Ledford <dledford@redhat.com> - 1.4-3
|
||||
- Fix pkgconfig file substitution
|
||||
- Bump version so we are later than the equivalent version from Red Hat
|
||||
Enterprise Linux
|
||||
|
||||
* Wed Jan 13 2010 Doug Ledford <dledford@redhat.com> - 1.4-1
|
||||
- Update to latest upstream stable version
|
||||
- Add support for libibcm usage
|
||||
- Enable sge support via configure options since it's no longer on by default
|
||||
- Add patch to resolve allreduce issue (bz538199)
|
||||
- Remove no longer needed patch for Chelsio cards
|
||||
|
||||
* Tue Sep 22 2009 Jay Fenlason <fenlason@redhat.com> - 1.3.3-6
|
||||
- Create and own man* directories for use by dependent packages.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user