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