Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
f575a2f4eb
!34 add support for loongarch64
From: @dpdwaj 
Reviewed-by: @Charlie_li 
Signed-off-by: @Charlie_li
2024-06-07 09:00:24 +00:00
doupengda
0b86711cd4 add support for loongarch64 2024-04-25 15:51:58 +08:00
openeuler-ci-bot
02aa38f021
!29 LLVM平行宇宙:支持使用clang构建mvapich2
From: @ren-yi43 
Reviewed-by: @caodongxia 
Signed-off-by: @caodongxia
2023-09-04 01:43:51 +00:00
15859157387
dc34535d2f fix changelog error 2023-09-01 14:46:42 +08:00
openeuler-ci-bot
8cf278e169
!27 Fix riscv64 support & Fix build using llvm
From: @misaka00251 
Reviewed-by: @Charlie_li 
Signed-off-by: @Charlie_li
2023-07-21 02:12:18 +00:00
misaka00251
fc4692fc9e
Fix riscv64 support & Fix build using llvm 2023-07-20 14:34:26 +08:00
openeuler-ci-bot
2307af811c
!19 升级mvapich2到 2.3.6版本来解决编译失败
From: @lyn1001 
Reviewed-by: @small_leek 
Signed-off-by: @small_leek
2022-06-21 01:14:53 +00:00
lyn1001
a7762bf5d2 Updateto 2.3.6 2022-06-20 17:41:05 +08:00
openeuler-ci-bot
4674ce900c !12 fix build error with gcc 10,include allow mismatched arguement and multiple definition
From: @si-gui
Reviewed-by: @small_leek
Signed-off-by: @small_leek
2021-08-09 13:25:53 +00:00
sunguoshuai
11827f8614 fix build error with gcc 10,include allow mismatched arguement and multiple definition 2021-08-07 16:30:40 +08:00
7 changed files with 133 additions and 87 deletions

View File

@ -0,0 +1,37 @@
From f9aedeaeadd84f2c5e949a148e82d2a18d1e45d8 Mon Sep 17 00:00:00 2001
From: test <test@example.com>
Date: Thu, 25 Apr 2024 07:45:52 +0000
Subject: [PATCH] mvapich2 2.3.6 add support for loongarch64
---
src/mpid/ch3/channels/common/include/mv2_clock.h | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/mpid/ch3/channels/common/include/mv2_clock.h b/src/mpid/ch3/channels/common/include/mv2_clock.h
index 77552c4..0ad6b43 100644
--- a/src/mpid/ch3/channels/common/include/mv2_clock.h
+++ b/src/mpid/ch3/channels/common/include/mv2_clock.h
@@ -81,6 +81,20 @@ static inline cycles_t get_cycles()
asm volatile ("mov %0=ar.itc" : "=r" (ret));
return ret;
}
+#elif defined(__loongarch64)
+typedef unsigned long cycles_t;
+static inline cycles_t get_cycles()
+{
+ int rID = 0;
+ cycles_t val = 0;
+
+ __asm__ __volatile__(
+ "rdtime.d %0, %1 \n\t"
+ : "=r"(val), "=r"(rID)
+ :
+ );
+ return val;
+}
#elif defined(__aarch64__)
typedef unsigned long cycles_t;
static inline cycles_t get_cycles()
--
2.43.0

View File

