Accepting request 746509 from home:badshah400:branches:science
New package OBS-URL: https://build.opensuse.org/request/show/746509 OBS-URL: https://build.opensuse.org/package/show/science/diy?expand=0&rev=1
This commit is contained in:
commit
6f676f83b1
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
|
3
3.5.0.tar.gz
Normal file
3
3.5.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b3b5490441d521b6e9b33471c782948194bf95c7c3df3eb97bc5cf4530b91576
|
||||
size 283256
|
4
_multibuild
Normal file
4
_multibuild
Normal file
@ -0,0 +1,4 @@
|
||||
<multibuild>
|
||||
<package>serial</package>
|
||||
<package>mpich</package>
|
||||
</multibuild>
|
33
diy-disable-memory-heavy-tests.patch
Normal file
33
diy-disable-memory-heavy-tests.patch
Normal file
@ -0,0 +1,33 @@
|
||||
Index: diy-3.5.0/tests/CMakeLists.txt
|
||||
===================================================================
|
||||
--- diy-3.5.0.orig/tests/CMakeLists.txt
|
||||
+++ diy-3.5.0/tests/CMakeLists.txt
|
||||
@@ -133,14 +133,6 @@ if (mpi AND MPI
|
||||
endforeach (b)
|
||||
endforeach (p)
|
||||
|
||||
- foreach (p 2 3)
|
||||
- math (EXPR b "${p} + 1")
|
||||
- add_test (NAME simple-test-p${p}-b${b}
|
||||
- COMMAND ${MPIEXEC} -np ${p} $<TARGET_FILE:simple-test> -b ${b}
|
||||
- )
|
||||
- set_tests_properties (simple-test-p${p}-b${b} PROPERTIES TIMEOUT 300 RUN_SERIAL ON)
|
||||
- endforeach (p)
|
||||
-
|
||||
foreach (p RANGE 1 ${maxp})
|
||||
foreach (b 2 4 8 9 12 24 36)
|
||||
add_test (NAME rexchange-test-p${p}-b${b}
|
||||
@@ -191,13 +183,6 @@ else (mpi AND MPI
|
||||
)
|
||||
endforeach (b)
|
||||
|
||||
- foreach (b 3 4)
|
||||
- add_test (NAME simple-test-nompi-b${b}
|
||||
- COMMAND simple-test -b ${b}
|
||||
- )
|
||||
- set_tests_properties (simple-test-nompi-b${b} PROPERTIES TIMEOUT 300 RUN_SERIAL ON)
|
||||
- endforeach (b)
|
||||
-
|
||||
foreach (b 2 4 8 9 12 24 36)
|
||||
add_test (NAME rexchange-test-nompi-b${b}
|
||||
COMMAND rexchange-test -b ${b}
|
17
diy.changes
Normal file
17
diy.changes
Normal file
@ -0,0 +1,17 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 7 23:39:44 UTC 2019 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 3.5.0
|
||||
* Release notes unavailable.
|
||||
- Implement multibuild using mpich and serial flavours (others
|
||||
fail during %%check and are not recommended anyway).
|
||||
- Implement %%check section.
|
||||
- Disable all but x86_64: no other arch supported.
|
||||
- Add diy-disable-memory-heavy-tests.patch: disable a few tests
|
||||
that are extremely memory expensive (>= 10 GB).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 23 10:51:08 UTC 2016 - badshah400@gmail.com
|
||||
|
||||
- Initial package.
|
||||
|
143
diy.spec
Normal file
143
diy.spec
Normal file
@ -0,0 +1,143 @@
|
||||
#
|
||||
# spec file for package diy
|
||||
#
|
||||
# Copyright (c) 2019 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 https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
# SECTION Multibuild Definitions
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
|
||||
%define pname diy
|
||||
|
||||
%if "%{flavor}" == ""
|
||||
%define package_name %{pname}
|
||||
ExclusiveArch: do_not_build
|
||||
%else
|
||||
ExclusiveArch: x86_64
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "serial"
|
||||
%undefine suffix
|
||||
%undefine mpi_flavor
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "mpich"
|
||||
%global mpi_flavor mpich
|
||||
%global mpi_min_ver 3.3.0
|
||||
%endif
|
||||
|
||||
%{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}}
|
||||
%{?with_mpi:%{!?mpi_flavor:error "No MPI family specified!"}}
|
||||
|
||||
%if 0%{!?package_name:1}
|
||||
%define package_name %{pname}%{?my_suffix}
|
||||
%endif
|
||||
|
||||
%if %{without mpi}
|
||||
%define my_prefix %{_prefix}
|
||||
%define my_bindir %{_bindir}
|
||||
%define my_libdir %{_libdir}
|
||||
%define my_incdir %{_includedir}
|
||||
%else
|
||||
%define my_prefix %{_libdir}/mpi/gcc/%{mpi_flavor}%{?mpi_ext}
|
||||
%define my_bindir %{my_prefix}/bin
|
||||
%define my_libdir %{my_prefix}/%{_lib}
|
||||
%define my_incdir %{my_prefix}/include
|
||||
%define my_suffix -%{mpi_flavor}%{?mpi_ext}
|
||||
%endif
|
||||
# /SECTION
|
||||
|
||||
Name: %{package_name}
|
||||
Version: 3.5.0
|
||||
Release: 0
|
||||
Summary: A block-parallel library
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/diatomic/diy
|
||||
Source: https://github.com/diatomic/diy/archive/%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM diy-disable-memory-heavy-tests.patch badshah400@gmail.com -- Disable a few tests requiring more than 10 GB memory
|
||||
Patch0: diy-disable-memory-heavy-tests.patch
|
||||
BuildRequires: cmake >= 3.2
|
||||
BuildRequires: gcc-c++
|
||||
%if %{with mpi}
|
||||
BuildRequires: %{mpi_flavor}%{?mpi_ext}-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
Diy is a block-parallel library for implementing scalable algorithms
|
||||
that can execute both in-core and out-of-core. The same program can be
|
||||
executed with one or more threads per MPI process, seamlessly
|
||||
combining distributed-memory message passing with shared-memory thread
|
||||
parallelism. The abstraction enabling these capabilities is block
|
||||
parallelism; blocks and their message queues are mapped onto
|
||||
processing elements (MPI processes or threads) and are migrated
|
||||
between memory and storage by the diy runtime. Complex communication
|
||||
patterns, including neighbor exchange, merge reduction, swap
|
||||
reduction, and all-to-all exchange, are possible in- and out-of-core
|
||||
in diy.
|
||||
|
||||
%package devel
|
||||
Summary: A block-parallel library
|
||||
|
||||
%description devel
|
||||
Diy is a block-parallel library for implementing scalable
|
||||
algorithms that can execute both in-core and out-of-core. The same
|
||||
program can be executed with one or more threads per MPI process,
|
||||
seamlessly combining distributed-memory message passing with
|
||||
shared-memory thread parallelism. The abstraction enabling these
|
||||
capabilities is block parallelism; blocks and their message queues
|
||||
are mapped onto processing elements (MPI processes or threads) and
|
||||
are migrated between memory and storage by the diy runtime. Complex
|
||||
communication patterns, including neighbor exchange, merge reduction,
|
||||
swap reduction, and all-to-all exchange, are possible in- and
|
||||
out-of-core in diy.
|
||||
|
||||
This package provides the header files for development with diy.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{pname}-%{version}
|
||||
|
||||
%build
|
||||
mkdir -p build
|
||||
pushd build
|
||||
# %%cmake can't be used directly because of custom INSTALL_PREFIX requirement
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_INSTALL_PREFIX="%{my_prefix}" \
|
||||
%if %{with mpi}
|
||||
-DCMAKE_C_COMPILER="%{my_bindir}/mpicc" \
|
||||
-DCMAKE_CXX_COMPILER="%{my_bindir}/mpicxx"
|
||||
%else
|
||||
-DCMAKE_C_COMPILER=gcc \
|
||||
-DCMAKE_CXX_COMPILER=g++ \
|
||||
-Dmpi=OFF
|
||||
%endif
|
||||
%cmake_build
|
||||
popd
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
%check
|
||||
%if %{with mpi}
|
||||
source %{my_bindir}/mpivars.sh
|
||||
%endif
|
||||
%ctest
|
||||
|
||||
%files devel
|
||||
%doc README.md
|
||||
%license LICENSE.txt LEGAL.txt
|
||||
%{my_incdir}/*
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user