diff options
Diffstat (limited to 'legion/legion.spec')
-rw-r--r-- | legion/legion.spec | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/legion/legion.spec b/legion/legion.spec deleted file mode 100644 index 0608b7f..0000000 --- a/legion/legion.spec +++ /dev/null @@ -1,200 +0,0 @@ -Name: legion -Version: 17.02.0 -Release: 3%{?dist} -Summary: A data-centric parallel programming system -License: ASL 2.0 -Url: http://legion.stanford.edu/ -Source0: https://github.com/StanfordLegion/legion/archive/%{name}-%{version}.tar.gz#/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM - 229.patch - add make test to cmake build system -Patch0: https://patch-diff.githubusercontent.com/raw/StanfordLegion/legion/pull/229.patch -# PATCH-FIX-UPSTREAM - 232.patch - fix segfault on single thread systems -Patch1: https://patch-diff.githubusercontent.com/raw/StanfordLegion/legion/pull/232.patch - -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: hwloc-devel -BuildRequires: gasnet-devel -BuildRequires: cmake - -%description -Legion is a data-centric parallel programming system for writing portable -high performance programs targeted at distributed heterogeneous architectures. -Legion presents abstractions which allow programmers to describe properties of -program data (e.g. independence, locality). By making the Legion programming -system aware of the structure of program data, it can automate many of the -tedious tasks programmers currently face, including correctly extracting task- -and data-level parallelism and moving data around complex memory hierarchies. -A novel mapping interface provides explicit programmer controlled placement of -data in the memory hierarchy and assignment of tasks to processors in a way that -is orthogonal to correctness, thereby enabling easy porting and tuning of Legion -applications to new architectures. - -%package openmpi -Summary: Legion Open MPI binaries and libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -BuildRequires: openmpi-devel - -%description openmpi -Legion is a data-centric parallel programming system for writing portable -high performance programs targeted at distributed heterogeneous architectures. -Legion presents abstractions which allow programmers to describe properties of -program data (e.g. independence, locality). By making the Legion programming -system aware of the structure of program data, it can automate many of the -tedious tasks programmers currently face, including correctly extracting task- -and data-level parallelism and moving data around complex memory hierarchies. -A novel mapping interface provides explicit programmer controlled placement of -data in the memory hierarchy and assignment of tasks to processors in a way that -is orthogonal to correctness, thereby enabling easy porting and tuning of Legion -applications to new architectures. - -Legion compiled with Open MPI, package incl. binaries and libraries - -%package mpich -Summary: Legion MPICH binaries and libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -BuildRequires: mpich-devel - -%description mpich -Legion is a data-centric parallel programming system for writing portable -high performance programs targeted at distributed heterogeneous architectures. -Legion presents abstractions which allow programmers to describe properties of -program data (e.g. independence, locality). By making the Legion programming -system aware of the structure of program data, it can automate many of the -tedious tasks programmers currently face, including correctly extracting task- -and data-level parallelism and moving data around complex memory hierarchies. -A novel mapping interface provides explicit programmer controlled placement of -data in the memory hierarchy and assignment of tasks to processors in a way that -is orthogonal to correctness, thereby enabling easy porting and tuning of Legion -applications to new architectures. - -Legion compiled with MPICH, package incl. binaries and libraries - -%package devel -Summary: Development headers and libraries for %{name} library -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-openmpi%{?_isa} = %{version} -Requires: %{name}-mpich%{?_isa} = %{version} -Requires: mpich-devel -Requires: openmpi-devel - -%description devel -Legion is a data-centric parallel programming system for writing portable -high performance programs targeted at distributed heterogeneous architectures. -Legion presents abstractions which allow programmers to describe properties of -program data (e.g. independence, locality). By making the Legion programming -system aware of the structure of program data, it can automate many of the -tedious tasks programmers currently face, including correctly extracting task- -and data-level parallelism and moving data around complex memory hierarchies. -A novel mapping interface provides explicit programmer controlled placement of -data in the memory hierarchy and assignment of tasks to processors in a way that -is orthogonal to correctness, thereby enabling easy porting and tuning of Legion -applications to new architectures. - -This package contains development headers and libraries for the legion library - -%prep -%setup -q -n %{name}-%{name}-%{version} -%patch0 -p1 -%patch1 -p1 - -%build -mkdir serial openmpi mpich - -pushd serial -export LDFLAGS="%{__global_ldflags} -Wl,--as-needed" -%{cmake} .. -DLegion_USE_HWLOC=ON -DLegion_USE_GASNet=OFF -DLegion_BUILD_EXAMPLES=ON -DLegion_BUILD_TESTS=ON -DLegion_BUILD_TUTORIAL=ON \ - -DLegion_BUILD_TESTS=ON -DLegion_BUILD_TUTORIAL=ON -DLegion_ENABLE_TESTING=ON -%make_build -popd - -pushd openmpi -%{_openmpi_load} -export LDFLAGS="%{__global_ldflags} -Wl,--as-needed" -%{cmake} .. -DLegion_USE_HWLOC=ON -DLegion_USE_GASNet=ON -DLegion_BUILD_EXAMPLES=ON -DCMAKE_INSTALL_LIBDIR=${MPI_LIB} -DGASNet_CONDUIT=mpi \ - -DGASNet_mpi-par_LIBRARY=${MPI_LIB}/libgasnet-mpi-par.so -DGASNet_gasnet_tools-par_LIBRARY=$MPI_LIB/libgasnet_tools-par.so -DGASNet_INCLUDE_DIR=$MPI_INCLUDE \ - -DLegion_BUILD_TESTS=ON -DLegion_BUILD_TUTORIAL=ON -DLegion_ENABLE_TESTING=ON -%make_build -%{_openmpi_unload} -popd - -pushd mpich -%{_mpich_load} -export LDFLAGS="%{__global_ldflags} -Wl,--as-needed" -%{cmake} .. -DLegion_USE_HWLOC=ON -DLegion_USE_GASNet=ON -DLegion_BUILD_EXAMPLES=ON -DCMAKE_INSTALL_LIBDIR=${MPI_LIB} -DGASNet_CONDUIT=mpi \ - -DGASNet_mpi-par_LIBRARY=${MPI_LIB}/libgasnet-mpi-par.so -DGASNet_gasnet_tools-par_LIBRARY=$MPI_LIB/libgasnet_tools-par.so -DGASNet_INCLUDE_DIR=$MPI_INCLUDE \ - -DLegion_BUILD_TESTS=ON -DLegion_BUILD_TUTORIAL=ON -DLegion_ENABLE_TESTING=ON -%make_build -%{_mpich_unload} -popd - -%install -%make_install -C serial -%{_openmpi_load} -%make_install -C openmpi -%{_openmpi_unload} -%{_mpich_load} -%make_install -C mpich -%{_mpich_unload} - -%check -#some tests are broken on ppc64 -#https://github.com/StanfordLegion/legion/issues/233 -%ifarch ppc64 -%define testargs ARGS='-V -E \\(ghost\\|ghost_pull\\|custom_mapper\\)' -%else -%define testargs ARGS='-V' -%endif - -make -C serial test %{testargs} -%{_openmpi_load} -make -C openmpi test %{testargs} -%{_openmpi_unload} -%{_mpich_load} -make -C mpich test %{testargs} -%{_mpich_unload} - -#move cmake files in a place where cmake can find them -mkdir -p %{buildroot}%{_libdir}/cmake -mv %{buildroot}{%{_datadir}/Legion,%{_libdir}/cmake/%{name}} - -# MPI subpackages don't need the ldconfig magic. They are hidden by -# default, in MPI back-end-specific directory, and only show to the -# user after the relevant environment module has been loaded. -# rpmlint will report that as errors, but it is fine. -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig - -%files -%doc README.md CHANGES.txt -%license LICENSE.txt -%{_libdir}/lib*.so.1 - -%files devel -%{_includedir}/*.h -%{_includedir}/*.inl -%{_includedir}/%{name} -%{_includedir}/mappers -%{_includedir}/realm -%{_libdir}/lib*.so -%{_libdir}/openmpi*/lib/lib*.so -%{_libdir}/mpich*/lib/lib*.so -%{_libdir}/cmake/%{name} - -%files openmpi -%{_libdir}/openmpi*/lib/lib*.so.1 - -%files mpich -%{_libdir}/mpich*/lib/lib*.so.1 - -%changelog -* Mon Mar 13 2017 Christoph Junghans <junghans@votca.org> - 17.02.0-3 -- Added 232.patch to fix segfault for test on 1 thread systems -- Disable some broken tests on ppc64 - -* Mon Mar 13 2017 Christoph Junghans <junghans@votca.org> - 17.02.0-2 -- Added 229.patch to support "make check" in cmake -- Minor changes from review (bug #1382755) - -* Fri Feb 24 2017 Christoph Junghans <junghans@votca.org> - 17.02.0-1 -- initial import - |