Accepting request 532069 from science:HPC:EnvMod
Add mpiP OBS-URL: https://build.opensuse.org/request/show/532069 OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=1
This commit is contained in:
commit
b4bf7eca11
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
4
_multibuild
Normal file
4
_multibuild
Normal file
@ -0,0 +1,4 @@
|
||||
<multibuild>
|
||||
<package>gnu-openmpi-hpc</package>
|
||||
<package>gnu-mvapich2-hpc</package>
|
||||
</multibuild>
|
3
mpiP-3.4.1.tar.gz
Normal file
3
mpiP-3.4.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:688bf37d73211e6a915f9fc59c358282a266d166c0a10af07a38a01a473296f0
|
||||
size 216045
|
6
mpiP.changes
Normal file
6
mpiP.changes
Normal file
@ -0,0 +1,6 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 1 16:00:04 UTC 2017 - eich@suse.com
|
||||
|
||||
- Initial package creation (FATE#321721).
|
||||
- mpip.unwinder.patch:
|
||||
Fix AARCH64.
|
166
mpiP.spec
Normal file
166
mpiP.spec
Normal file
@ -0,0 +1,166 @@
|
||||
#
|
||||
# spec file for package mpiP
|
||||
#
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
|
||||
%define pname mpiP
|
||||
%define vers 3.4.1
|
||||
%define _vers 3_4_1
|
||||
|
||||
%if "%flavor" == ""
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "gnu-openmpi-hpc"
|
||||
%global compiler_family gnu
|
||||
%undefine c_f_ver
|
||||
%define mpi_family openmpi
|
||||
%define mpi_ver 1
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "gnu-mvapich2-hpc"
|
||||
%global compiler_family gnu
|
||||
%undefine c_f_ver
|
||||
%define mpi_family mvapich2
|
||||
%endif
|
||||
|
||||
%{?hpc_init:%{hpc_init -c %compiler_family -m %mpi_family %{?c_f_ver:-v %{c_f_ver}} %{?mpi_ver:-V %{mpi_ver}} %{?ext:-e %{ext}}}}
|
||||
|
||||
Name: %{?hpc_package_name:%{hpc_package_name %_vers}}%{!?hpc_package_name:%pname}
|
||||
Summary: A lightweight profiling library for MPI applications
|
||||
Version: %vers
|
||||
Release: 0
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Tools/Debuggers
|
||||
URL: http://mpip.sourceforge.net/
|
||||
Source0: http://sourceforge.net/projects/mpip/files/mpiP/mpiP-3.4.1/mpiP-%{version}.tar.gz
|
||||
Patch1: mpip.unwinder.patch
|
||||
|
||||
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
||||
BuildRequires: %{mpi_family}%{?mpi_ver}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel
|
||||
BuildRequires: lua-lmod
|
||||
BuildRequires: suse-hpc
|
||||
BuildRequires: python
|
||||
%hpc_requires
|
||||
|
||||
%description
|
||||
mpiP is a lightweight profiling library for MPI applications. Because
|
||||
it only collects statistical information about MPI functions, mpiP
|
||||
generates considerably less overhead and much less data than tracing
|
||||
tools. All the information captured by mpiP is task-local. It only
|
||||
uses communication during report generation, typically at the end of
|
||||
the experiment, to merge results from all of the tasks into one output
|
||||
file.
|
||||
|
||||
%{hpc_master_package -L}
|
||||
|
||||
%package devel-static
|
||||
Summary: Static version of profiling library for MPI applications
|
||||
Group: Development/Tools/Debuggers
|
||||
|
||||
%description devel-static
|
||||
mpiP is a lightweight profiling library for MPI applications. Because
|
||||
it only collects statistical information about MPI functions, mpiP
|
||||
generates considerably less overhead and much less data than tracing
|
||||
tools. All the information captured by mpiP is task-local. It only
|
||||
uses communication during report generation, typically at the end of
|
||||
the experiment, to merge results from all of the tasks into one output
|
||||
file.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for the mpiP profiling library for MPI applications
|
||||
Group: Documentation/Other
|
||||
|
||||
%description doc
|
||||
mpiP is a lightweight profiling library for MPI applications. Because
|
||||
it only collects statistical information about MPI functions, mpiP
|
||||
generates considerably less overhead and much less data than tracing
|
||||
tools. All the information captured by mpiP is task-local. It only
|
||||
uses communication during report generation, typically at the end of
|
||||
the experiment, to merge results from all of the tasks into one output
|
||||
file.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{pname}-%{version}
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
|
||||
%hpc_setup
|
||||
CC=mpicc
|
||||
CXX=mpicxx
|
||||
FC=mpif90
|
||||
CFLAGS="-D__DATE__=\\\"NODATE\\\" -D__TIME__=\\\"NOTIME\\\""
|
||||
%hpc_configure \
|
||||
--enable-demangling \
|
||||
--disable-libunwind \
|
||||
%ifarch aarch64
|
||||
--enable-setjmp \
|
||||
%endif
|
||||
--docdir=%{_docdir}/%{name}
|
||||
|
||||
make %{?_smp_mflags} shared
|
||||
|
||||
%install
|
||||
|
||||
%hpc_setup
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
|
||||
%hpc_write_modules_files
|
||||
#%%Module1.0#####################################################################
|
||||
|
||||
proc ModulesHelp { } {
|
||||
|
||||
puts stderr " "
|
||||
puts stderr "This module loads the %{pname} library built with the %{compiler_family} compiler"
|
||||
puts stderr "toolchain and the %{mpi_family} MPI stack."
|
||||
puts stderr "\nVersion %{version}\n"
|
||||
|
||||
}
|
||||
module-whatis "Name: %{pname} built with %{compiler_family} compiler and %{mpi_family} MPI"
|
||||
module-whatis "Version: %{version}"
|
||||
module-whatis "Category: Profiling library"
|
||||
module-whatis "Description: %{summary}"
|
||||
module-whatis "URL %{url}"
|
||||
|
||||
set version %{version}
|
||||
|
||||
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
|
||||
|
||||
setenv %{upcase %pname}_DIR %{hpc_prefix}
|
||||
setenv %{upcase %pname}_LIB %{hpc_libdir}
|
||||
|
||||
EOF
|
||||
|
||||
%postun
|
||||
%hpc_module_delete_if_default
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{hpc_dirs}
|
||||
%{hpc_modules_files}
|
||||
%{hpc_libdir}/*so
|
||||
|
||||
%files doc
|
||||
%attr(644,root,root) %{_docdir}/%{name}/
|
||||
|
||||
%files devel-static
|
||||
%defattr(644,root,root,-)
|
||||
%{hpc_libdir}/*.a
|
||||
|
||||
%changelog
|
29
mpip.unwinder.patch
Normal file
29
mpip.unwinder.patch
Normal file
@ -0,0 +1,29 @@
|
||||
diff -ruN mpiP-3.4.1.old/Defs.mak.in mpiP-3.4.1/Defs.mak.in
|
||||
--- mpiP-3.4.1.old/Defs.mak.in 2014-03-13 19:46:07.000000000 +0000
|
||||
+++ mpiP-3.4.1/Defs.mak.in 2017-01-10 07:51:53.771837043 +0000
|
||||
@@ -63,6 +63,9 @@
|
||||
endif
|
||||
|
||||
ifeq ($(OS),Linux)
|
||||
+ ifeq ($(ARCH), aarch64)
|
||||
+ CPPFLAGS += -DAARCH64
|
||||
+ endif
|
||||
ifeq ($(ARCH),i686)
|
||||
CPPFLAGS += -DIA32
|
||||
endif
|
||||
diff -ruN mpiP-3.4.1.old/mpiPi.h.in mpiP-3.4.1/mpiPi.h.in
|
||||
--- mpiP-3.4.1.old/mpiPi.h.in 2014-03-13 19:46:07.000000000 +0000
|
||||
+++ mpiP-3.4.1/mpiPi.h.in 2017-01-10 07:52:48.783447707 +0000
|
||||
@@ -276,6 +276,12 @@
|
||||
#define FramePC(fp) ((void *) *(long *) (((long) fp) + (2 * sizeof (void *))))
|
||||
#define NextFP(fp) ((void *) *(long *) fp)
|
||||
|
||||
+/* AArch64 Linux */
|
||||
+#elif defined(Linux) && defined(AARCH64)
|
||||
+#define ParentFP(jb) ((void*) jb[0].__jmpbuf[10])
|
||||
+#define FramePC(fp) ((void*)(((void**)fp)[1]))
|
||||
+#define NextFP(fp) ((void*)((void**)fp)[0])
|
||||
+
|
||||
/* IA32 Linux */
|
||||
#elif defined(Linux) && defined(IA32)
|
||||
#define ParentFP(jb) ((void*) jb[0].__jmpbuf[3])
|
Loading…
Reference in New Issue
Block a user