@ -1,30 +1,37 @@
From c152d5a633876ff01ae69bd69d25c9ec08d0bbcb Mon Sep 17 00:00:00 2001
From: Michal Schmidt <mschmidt@redhat.com>
Date: Fri, 3 Nov 2017 11:49:50 +0100
From f79ed575359a3626fcb680922bb0422232dd3fd4 Mon Sep 17 00:00:00 2001
From: Honggang-LI <honli@redhat.com>
Date: Thu, 13 May 2021 20:17:14 +0800
Subject: [PATCH 1/2] mvapich23: unbundle contrib/hwloc
Signed-off-by: Honggang-LI <honli@redhat.com>
---
Makefile.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Makefile.in | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 0d9ec512f5..ff3af667a4 100644
index 00460c3999f3..645c8cab7a3d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3029,10 +3029,10 @@ bin_PROGRAMS = $(am__EXEEXT_1) src/env/mpichversion$(EXEEXT) \
@BUILD_F77_BINDING_TRUE@@BUILD_PROFILING_LIB_TRUE@am__append_173 = -DMPICH_MPI_FROM_PMPI -DUSE_ONLY_MPI_NAMES
@BUILD_F77_BINDING_TRUE@@BUILD_FC_BINDING_TRUE@am__append_174 = $(mpi_fc_sources)
@BUILD_CXX_BINDING_TRUE@am__append_175 = lib/lib@MPICXXLIBNAME@.la
-@BUILD_OSU_MVAPICH_TRUE@am__append_176 = contrib/hwloc
+@BUILD_OSU_MVAPICH_TRUE@am__append_176 =
@BUILD_OSU_MVAPICH_TRUE@am__append_177 = src/env/mpiname src/util/mv2_ckpt_rebuild osu_benchmarks
-@BUILD_OSU_MVAPICH_TRUE@am__append_178 = -Icontrib/hwloc/include/ -I$(top_srcdir)/contrib/hwloc/include
-@BUILD_OSU_MVAPICH_TRUE@am__append_179 = contrib/hwloc/src/libhwloc_embedded.la
+@BUILD_OSU_MVAPICH_TRUE@am__append_178 =
+@BUILD_OSU_MVAPICH_TRUE@am__append_179 = -lhwloc
@BUILD_COVERAGE_TRUE@am__append_180 = coverage-clean
@@ -3050,13 +3050,13 @@ bin_PROGRAMS = $(am__EXEEXT_1) src/env/mpichversion$(EXEEXT) \
@BUILD_F77_BINDING_TRUE@@BUILD_PROFILING_LIB_TRUE@am__append_184 = -DMPICH_MPI_FROM_PMPI -DUSE_ONLY_MPI_NAMES
@BUILD_F77_BINDING_TRUE@@BUILD_FC_BINDING_TRUE@am__append_185 = $(mpi_fc_sources)
@BUILD_CXX_BINDING_TRUE@am__append_186 = lib/lib@MPICXXLIBNAME@.la
-@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_187 = contrib/hwloc_v1
-@BUILD_HWLOC_v1_FALSE@@BUILD_OSU_MVAPICH_TRUE@am__append_188 = contrib/hwloc_v2
+@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_187 =
+@BUILD_HWLOC_v1_FALSE@@BUILD_OSU_MVAPICH_TRUE@am__append_188 =
@BUILD_OSU_MVAPICH_TRUE@am__append_189 = src/env/mpiname src/util/mv2_ckpt_rebuild osu_benchmarks
-@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_190 = -Icontrib/hwloc_v1/include/ -I$(top_srcdir)/contrib/hwloc_v1/include
-@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_191 = contrib/hwloc_v1/src/libhwloc_embedded.la
-@BUILD_HWLOC_v1_FALSE@@BUILD_OSU_MVAPICH_TRUE@am__append_192 = -Icontrib/hwloc_v2/include/ -I$(top_srcdir)/contrib/hwloc_v2/include
-@BUILD_HWLOC_v1_FALSE@@BUILD_OSU_MVAPICH_TRUE@am__append_193 = contrib/hwloc_v2/hwloc/libhwloc_embedded.la
+@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_190 =
+@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_191 = -lhwloc
+@BUILD_HWLOC_v1_FALSE@@BUILD_OSU_MVAPICH_TRUE@am__append_192 =
+@BUILD_HWLOC_v1_FALSE@@BUILD_OSU_MVAPICH_TRUE@am__append_193 = -lhwloc
@BUILD_COVERAGE_TRUE@am__append_194 = coverage-clean
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
--
2.13.6
2.25.4

View File

@ -1,25 +1,26 @@
From 3aad06949ee9edbb6376092c6891efa9a37b8f51 Mon Sep 17 00:00:00 2001
From: Michal Schmidt <mschmidt@redhat.com>
Date: Fri, 3 Nov 2017 11:51:33 +0100
From e1b6d197f292cb192570aa7cb21047357e70b8d5 Mon Sep 17 00:00:00 2001
From: Honggang-LI <honli@redhat.com>
Date: Thu, 13 May 2021 20:18:38 +0800
Subject: [PATCH 2/2] mvapich23: unbundle osu_benchmarks
Signed-off-by: Honggang-LI <honli@redhat.com>
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index ff3af667a4..21e2754b56 100644
index 645c8cab7a3d..3485b6d181fe 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3030,7 +3030,7 @@ bin_PROGRAMS = $(am__EXEEXT_1) src/env/mpichversion$(EXEEXT) \
@BUILD_F77_BINDING_TRUE@@BUILD_FC_BINDING_TRUE@am__append_174 = $(mpi_fc_sources)
@BUILD_CXX_BINDING_TRUE@am__append_175 = lib/lib@MPICXXLIBNAME@.la
@BUILD_OSU_MVAPICH_TRUE@am__append_176 =
-@BUILD_OSU_MVAPICH_TRUE@am__append_177 = src/env/mpiname src/util/mv2_ckpt_rebuild osu_benchmarks
+@BUILD_OSU_MVAPICH_TRUE@am__append_177 = src/env/mpiname src/util/mv2_ckpt_rebuild
@BUILD_OSU_MVAPICH_TRUE@am__append_178 =
@BUILD_OSU_MVAPICH_TRUE@am__append_179 = -lhwloc
@BUILD_COVERAGE_TRUE@am__append_180 = coverage-clean
@@ -3052,7 +3052,7 @@ bin_PROGRAMS = $(am__EXEEXT_1) src/env/mpichversion$(EXEEXT) \
@BUILD_CXX_BINDING_TRUE@am__append_186 = lib/lib@MPICXXLIBNAME@.la
@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_187 =
@BUILD_HWLOC_v1_FALSE@@BUILD_OSU_MVAPICH_TRUE@am__append_188 =
-@BUILD_OSU_MVAPICH_TRUE@am__append_189 = src/env/mpiname src/util/mv2_ckpt_rebuild osu_benchmarks
+@BUILD_OSU_MVAPICH_TRUE@am__append_189 = src/env/mpiname src/util/mv2_ckpt_rebuild
@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_190 =
@BUILD_HWLOC_v1_TRUE@@BUILD_OSU_MVAPICH_TRUE@am__append_191 = -lhwloc
@BUILD_HWLOC_v1_FALSE@@BUILD_OSU_MVAPICH_TRUE@am__append_192 =
--
2.13.6
2.25.4

