Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3
elpa
elpa.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File elpa.spec of Package elpa
# # spec file for package elpa # # Copyright (c) 2015 Lorenz Hüdepohl # # 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. # OpenMP support requires an MPI implementation with MPI_THREAD_MULTIPLE support, # which is only available for a sufficiently configured openmpi >= 1.8 # Therefore, we do not build the OpenMP version by default, at the moment # The home:lorenz:ELPA project contains an experimental openmpi 1.8 # package that is configured with MPI_THREAD_MULTIPLE support, there # the macro _with_elpa_openmp is set in prjconf %if %{defined _with_elpa_openmp} %if %{defined suse_version} %define with_openmp 1 %endif %endif # Disable OpenMP for current openSUSE versions %if 0%{?suse_version} > 1320 %define with_openmp 1 %endif Name: elpa Version: 2015.02.001 Release: 2 Summary: A massively parallel eigenvector solver License: LGPL-3.0 Group: System/Libraries Url: http://elpa.rzg.mpg.de/ Source0: http://elpa.rzg.mpg.de/%{name}-%{version}.tar.gz Requires: openmpi BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: openmpi-devel BuildRequires: blas BuildRequires: blas-devel BuildRequires: lapack BuildRequires: lapack-devel BuildRequires: pkg-config %if %{defined fedora} BuildRequires: scalapack-openmpi BuildRequires: scalapack-openmpi-devel BuildRequires: blacs-openmpi BuildRequires: blacs-openmpi-devel BuildRequires: environment-modules %endif %if %{defined suse_version} BuildRequires: libscalapack2-openmpi-devel %endif # For make check, mpirun of openmpi needs an installed openssh BuildRequires: openssh %description A new efficient distributed parallel direct eigenvalue solver for symmetric matrices. It contains both an improved one-step ScaLAPACK type solver (ELPA1) and the two-step solver ELPA2. ELPA uses the same matrix layout as ScaLAPACK. The actual parallel linear algebra routines are completely rewritten. ELPA1 implements the same linear algebra as traditional solutions (reduction to tridiagonal form by Householder transforms, divide & conquer solution, eigenvector backtransform). In ELPA2, the reduction to tridiagonal form and the corresponding backtransform are replaced by a two-step version, giving an additional significant performance improvement. ELPA has demonstrated good scalability for large matrices on up to 294.000 cores of a BlueGene/P system. %package -n lib%{name}2 Summary: A massively parallel eigenvector solver Group: System/Libraries Provides: %{name} = %{version} Requires: %{name}-tools >= %{version} %description -n lib%{name}2 A new efficient distributed parallel direct eigenvalue solver for symmetric matrices. It contains both an improved one-step ScaLAPACK type solver (ELPA1) and the two-step solver ELPA2. ELPA uses the same matrix layout as ScaLAPACK. The actual parallel linear algebra routines are completely rewritten. ELPA1 implements the same linear algebra as traditional solutions (reduction to tridiagonal form by Householder transforms, divide & conquer solution, eigenvector backtransform). In ELPA2, the reduction to tridiagonal form and the corresponding backtransform are replaced by a two-step version, giving an additional significant performance improvement. ELPA has demonstrated good scalability for large matrices on up to 294.000 cores of a BlueGene/P system. %package tests Summary: Test programs for %{name} Group: Development/Libraries Requires: %{name} = %{version} %description tests The %{name}-tests package contains a number of test programs to check if ELPA is working correctly. %package tools Summary: Utility program for %{name} Group: Development/Libraries Requires: %{name} = %{version} %description tools A small tool program for %{name}, elpa2_print_kernels, which prints the available and currently selected numerical kernel for ELPA2. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version} Requires: openmpi Requires: libstdc++-devel Requires: lapack-devel Requires: blas-devel Requires: libscalapack2-openmpi-devel %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package devel-static Summary: Development files for %{name} - static libraries Group: Development/Libraries Requires: %{name}-devel %description devel-static This package provides the static libraries for developing applications that use %{name}. %if %{defined with_openmp} %package -n lib%{name}_openmp2 Requires: openmpi >= 1.8 BuildRequires: openmpi-devel >= 1.8 Summary: A massively parallel eigenvector solver Group: System/Libraries Provides: %{name}_openmp = %{version} Requires: %{name}_openmp-tools >= %{version} %description -n lib%{name}_openmp2 OpenMP parallelized version of %{name}, use with an Open MPI implementation that was configured and tested with MPI_THREAD_MULTIPLE support. %package -n %{name}_openmp-tools Summary: Utility program for %{name}_openmp Group: Development/Libraries Provides: %{name}_openmp = %{version} %description -n %{name}_openmp-tools A small tool program for %{name}_openmp, elpa2_print_kernels_openmp, which prints the available and currently selected numerical kernel for ELPA2. %package -n %{name}_openmp-devel Summary: Development files for %{name}_openmp Group: Development/Libraries Requires: %{name}_openmp = %{version} Requires: openmpi Requires: libstdc++-devel Requires: lapack-devel Requires: blas-devel Requires: libscalapack2-openmpi-devel %description -n %{name}_openmp-devel The %{name}_openmp-devel package contains libraries and header files for developing applications that use %{name}_openmp. %package -n %{name}_openmp-devel-static Summary: Development files for %{name} - static libraries Group: Development/Libraries Requires: %{name}-devel %description -n %{name}_openmp-devel-static This package provides the static libraries for developing applications that use %{name}_openmp. %package -n %{name}_openmp-tests Summary: Test programs for %{name}_openmp Group: Development/Libraries Requires: %{name}_openmp = %{version} %description -n %{name}_openmp-tests The %{name}_openmp-tests package contains a number of test programs to check if ELPA is working correctly. %endif %prep %setup %build %if %{defined fedora} module load mpi/openmpi-%{_arch} %endif mkdir build pushd build %define _configure ../configure %configure --docdir=%{_docdir}/%{name}-%{version} make %{?_smp_mflags} V=1 popd %if %{defined with_openmp} mkdir build_openmp pushd build_openmp %configure --docdir=%{_docdir}/%{name}_openmp-%{version} --with-openmp make %{?_smp_mflags} V=1 popd %endif %check %if %{defined fedora} module load mpi/openmpi-%{_arch} %endif pushd build make check TEST_FLAGS="1500 50 16" || { echo "Tests failed: Content of ./test-suite.log:"; cat ./test-suite.log; echo; exit 1; } popd %if %{defined with_openmp} pushd build_openmp make check TEST_FLAGS="1500 50 16" || { echo "Tests failed: Content of ./test-suite.log:"; cat ./test-suite.log; echo; exit 1; } popd %endif %install %if %{defined with_openmp} pushd build_openmp make V=1 install DESTDIR=%{buildroot} popd %endif pushd build make V=1 install DESTDIR=%{buildroot} popd %post -n lib%{name}2 -p /sbin/ldconfig %postun -n lib%{name}2 -p /sbin/ldconfig %if %{defined with_openmp} %post -n lib%{name}_openmp2 -p /sbin/ldconfig %postun -n lib%{name}_openmp2 -p /sbin/ldconfig %endif %files -n lib%{name}2 # See http://en.opensuse.org/openSUSE:Shared_library_packaging_policy # to explain this package's name %defattr(0755,root,root) %{_libdir}/lib%{name}.so.* %doc %defattr(0644,root,root) %{_docdir}/%{name}-%{version}/* %dir %{_docdir}/%{name}-%{version} %files tools %defattr(0755,root,root) %{_bindir}/elpa2_print_kernels %files tests %defattr(0755,root,root) %{_bindir}/elpa[12]_test_real %{_bindir}/elpa[12]_test_complex %files devel %defattr(0644,root,root) %{_libdir}/pkgconfig/%{name}-%{version}.pc %{_includedir}/%{name}-%{version} %{_libdir}/lib%{name}.so %{_libdir}/lib%{name}.la %files devel-static %defattr(0644,root,root) %{_libdir}/lib%{name}.a %if %{defined with_openmp} %files -n lib%{name}_openmp2 %defattr(0755,root,root) %{_libdir}/lib%{name}_openmp.so.* %doc %defattr(0644,root,root) %{_docdir}/%{name}_openmp-%{version}/* %dir %{_docdir}/%{name}_openmp-%{version} %files -n %{name}_openmp-tools %defattr(0755,root,root) %{_bindir}/elpa2_print_kernels_openmp %files -n %{name}_openmp-devel %defattr(0644,root,root) %{_libdir}/pkgconfig/%{name}_openmp-%{version}.pc %{_includedir}/%{name}_openmp-%{version} %{_libdir}/lib%{name}_openmp.so %{_libdir}/lib%{name}_openmp.la %files -n %{name}_openmp-devel-static %defattr(0644,root,root) %{_libdir}/lib%{name}_openmp.a %files -n %{name}_openmp-tests %defattr(0755,root,root) %{_bindir}/elpa[12]_test_real_openmp %{_bindir}/elpa[12]_test_complex_openmp %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor