|
Ryan H. Lewis |
0ddb14d |
Name: elemental
|
|
Ryan H. Lewis |
99bbbcc |
Version: 0.87.7
|
|
|
dd95cf8 |
Release: 7%{?dist}
|
|
Ryan H. Lewis |
0ddb14d |
Summary: Library for distributed-memory dense/sparse-direct linear algebra
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
License: BSD and Boost and MIT and LGPLv2
|
|
Ryan H. Lewis |
0ddb14d |
URL: http://libelemental.org
|
|
Ryan H. Lewis |
0ddb14d |
Source0: https://github.com/elemental/Elemental/archive/v%{version}.tar.gz
|
|
Ryan H. Lewis |
0ddb14d |
#This is excluded to due a compiler bug in PPC:
|
|
Ryan H. Lewis |
0ddb14d |
#gcc.gnu.org/bugzilla/show_bug.cgi?id=78636
|
|
Ryan H. Lewis |
0ddb14d |
ExcludeArch: %{power64}
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: environment-modules
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: cmake
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: metis-devel >= 5.1.0
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: openblas-devel
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: python2-devel
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: qd-devel
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: qt5-qtbase-devel
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: gmp-devel
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: mpfr-devel
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: libmpc-devel
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%{?el6:BuildRequires: devtoolset-4-toolchain}
|
|
Ryan H. Lewis |
0ddb14d |
%{?el7:BuildRequires: devtoolset-4-toolchain}
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%description
|
|
Ryan H. Lewis |
0ddb14d |
A modern C++ library for distributed-memory linear algebra.
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%package common
|
|
Ryan H. Lewis |
0ddb14d |
Summary: Files in common between mpich and openmpi
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
BuildArch: noarch
|
|
Ryan H. Lewis |
0ddb14d |
Requires: qt5-qtbase
|
|
Ryan H. Lewis |
0ddb14d |
%description common
|
|
Ryan H. Lewis |
0ddb14d |
Files not specific to mpich or openmpi
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%package devel
|
|
Ryan H. Lewis |
0ddb14d |
Summary: Elemental C/C++ Header Files
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
%description devel
|
|
Ryan H. Lewis |
0ddb14d |
Use this package for building off of Elemental
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
## OpenMPI Subpackages
|
|
Ryan H. Lewis |
0ddb14d |
%package openmpi
|
|
Ryan H. Lewis |
0ddb14d |
Summary: OpenMPI variant of Elemental
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: openmpi-devel
|
|
Ryan H. Lewis |
0ddb14d |
Requires: openmpi
|
|
Ryan H. Lewis |
0ddb14d |
Requires: %{name}-common = %{version}-%{release}
|
|
Ryan H. Lewis |
0ddb14d |
%description openmpi
|
|
Ryan H. Lewis |
0ddb14d |
Contains the library, built against OpenMPI
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%package openmpi-devel
|
|
Ryan H. Lewis |
0ddb14d |
Summary: OpenMPI variant of Elemental
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
|
|
Ryan H. Lewis |
0ddb14d |
%description openmpi-devel
|
|
Ryan H. Lewis |
0ddb14d |
Contains the library, built against OpenMPI
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%package openmpi-examples
|
|
Ryan H. Lewis |
0ddb14d |
Summary: OpenMPI variant of Elemental
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
|
|
Ryan H. Lewis |
0ddb14d |
%description openmpi-examples
|
|
Ryan H. Lewis |
0ddb14d |
Contains the example drivers built against OpenMPI
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%package -n python2-elemental-openmpi
|
|
Ryan H. Lewis |
0ddb14d |
Summary: Python 2 Bindings
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
|
|
Ryan H. Lewis |
0ddb14d |
%description -n python2-elemental-openmpi
|
|
Ryan H. Lewis |
0ddb14d |
This package contains the python bindings for using Elemental through a python shell with OpenMPI
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
## MPICH Subpackages
|
|
Ryan H. Lewis |
0ddb14d |
%package mpich
|
|
Ryan H. Lewis |
0ddb14d |
Summary: MPICH variant of Elemental
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: mpich-devel
|
|
Ryan H. Lewis |
0ddb14d |
Requires: mpich
|
|
Ryan H. Lewis |
0ddb14d |
Requires: %{name}-common = %{version}-%{release}
|
|
Ryan H. Lewis |
0ddb14d |
%description mpich
|
|
Ryan H. Lewis |
0ddb14d |
Contains the library, and example drivers built against MPICH
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%package mpich-devel
|
|
Ryan H. Lewis |
0ddb14d |
Summary: MPICH variant of Elemental
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
BuildRequires: mpich-devel
|
|
Ryan H. Lewis |
0ddb14d |
Requires: mpich
|
|
Ryan H. Lewis |
0ddb14d |
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
|
|
Ryan H. Lewis |
0ddb14d |
%description mpich-devel
|
|
Ryan H. Lewis |
0ddb14d |
Contains the library built against MPICH
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%package mpich-examples
|
|
Ryan H. Lewis |
0ddb14d |
Summary: MPICH variant of Elemental
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
|
|
Ryan H. Lewis |
0ddb14d |
%description mpich-examples
|
|
Ryan H. Lewis |
0ddb14d |
Contains the example drivers built against MPICH
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%package -n python2-elemental-mpich
|
|
Ryan H. Lewis |
0ddb14d |
Summary: Python 2 Bindings
|
|
Ryan H. Lewis |
0ddb14d |
Group: Development/Libraries
|
|
Ryan H. Lewis |
0ddb14d |
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
|
|
Ryan H. Lewis |
0ddb14d |
%description -n python2-elemental-mpich
|
|
Ryan H. Lewis |
0ddb14d |
This package contains the python bindings for using Elemental through a python shell with MPICH
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%prep
|
|
Ryan H. Lewis |
0ddb14d |
%autosetup -c -n Elemental-%{version}
|
|
Ryan H. Lewis |
0ddb14d |
mv $(ls -d */|head -n 1)/* .
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%build
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%if 0%{?rhel}
|
|
Ryan H. Lewis |
0ddb14d |
source /opt/rh/devtoolset-4/enable
|
|
Ryan H. Lewis |
0ddb14d |
%endif
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%define dobuild() \
|
|
Ryan H. Lewis |
0ddb14d |
mkdir $MPI_COMPILER; \
|
|
Ryan H. Lewis |
0ddb14d |
cd $MPI_COMPILER; \
|
|
Ryan H. Lewis |
0ddb14d |
export CXXFLAGS="%{optflags} -Wl,--as-needed"; \
|
|
Ryan H. Lewis |
0ddb14d |
%cmake -DINSTALL_CMAKE_DIR="%{_libdir}/cmake/" -DCMAKE_C_COMPILER="mpicc" -DCMAKE_CXX_COMPILER="mpic++" -DCMAKE_BUILD_TYPE=Release -DBUILD_METIS=OFF -DEL_USE_QT5=ON -DBINARY_SUBDIRECTORIES=False -DEL_TESTS=ON -DEL_EXAMPLES=ON -DINSTALL_PYTHON_PACKAGE=ON -DGFORTRAN_LIB="$(gfortran -print-file-name=libgfortran.so)" -DEL_DISABLE_PARMETIS=ON -DCMAKE_INSTALL_BINDIR="$MPI_BIN" -DCMAKE_INSTALL_LIBDIR="$MPI_LIB" -DPYTHON_SITE_PACKAGES="$MPI_PYTHON_SITEARCH" .. ; \
|
|
Ryan H. Lewis |
0ddb14d |
make %{?_smp_mflags}; \
|
|
Ryan H. Lewis |
0ddb14d |
cd .. ; \
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
# Set compiler variables to MPI wrappers
|
|
Ryan H. Lewis |
0ddb14d |
export CC=mpicc
|
|
Ryan H. Lewis |
0ddb14d |
export CXX=mpicxx
|
|
Ryan H. Lewis |
0ddb14d |
export FC=mpif90
|
|
Ryan H. Lewis |
0ddb14d |
export F77=mpif77
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
## Build OpenMPI version
|
|
Ryan H. Lewis |
0ddb14d |
%{_openmpi_load}
|
|
Ryan H. Lewis |
0ddb14d |
%dobuild
|
|
Ryan H. Lewis |
0ddb14d |
%{_openmpi_unload}
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
# Build mpich version
|
|
Ryan H. Lewis |
0ddb14d |
%{_mpich_load}
|
|
Ryan H. Lewis |
0ddb14d |
%dobuild
|
|
Ryan H. Lewis |
0ddb14d |
%{_mpich_unload}
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%check
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%define docheck() \
|
|
Ryan H. Lewis |
0ddb14d |
export CTEST_OUTPUT_ON_FAILURE=1; \
|
|
Ryan H. Lewis |
0ddb14d |
cd $MPI_COMPILER ; \
|
|
Ryan H. Lewis |
0ddb14d |
export OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH; \
|
|
Ryan H. Lewis |
0ddb14d |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd):$(pwd)/external/pmrrr:$(pwd)/external/suite_sparse; \
|
|
Ryan H. Lewis |
0ddb14d |
ctest -V %{?_smp_mflags}; \
|
|
Ryan H. Lewis |
0ddb14d |
export LD_LIBRARY_PATH=$OLD_LD_LIBRARY_PATH; \
|
|
Ryan H. Lewis |
0ddb14d |
cd .. ; \
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
## Build OpenMPI version
|
|
Ryan H. Lewis |
0ddb14d |
%{_openmpi_load}
|
|
Ryan H. Lewis |
0ddb14d |
%docheck
|
|
Ryan H. Lewis |
0ddb14d |
%{_openmpi_unload}
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
# Build mpich version
|
|
Ryan H. Lewis |
0ddb14d |
%{_mpich_load}
|
|
Ryan H. Lewis |
0ddb14d |
%docheck
|
|
Ryan H. Lewis |
0ddb14d |
%{_mpich_unload}
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%install
|
|
Ryan H. Lewis |
0ddb14d |
## Install OpenMPI version
|
|
Ryan H. Lewis |
0ddb14d |
%{_openmpi_load}
|
|
Ryan H. Lewis |
0ddb14d |
make -C $MPI_COMPILER install/fast DESTDIR=%{buildroot} INSTALL="install -p" CPPROG="cp -p"
|
|
Ryan H. Lewis |
0ddb14d |
rm -f %{buildroot}/$MPI_BIN/tests-*
|
|
Ryan H. Lewis |
0ddb14d |
%{_openmpi_unload}
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
# Install MPICH2 version
|
|
Ryan H. Lewis |
0ddb14d |
%{_mpich_load}
|
|
Ryan H. Lewis |
0ddb14d |
make -C $MPI_COMPILER install/fast DESTDIR=%{buildroot} INSTALL="install -p" CPPROG="cp -p"
|
|
Ryan H. Lewis |
0ddb14d |
rm -f ${buildroot}/$MPI_BIN/tests-*
|
|
Ryan H. Lewis |
0ddb14d |
%{_mpich_unload}
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
mv %{buildroot}%{_docdir}/Elemental %{buildroot}%_pkgdocdir
|
|
Ryan H. Lewis |
0ddb14d |
rm -rf %{buildroot}/%{_prefix}/conf
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
#The Elemental headers
|
|
Ryan H. Lewis |
0ddb14d |
%files devel
|
|
Ryan H. Lewis |
0ddb14d |
%{_includedir}/*
|
|
|
dd95cf8 |
%{_libdir}/cmake/elemental/
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
# All files shared between the serial and different MPI versions
|
|
Ryan H. Lewis |
0ddb14d |
%files common
|
|
|
dd95cf8 |
%{_datadir}/elemental/
|
|
|
dd95cf8 |
%doc %_pkgdocdir/
|
|
Ryan H. Lewis |
0ddb14d |
%license debian/copyright
|
|
Ryan H. Lewis |
0ddb14d |
%license LICENSE
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
# All openmpi linked files
|
|
Ryan H. Lewis |
0ddb14d |
%files openmpi
|
|
Ryan H. Lewis |
0ddb14d |
%{_libdir}/openmpi/lib/*.so.*
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%files openmpi-devel
|
|
Ryan H. Lewis |
0ddb14d |
%{_libdir}/openmpi/lib/*.so
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%files openmpi-examples
|
|
Ryan H. Lewis |
0ddb14d |
%{_libdir}/openmpi/bin/*
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%files -n python2-elemental-openmpi
|
|
Ryan H. Lewis |
0ddb14d |
%{python2_sitearch}/openmpi/*
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
# All mpich files
|
|
Ryan H. Lewis |
0ddb14d |
%files mpich
|
|
Ryan H. Lewis |
0ddb14d |
%{_libdir}/mpich/lib/*.so.*
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%files mpich-devel
|
|
Ryan H. Lewis |
0ddb14d |
%{_libdir}/mpich/lib/*.so
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%files mpich-examples
|
|
Ryan H. Lewis |
0ddb14d |
%{_libdir}/mpich/bin/*
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%files -n python2-elemental-mpich
|
|
Ryan H. Lewis |
0ddb14d |
%{python2_sitearch}/mpich/*
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%license debian/copyright
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
%changelog
|
|
|
dd95cf8 |
* Sun Aug 06 2017 Björn Esser <besser82@fedoraproject.org> - 0.87.7-7
|
|
|
dd95cf8 |
- Rebuilt for AutoReq cmake-filesystem
|
|
|
dd95cf8 |
|
|
|
1f1d594 |
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.87.7-6
|
|
|
1f1d594 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
1f1d594 |
|
|
|
f7a1c96 |
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.87.7-5
|
|
|
f7a1c96 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
f7a1c96 |
|
|
Ryan H. Lewis |
99bbbcc |
* Wed Feb 15 2017 me@ryanlewis.net - 0.87.7-4
|
|
Ryan H. Lewis |
99bbbcc |
- Bumped to 0.87.7
|
|
Ryan H. Lewis |
99bbbcc |
|
|
|
c4c622b |
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.87.5-3
|
|
|
c4c622b |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
c4c622b |
|
|
Ryan H. Lewis |
0ddb14d |
* Sat Oct 29 2016 Ryan H. Lewis <me@ryanlewis.net> - 0.87-1
|
|
Ryan H. Lewis |
0ddb14d |
- Dropped Scalapack
|
|
Ryan H. Lewis |
0ddb14d |
- Enabled Qt5
|
|
Ryan H. Lewis |
0ddb14d |
- updated Source0 to master
|
|
Ryan H. Lewis |
0ddb14d |
|
|
Ryan H. Lewis |
0ddb14d |
* Thu Jul 28 2016 Ryan H. Lewis <me@ryanlewis.net> - 0.86-1
|
|
Ryan H. Lewis |
0ddb14d |
- Initial RPM
|