## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec Name: gasnet Version: 2024.5.0 Release: %{autorelease} Summary: A language-independent networking middleware layer License: BSD-3-Clause-LBNL URL: https://gasnet.lbl.gov Source: %{url}/EX/GASNet-%{version}.tar.gz BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: make BuildRequires: perl %description GASNet is a language-independent, networking middleware layer that provides network-independent, high-performance communication primitives including Remote Memory Access (RMA) and Active Messages (AM). It has been used to implement parallel programming models and libraries such as UPC, UPC++, Fortran coarrays, Legion, Chapel, and many others. The interface is primarily intended as a compilation target and for use by runtime library writers (as opposed to end users), and the primary goals are high performance, interface portability, and expressiveness. GASNet stands for "Global-Address Space Networking". The design of GASNet is partitioned into two layers to maximize porting ease without sacrificing performance: the lower level is a narrow but very general interface called the GASNet core API - the design is based heavily on Active Messages, and is implemented directly on top of each individual network architecture. The upper level is a wider and more expressive interface called the GASNet extended API, which provides high-level operations such as remote memory access and various collective operations. We've written a network-independent reference implementation of the extended API purely in terms of the core API, which allows GASNet (and its portable clients) to quickly and easily be ported to a new network architecture by re-implementing only the minimal core API. GASNet is structured such that implementers can choose to additionally bypass certain functions in the reference implementation of the extended API and implement them directly on the hardware to improve performance of specific operations when hardware support is available (e.g. RDMA support for puts/gets or hardware-offloaded atomic memory operations). Most clients use calls to the extended API functions to implement the bulk of their communication work (thereby ensuring optimal performance across platforms). However the client is also permitted to use the core active message interface to implement non-trivial language-specific or compiler-specific communication operations which would not be appropriate in a language-independent API (e.g. implementing distributed language-level locks, distributed garbage collection, collective memory allocation, etc.). The AM features of the core provide a powerful extensibility mechanism which allows clients to implement a wide variety of specialized communication operations. %package devel Summary: Development files Requires: %{name}%{?_isa} = %{version}-%{release} Provides: gasnet-libs-static = %{version}-%{release} %description devel Development files for GASNet. %prep %autosetup -n GASNet-%{version} %build %configure --enable-udp --disable-mpi --enable-par --disable-aligned-segments \ --disable-ibv --enable-segment-fast --with-segment-mmap-max=4GB \ CC="gcc -fPIC" CXX="g++ -fPIC" %make_build MANUAL_CFLAGS="%optflags -fPIC" MANUAL_MPICFLAGS="%optflags -fPIC" \ MANUAL_CXXFLAGS="%optflags -fPIC" %install %make_install %check make tests make run-tests %files %license license.txt %{_bindir}/amudprun %{_bindir}/gasnet_trace %{_bindir}/gasnet_trace.pl %{_bindir}/ident %dir %{_docdir}/GASNet %{_docdir}/GASNet/GASNet-EX.txt %{_docdir}/GASNet/README %{_docdir}/GASNet/README-extref %{_docdir}/GASNet/README-mpi-spawner %{_docdir}/GASNet/README-pmi-spawner %{_docdir}/GASNet/README-smp %{_docdir}/GASNet/README-ssh-spawner %{_docdir}/GASNet/README-tools %{_docdir}/GASNet/README-udp %{_docdir}/GASNet/gasnet1_differences.md %{_docdir}/GASNet/implementation_defined.md %exclude %{_docdir}/GASNet/license.txt %{_docdir}/GASNet/memory_kinds.pdf %{_docdir}/GASNet/memory_kinds_implementation.md %{_docdir}/GASNet/version.git %files devel %{_libdir}/pkgconfig/gasnet-smp-par.pc %{_libdir}/pkgconfig/gasnet-smp-parsync.pc %{_libdir}/pkgconfig/gasnet-smp-seq.pc %{_libdir}/pkgconfig/gasnet-udp-par.pc %{_libdir}/pkgconfig/gasnet-udp-parsync.pc %{_libdir}/pkgconfig/gasnet-udp-seq.pc %{_libdir}/pkgconfig/gasnet_tools-par.pc %{_libdir}/pkgconfig/gasnet_tools-seq.pc %{_includedir}/*.h %{_includedir}/*.mak %{_includedir}/smp-conduit/*.h %{_includedir}/smp-conduit/*.mak %{_includedir}/udp-conduit/*.h %{_includedir}/udp-conduit/*.mak %{_libdir}/libamudp.a %{_libdir}/libgasnet-smp-par.a %{_libdir}/libgasnet-smp-parsync.a %{_libdir}/libgasnet-smp-seq.a %{_libdir}/libgasnet-udp-par.a %{_libdir}/libgasnet-udp-parsync.a %{_libdir}/libgasnet-udp-seq.a %{_libdir}/libgasnet_tools-par.a %{_libdir}/libgasnet_tools-seq.a %changelog * Sun Jun 02 2024 John Doe - 2024.5.0-1 - Uncommitted changes