Package init
This commit is contained in:
parent
a4182a6b60
commit
4c24e0400d
36
README.en.md
36
README.en.md
@ -1,36 +0,0 @@
|
|||||||
# openmpi
|
|
||||||
|
|
||||||
#### Description
|
|
||||||
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
|
|
||||||
|
|
||||||
#### Software Architecture
|
|
||||||
Software architecture description
|
|
||||||
|
|
||||||
#### Installation
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Instructions
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Contribution
|
|
||||||
|
|
||||||
1. Fork the repository
|
|
||||||
2. Create Feat_xxx branch
|
|
||||||
3. Commit your code
|
|
||||||
4. Create Pull Request
|
|
||||||
|
|
||||||
|
|
||||||
#### Gitee Feature
|
|
||||||
|
|
||||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
|
||||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
|
||||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
|
||||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
|
||||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
|
||||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
|
||||||
39
README.md
39
README.md
@ -1,39 +0,0 @@
|
|||||||
# openmpi
|
|
||||||
|
|
||||||
#### 介绍
|
|
||||||
{**以下是码云平台说明,您可以替换此简介**
|
|
||||||
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
|
|
||||||
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
|
|
||||||
|
|
||||||
#### 软件架构
|
|
||||||
软件架构说明
|
|
||||||
|
|
||||||
|
|
||||||
#### 安装教程
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 使用说明
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 参与贡献
|
|
||||||
|
|
||||||
1. Fork 本仓库
|
|
||||||
2. 新建 Feat_xxx 分支
|
|
||||||
3. 提交代码
|
|
||||||
4. 新建 Pull Request
|
|
||||||
|
|
||||||
|
|
||||||
#### 码云特技
|
|
||||||
|
|
||||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
|
||||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
|
||||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
|
||||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
|
||||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
|
||||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
|
||||||
6
macros.openmpi
Normal file
6
macros.openmpi
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
%_openmpi_load \
|
||||||
|
. /etc/profile.d/modules.sh; \
|
||||||
|
module load mpi/openmpi-%{_arch};
|
||||||
|
%_openmpi_unload \
|
||||||
|
. /etc/profile.d/modules.sh; \
|
||||||
|
module unload mpi/openmpi-%{_arch};
|
||||||
BIN
openmpi-2.1.1.tar.bz2
Normal file
BIN
openmpi-2.1.1.tar.bz2
Normal file
Binary file not shown.
21
openmpi.module.in
Normal file
21
openmpi.module.in
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#%Module 1.0
|
||||||
|
#
|
||||||
|
# OpenMPI module for use with 'environment-modules' package:
|
||||||
|
#
|
||||||
|
conflict mpi
|
||||||
|
prepend-path PATH @LIBDIR@/bin
|
||||||
|
prepend-path LD_LIBRARY_PATH @LIBDIR@/lib
|
||||||
|
prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig
|
||||||
|
prepend-path MANPATH @MANDIR@
|
||||||
|
setenv MPI_BIN @LIBDIR@/bin
|
||||||
|
setenv MPI_SYSCONFIG @ETCDIR@
|
||||||
|
setenv MPI_FORTRAN_MOD_DIR @FMODDIR@
|
||||||
|
setenv MPI_INCLUDE @INCDIR@
|
||||||
|
setenv MPI_LIB @LIBDIR@/lib
|
||||||
|
setenv MPI_MAN @MANDIR@
|
||||||
|
setenv MPI_PYTHON_SITEARCH @PY2SITEARCH@
|
||||||
|
setenv MPI_PYTHON2_SITEARCH @PY2SITEARCH@
|
||||||
|
setenv MPI_PYTHON3_SITEARCH @PY3SITEARCH@
|
||||||
|
setenv MPI_COMPILER @COMPILER@
|
||||||
|
setenv MPI_SUFFIX @SUFFIX@
|
||||||
|
setenv MPI_HOME @LIBDIR@
|
||||||
1
openmpi.pth.py2
Normal file
1
openmpi.pth.py2
Normal file
@ -0,0 +1 @@
|
|||||||
|
import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s))
|
||||||
1
openmpi.pth.py3
Normal file
1
openmpi.pth.py3
Normal file
@ -0,0 +1 @@
|
|||||||
|
import sys, os; s = os.getenv('MPI_PYTHON3_SITEARCH'); s and (s in sys.path or sys.path.append(s))
|
||||||
214
openmpi.spec
Normal file
214
openmpi.spec
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
Name: openmpi
|
||||||
|
Version: 2.1.1
|
||||||
|
Release: 15
|
||||||
|
Summary: Open Source High Performance Computing
|
||||||
|
License: BSD and MIT and Romio
|
||||||
|
URL: http://www.open-mpi.org/
|
||||||
|
Source0: https://download.open-mpi.org/release/open-mpi/v2.1/openmpi-%{version}.tar.bz2
|
||||||
|
Source1: openmpi.module.in
|
||||||
|
Source2: openmpi.pth.py2
|
||||||
|
Source3: openmpi.pth.py3
|
||||||
|
Source4: macros.openmpi
|
||||||
|
|
||||||
|
BuildRequires: gcc-c++, gcc-gfortran
|
||||||
|
BuildRequires: valgrind-devel, hwloc-devel, java-devel, libfabric-devel, papi-devel
|
||||||
|
BuildRequires: libibverbs-devel >= 1.1.3, opensm-devel > 3.3.0
|
||||||
|
BuildRequires: librdmacm-devel, rdma-core-devel, pmix-devel
|
||||||
|
BuildRequires: hwloc-gui, rpm-mpi-hooks
|
||||||
|
BuildRequires: perl-generators, perl(Getopt::Long)
|
||||||
|
BuildRequires: python2-devel, python3-devel
|
||||||
|
%ifarch x86_64
|
||||||
|
BuildRequires: infinipath-psm-devel, libpsm2-devel, torque-devel, zlib-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Provides: mpi, %{name}-java
|
||||||
|
Requires: environment(modules), openssh-clients
|
||||||
|
Provides: bundled(libevent) = 2.0.22
|
||||||
|
Requires: java-headless
|
||||||
|
Obsoletes: %{name}-java
|
||||||
|
|
||||||
|
%description
|
||||||
|
The Open MPI Project is an open source Message Passing Interface
|
||||||
|
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.
|
||||||
|
|
||||||
|
%ifarch aarch64
|
||||||
|
%global name_all openmpi-aarch64
|
||||||
|
%else
|
||||||
|
%global name_all openmpi-x86_64
|
||||||
|
%endif
|
||||||
|
#%global namearch openmpi-%{_arch}
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for openmpi
|
||||||
|
Requires: %{name} = %{version}-%{release}, gcc-gfortran
|
||||||
|
Provides: mpi-devel
|
||||||
|
Requires: rpm-mpi-hooks, java-devel
|
||||||
|
Provides: %{name}-java-devel
|
||||||
|
Obsoletes: %{name}-java-devel
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This contains dynamic libraries and header files for the developing of openmpi.
|
||||||
|
|
||||||
|
%package -n python2-openmpi
|
||||||
|
Summary: openmpi python2 interface
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python2-openmpi
|
||||||
|
openmpi python2 interface.
|
||||||
|
|
||||||
|
%package -n python3-openmpi
|
||||||
|
Summary: openmpi python3 interface
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python3-openmpi
|
||||||
|
openmpi python3 interface
|
||||||
|
|
||||||
|
%package help
|
||||||
|
Summary: Including man files for openmpi
|
||||||
|
Requires: man
|
||||||
|
|
||||||
|
%description help
|
||||||
|
This contains man files for the using of openmpi.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n openmpi-%{version} -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
./configure --prefix=%{_libdir}/%{name} \
|
||||||
|
--includedir=%{_includedir}/%{name_all} \
|
||||||
|
--sysconfdir=%{_sysconfdir}/%{name_all} \
|
||||||
|
--disable-silent-rules \
|
||||||
|
--enable-builtin-atomics \
|
||||||
|
--enable-memchecker \
|
||||||
|
--enable-mpi-thread-multiple \
|
||||||
|
--enable-mpi-cxx \
|
||||||
|
--enable-mpi-java \
|
||||||
|
--with-sge \
|
||||||
|
--with-valgrind \
|
||||||
|
--with-hwloc=/usr \
|
||||||
|
--mandir=%{_mandir}/%{name_all} \
|
||||||
|
CFLAGS="$RPM_OPT_FLAGS" \
|
||||||
|
CXXFLAGS="$RPM_OPT_FLAGS" \
|
||||||
|
FC=gfortran \
|
||||||
|
FCFLAGS="$RPM_OPT_FLAGS"
|
||||||
|
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
find %{buildroot}%{_libdir}/%{name}/lib -name \*.la -delete
|
||||||
|
find %{buildroot}%{_mandir}/%{name_all} -type f -exec gzip -9 {} \;
|
||||||
|
ln -s mpicc.1.gz %{buildroot}%{_mandir}/%{name_all}/man1/mpiCC.1.gz
|
||||||
|
rm %{buildroot}%{_mandir}/%{name_all}/man1/mpiCC.1
|
||||||
|
mkdir %{buildroot}%{_mandir}/%{name_all}/man{2,4,5,6,8,9,n}
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/modulefiles/mpi
|
||||||
|
sed 's#@LIBDIR@#%{_libdir}/%{name}#;
|
||||||
|
s#@ETCDIR@#%{_sysconfdir}/%{name_all}#;
|
||||||
|
s#@FMODDIR@#%{_fmoddir}/%{name}#;
|
||||||
|
s#@INCDIR@#%{_includedir}/%{name_all}#;
|
||||||
|
s#@MANDIR@#%{_mandir}/%{name_all}#;
|
||||||
|
s#@PY2SITEARCH@#%{python2_sitearch}/%{name}#;
|
||||||
|
s#@PY3SITEARCH@#%{python3_sitearch}/%{name}#;
|
||||||
|
s#@COMPILER@#openmpi-%{_arch}#;
|
||||||
|
s#@SUFFIX@#_openmpi#' \
|
||||||
|
<%{SOURCE1} \
|
||||||
|
>%{buildroot}%{_datadir}/modulefiles/mpi/%{name_all}
|
||||||
|
|
||||||
|
install -Dpm 644 %{SOURCE4} %{buildroot}/%{rpmmacrodir}/macros.%{name_all}
|
||||||
|
|
||||||
|
install -d %{buildroot}%{_fmoddir}/%{name}
|
||||||
|
for mod in %{buildroot}%{_libdir}/%{name}/lib/*.mod
|
||||||
|
do
|
||||||
|
modname=$(basename $mod)
|
||||||
|
ln -s ../../../%{name}/lib/${modname} %{buildroot}/%{_fmoddir}/%{name}/
|
||||||
|
done
|
||||||
|
|
||||||
|
install -d %{buildroot}%{_libdir}/pkgconfig
|
||||||
|
pushd %{buildroot}%{_libdir}/pkgconfig
|
||||||
|
ln -s ../%{name}/lib/pkgconfig/*.pc .
|
||||||
|
popd
|
||||||
|
|
||||||
|
sed -i -e s/-ldl// -e s/-lhwloc// \
|
||||||
|
%{buildroot}%{_libdir}/%{name}/share/%{name}/*-wrapper-data.txt
|
||||||
|
|
||||||
|
install -d %{buildroot}/%{python2_sitearch}/%{name}
|
||||||
|
install -d %{buildroot}/%{python3_sitearch}/%{name}
|
||||||
|
install -pDm0644 %{SOURCE2} %{buildroot}/%{python2_sitearch}/openmpi.pth
|
||||||
|
install -pDm0644 %{SOURCE3} %{buildroot}/%{python3_sitearch}/openmpi.pth
|
||||||
|
|
||||||
|
%check
|
||||||
|
make check
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE opal/mca/event/libevent2022/libevent/LICENSE
|
||||||
|
%dir %{_libdir}/%{name}
|
||||||
|
%dir %{_sysconfdir}/%{name_all}
|
||||||
|
%dir %{_libdir}/%{name}/bin
|
||||||
|
%dir %{_libdir}/%{name}/lib
|
||||||
|
%dir %{_libdir}/%{name}/lib/openmpi
|
||||||
|
%dir %{_mandir}/%{name_all}
|
||||||
|
%dir %{_mandir}/%{name_all}/man*
|
||||||
|
%dir %{_libdir}/%{name}/share
|
||||||
|
%dir %{_libdir}/%{name}/share/openmpi
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name_all}/*
|
||||||
|
%{_datadir}/modulefiles/mpi/
|
||||||
|
%{_libdir}/%{name}/bin/mpiexec
|
||||||
|
%{_libdir}/%{name}/bin/mpirun
|
||||||
|
%{_libdir}/%{name}/bin/ompi*
|
||||||
|
%{_libdir}/%{name}/bin/orte-*
|
||||||
|
%{_libdir}/%{name}/bin/orted
|
||||||
|
%{_libdir}/%{name}/bin/orterun
|
||||||
|
%{_libdir}/%{name}/bin/oshmem_info
|
||||||
|
%{_libdir}/%{name}/bin/oshrun
|
||||||
|
%{_libdir}/%{name}/bin/shmemrun
|
||||||
|
%{_libdir}/%{name}/lib/*.so.*
|
||||||
|
%{_libdir}/%{name}/lib/openmpi/*
|
||||||
|
%{_libdir}/%{name}/lib/mpi.jar
|
||||||
|
%{_libdir}/%{name}/share/openmpi/help*.txt
|
||||||
|
%{_libdir}/%{name}/share/openmpi/amca-param-sets
|
||||||
|
%{_libdir}/%{name}/share/openmpi/mca-btl-openib-device-params.ini
|
||||||
|
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%dir %{_includedir}/%{name_all}
|
||||||
|
%{_includedir}/%{name_all}/*
|
||||||
|
%{_libdir}/%{name}/share/doc/
|
||||||
|
%{_libdir}/%{name}/bin/mpic*
|
||||||
|
%{_libdir}/%{name}/bin/mpiCC
|
||||||
|
%{_libdir}/%{name}/bin/mpif*
|
||||||
|
%{_libdir}/%{name}/bin/opal*
|
||||||
|
%{_libdir}/%{name}/bin/ortecc
|
||||||
|
%{_libdir}/%{name}/bin/oshcc
|
||||||
|
%{_libdir}/%{name}/bin/oshfort
|
||||||
|
%{_libdir}/%{name}/bin/shmemcc
|
||||||
|
%{_libdir}/%{name}/bin/shmemfort
|
||||||
|
%{_libdir}/%{name}/bin/mpijava*
|
||||||
|
%{_libdir}/%{name}/lib/*.so
|
||||||
|
%{_libdir}/%{name}/lib/*.mod
|
||||||
|
%{_libdir}/%{name}/lib/pkgconfig/
|
||||||
|
%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt
|
||||||
|
%{_libdir}/%{name}/share/openmpi/openmpi-valgrind.supp
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%{_fmoddir}/%{name}/
|
||||||
|
%{rpmmacrodir}/macros.%{name_all}
|
||||||
|
|
||||||
|
%files -n python2-openmpi
|
||||||
|
%dir %{python2_sitearch}/%{name}
|
||||||
|
%{python2_sitearch}/openmpi.pth
|
||||||
|
|
||||||
|
%files -n python3-openmpi
|
||||||
|
%dir %{python3_sitearch}/%{name}
|
||||||
|
%{python3_sitearch}/openmpi.pth
|
||||||
|
|
||||||
|
|
||||||
|
%files help
|
||||||
|
%{_mandir}/%{name_all}/man*/*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Nov 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 2-1.1-15
|
||||||
|
- Package init
|
||||||
Loading…
x
Reference in New Issue
Block a user