Compare commits

..

2 Commits

Author SHA1 Message Date
openeuler-ci-bot
951b638f86
!9 add spec source yaml files of hmpi
From: @ls39938477 
Reviewed-by: @lipingEmmaSiguyi 
Signed-off-by: @lipingEmmaSiguyi
2024-08-22 03:14:47 +00:00
ls
c7b20545c3 add spec source yaml files 2024-07-26 10:41:04 +08:00
6 changed files with 111 additions and 0 deletions

7
Hmpi_modulefiles Normal file
View File

@ -0,0 +1,7 @@
#%Module1.0
# HMPI module for use with 'environment-modules' package:
conflict mpi
prepend-path OPAL_PREFIX /usr/share/hmpi/
prepend-path PATH /usr/share/hmpi/bin:/usr/share/hucx/bin
prepend-path LD_LIBRARY_PATH /usr/share/hmpi/lib:/usr/share/hucx/lib
prepend-path INCLUDE /usr/share/hmpi/include:/usr/share/hucx/include

BIN
hmpi-1.1.1-huawei.tar.gz Normal file

Binary file not shown.

99
hmpi.spec Normal file
View File

@ -0,0 +1,99 @@
Name: hyper-mpi
Version: 1.1.1
Release: 1%{?dist}
Summary: Hyper MPI and HUCX software package
License: BSD-3-Clause
URL: https://github.com/kunpengcompute/hmpi
Source0: hmpi-1.1.1-huawei.tar.gz
Source1: hucx-1.1.1-huawei.tar.gz
Source2: xucg-1.1.1-huawei.tar.gz
Source10: Hmpi_modulefiles
BuildRequires: make, gcc, clang, perl-Data-Dumper, autoconf, automake, libtool, numactl, numactl-devel, binutils, systemd-devel, valgrind, flex
Requires: environment-modules
# Disable debug package
%global debug_package %{nil}
%description
Hyper MPI is a high-performance MPI implementation that relies on HUCX for communication.
%prep
%setup -q -n hmpi-1.1.1-huawei
%global hucx_dir %{_builddir}/hucx-1.1.1-huawei
%global xucg_dir %{_builddir}/xucg-1.1.1-huawei
pushd %{_builddir}
%{__tar} -xzf %{_sourcedir}/hucx-1.1.1-huawei.tar.gz
%{__tar} -xzf %{_sourcedir}/xucg-1.1.1-huawei.tar.gz
popd
mkdir -p %{hucx_dir}/src/ucg
cp -r %{xucg_dir}/* %{hucx_dir}/src/ucg
if [ $? -ne 0 ]; then
echo "Error copying files from xUCG to HUCX."
exit 1
fi
%build
cd %{_builddir}/hucx-1.1.1-huawei
./autogen.sh
./contrib/configure-opt --prefix=%{_builddir}/hucx-install%{_prefix}/share/hucx
make %{?_smp_mflags}
make install
export HUCX_PATH=%{_builddir}/hucx-install%{_prefix}/share/hucx
export LD_LIBRARY_PATH=$HUCX_PATH/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$HUCX_PATH/lib/pkgconfig:$PKG_CONFIG_PATH
cd %{_builddir}/hmpi-1.1.1-huawei
./autogen.pl
./configure --prefix=%{_prefix}/share/hmpi --with-platform=contrib/platform/mellanox/optimized --enable-mpi1-compatibility --with-ucx=$HUCX_PATH
make %{?_smp_mflags}
rm -rf %{_builddir}/hucx-1.1.1-huawei
%{__tar} -xzf %{_sourcedir}/hucx-1.1.1-huawei.tar.gz -C %{_builddir}
mkdir -p %{hucx_dir}/src/ucg
cp -r %{xucg_dir}/* %{hucx_dir}/src/ucg
cd %{_builddir}/hucx-1.1.1-huawei
./autogen.sh
./contrib/configure-opt --prefix=%{_prefix}/share/hucx
make %{?_smp_mflags}
%install
cd %{_builddir}/hucx-1.1.1-huawei
make install DESTDIR=%{buildroot}
cd %{_builddir}/hmpi-1.1.1-huawei
make install DESTDIR=%{buildroot}
mkdir -p %{buildroot}/usr/share/Modules/modulefiles
install -m 644 %{SOURCE10} %{buildroot}/usr/share/Modules/modulefiles
# Stop check-rpaths from complaining about standard runpaths.
export QA_RPATHS=0x0003
%files
%{_prefix}/share/hucx
%{_prefix}/share/hmpi
%{_prefix}/share/Modules/modulefiles
%post
module use %{_prefix}/share/Modules/modulefiles
module load %{_prefix}/share/Modules/modulefiles/Hmpi_modulefiles
if ! grep -q 'module use /usr/share/Modules/modulefiles' $HOME/.bashrc; then
echo 'module use /usr/share/Modules/modulefiles' >> $HOME/.bashrc
fi
if ! grep -q 'module load /usr/share/Modules/modulefiles/Hmpi_modulefiles' $HOME/.bashrc; then
echo 'module load /usr/share/Modules/modulefiles/Hmpi_modulefiles' >> $HOME/.bashrc
fi
%changelog
* Thu Jun 20 2024 liping <1477412247@qq.com> - 1.1.1-1
- First build of Hyper MPI

5
hmpi.yaml Normal file
View File

@ -0,0 +1,5 @@
version_control: github
src_repo:
tag_prefix:
separator:
url: https://github.com/kunpengcompute/hmpi

BIN
hucx-1.1.1-huawei.tar.gz Normal file

Binary file not shown.

BIN
xucg-1.1.1-huawei.tar.gz Normal file

Binary file not shown.