View File

@ -1,40 +0,0 @@
From 8b9aa396f1835f57d0c279252361d47be89dbba1 Mon Sep 17 00:00:00 2001
From: zhanghua1831 <zhanghua1831@163.com>
Date: Sat, 27 Mar 2021 14:30:31 +0800
Subject: [PATCH] fix build error, replace deprecated sys_siglist with
strsignal
---
src/mpid/ch3/channels/common/src/util/error_handling.c | 2 +-
src/pm/mpirun/mpispawn.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mpid/ch3/channels/common/src/util/error_handling.c b/src/mpid/ch3/channels/common/src/util/error_handling.c
index eab21a8..2a40dc5 100644
--- a/src/mpid/ch3/channels/common/src/util/error_handling.c
+++ b/src/mpid/ch3/channels/common/src/util/error_handling.c
@@ -69,7 +69,7 @@ int show_backtrace = 0;
// Signal handler for errors
void error_sighandler(int sig, siginfo_t *info, void *secret) {
// Always print error
- PRINT_ERROR( "Caught error: %s (signal %d)\n", sys_siglist[sig], sig );
+ PRINT_ERROR( "Caught error: %s (signal %d)\n", strsignal(sig), sig );
// Show backtrace if required
if (show_backtrace) print_backtrace();
// Raise the signal again with default handler
diff --git a/src/pm/mpirun/mpispawn.c b/src/pm/mpirun/mpispawn.c
index 45e14be..6b38561 100644
--- a/src/pm/mpirun/mpispawn.c
+++ b/src/pm/mpirun/mpispawn.c
@@ -764,7 +764,7 @@ void child_handler(int signal)
gethostname(my_host_name, MAX_HOST_LEN);
rank = mt_id;
- PRINT_DEBUG(DEBUG_Fork_verbose, "mpispawn child_handler: got signal %d: %s\n", signal, sys_siglist[signal]);
+ PRINT_DEBUG(DEBUG_Fork_verbose, "mpispawn child_handler: got signal %d: %s\n", signal, strsignal(signal));
while (1) {
do {
pid = waitpid(-1, &status, WNOHANG);
--
2.23.0

View File

@ -0,0 +1,18 @@
--- a/src/mpid/ch3/channels/common/include/mv2_clock.h 2018-07-24 22:30:00.000000000 +0800
+++ b/src/mpid/ch3/channels/common/include/mv2_clock.h 2022-03-03 14:19:52.430980863 +0800
@@ -92,7 +92,14 @@
return ret;
}
-
+#elif defined(__riscv)
+typedef unsigned long cycles_t;
+static inline cycles_t get_cycles()
+{
+ unsigned long clk;
+ asm volatile("rdcycle %0" : "=r" (clk));
+ return clk;
+}
#else
#warning get_cycles not implemented for this architecture: attempt asm/timex.h
#include <asm/timex.h>

View File

@ -1,8 +1,8 @@
%{!?python3_sitearch: %global python3_sitearch %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
Name: mvapich2
Version: 2.3
Release: 10
Version: 2.3.6
Release: 4
Summary: OSU MVAPICH2 MPI package
License: BSD and MIT
URL: http://mvapich.cse.ohio-state.edu
@ -11,7 +11,10 @@ Source1: mvapich2.module.in
Source2: mvapich2.macros.in
Patch0001: 0001-mvapich23-unbundle-contrib-hwloc.patch
Patch0002: 0002-mvapich23-unbundle-osu_benchmarks.patch
Patch0003: 0003-mvapich23-replace-deprecated-sys_siglist-with-strsignal.patch
%ifarch riscv64
Patch1000: 1000-add-riscv-support.patch
%endif
Patch1001: 0001-mvapich2-2.3.6-add-support-for-loongarch64.patch
BuildRequires: gcc-gfortran python3-devel gcc-c++
BuildRequires: bison flex autoconf automake libtool
BuildRequires: perl-Digest-MD5 hwloc-devel rdma-core-devel
@ -89,8 +92,20 @@ cp -pr default psm2
%build
%set_build_flags
export FFLAGS="$FFLAGS -fallow-argument-mismatch"
export AR=ar
%if "%toolchain" == "clang"
export FFLAGS=$(echo $FFLAGS | sed -e 's|--config \/usr\/lib\/rpm\/generic-hardened-clang.cfg ||g')
export FFLAGS=$(echo $FFLAGS | sed -e 's|-Werror=format-security ||g')
export FCFLAGS=$(echo $FCFLAGS | sed -e 's|--config \/usr\/lib\/rpm\/generic-hardened-clang.cfg ||g')
%ifarch riscv64
export LDFLAGS=$(echo $LDFLAGS | sed -e 's|-fno-openmp-implicit-rpath|-fPIE -fPIC|g')
%else
export LDFLAGS=$(echo $LDFLAGS | sed -e 's|-fno-openmp-implicit-rpath ||g')
%endif
%endif
%ifarch x86_64
cd psm2
%configure --prefix=%{_libdir}/mvapich2-psm2 --exec-prefix=%{_libdir}/mvapich2-psm2 \
@ -100,11 +115,8 @@ cd psm2
--sysconfdir=%{_sysconfdir}/mvapich2-psm2-x86_64 --datarootdir=%{_datadir}/mvapich2-psm2 \
--docdir=%{_docdir}/mvapich2 --enable-error-checking=runtime --enable-timing=none \
--enable-g=mem,dbg,meminit --enable-fast=all --enable-shared --enable-static \
--enable-fortran=all --enable-cxx --with-fuse=no --disable-silent-rules --disable-wrapper-rpath \
--with-hwloc-prefix=system --with-device=ch3:psm --with-ftb=no --with-blcr=no \
CC=gcc CFLAGS="-m64 -O3 -fno-strict-aliasing %{build_cflags} $XFLAGS" CXX=g++ \
CXXFLAGS="-m64 -O3 %{build_cflags} $XFLAGS" FC=gfortran FCFLAGS="-m64 %{build_cflags} \
$XFLAGS" F77=gfortran FFLAGS="-m64 %{build_cflags} $XFLAGS" LDFLAGS="%{build_ldflags}"
--enable-fortran=all --enable-cxx --disable-silent-rules --disable-wrapper-rpath \
--with-hwloc=v2 --with-device=ch3:psm
find . -name libtool -exec \
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g;
@ -122,11 +134,7 @@ cd default
--datarootdir=%{_datadir}/mvapich2 --docdir=%{_docdir}/mvapich2 \
--enable-error-checking=runtime --enable-timing=none --enable-g=mem,dbg,meminit \
--enable-fast=all --enable-shared --enable-static --enable-fortran=all --enable-cxx \
--disable-silent-rules --disable-wrapper-rpath --with-hwloc-prefix=system --with-ftb=no \
--with-blcr=no --with-fuse=no \
CC=gcc CFLAGS="-O3 -fno-strict-aliasing %{build_cflags} $XFLAGS" CXX=g++ \
CXXFLAGS="-O3 %{build_cflags} $XFLAGS" FC=gfortran FCFLAGS="%{build_cflags} $XFLAGS" \
F77=gfortran FFLAGS="%{build_cflags} $XFLAGS" LDFLAGS="%{build_ldflags}"
--disable-silent-rules --disable-wrapper-rpath --with-hwloc=v2
find . -name libtool -exec \
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g;
@ -254,7 +262,22 @@ cd ..
%changelog
* Wed July 9 2021 zhaoyao <zhaoyao32@huawei.com> - 2.3-10
* Thu Apr 25 2024 Pengda Dou <doupengda@loongson.cn> - 2.3.6-4
- add support for loongarch64
* Fri Sep 1 2023 renyi <977713017@qq.com> - 2.3.6-3
- Fix changelog error
* Mon Jul 17 2023 misaka00251 <liuxin@iscas.ac.cn> - 2.3.6-2
- Fix riscv64 support & Fix build using llvm
* Mon Jun 20 2022 liyanan <liyanan32@h-partners.com> - 2.3.6-1
- Update to 2.3.6
* Sat Aug 07 2021 sunguoshuai <sunguoshuai@huawei.com> - 2.3-11
- fix build error with gcc 10,include allow mismatched arguement and multiple definition
* Wed Jul 9 2021 zhaoyao <zhaoyao32@huawei.com> - 2.3-10
- fix build error: Abording because C++ compiler does not work.
* Sat Mar 27 2021 zhanghua <zhanghua40@huawei.com> - 2.3-9