]>
Commit | Line | Data |
---|---|---|
18bf5c70 | 1 | # TODO: CUDA, MPI, Load Leveler(?) |
18bf5c70 JB |
2 | # |
3 | # Conditional build: | |
4 | %bcond_without f90 # Fortran bindings | |
3ff436a1 | 5 | %bcond_without logger # gaspi_logger utility |
18bf5c70 | 6 | # |
3ff436a1 JB |
7 | %ifnarch %{x8664} |
8 | # no sources, only x86_64 binary included | |
9 | %undefine with_logger | |
10 | %endif | |
18bf5c70 JB |
11 | Summary: GPI-2 - API for asynchronous communication |
12 | Summary(pl.UTF-8): GPI-2 - API do komunikacji asynchronicznej | |
13 | Name: GPI2 | |
3ff436a1 | 14 | Version: 1.2.0 |
18bf5c70 JB |
15 | Release: 0.1 |
16 | License: GPL v3 | |
17 | Group: Applications | |
18 | Source0: https://www.openfabrics.org/downloads/gpi2/%{name}-%{version}.tar.gz | |
3ff436a1 | 19 | # Source0-md5: 985ef97215563f5af5e71833a490ef97 |
18bf5c70 JB |
20 | Patch0: %{name}-nosse.patch |
21 | Patch1: %{name}-format.patch | |
22 | URL: http://www.gpi-site.com/gpi2/ | |
23 | BuildRequires: doxygen | |
24 | %{?with_f90:BuildRequires: gcc-fortran >= 5:4.0} | |
25 | BuildRequires: libibverbs-devel >= 1.1.6 | |
26 | Requires: libibverbs >= 1.1.6 | |
18bf5c70 JB |
27 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
28 | ||
29 | %description | |
30 | GPI-2 is the second generation of GPI (http://www.gpi-site.com/). GPI-2 | |
31 | implements the GASPI specification (http://www.gaspi.de/), an API | |
32 | specification which originates from the ideas and concepts of GPI. | |
33 | ||
34 | GPI-2 is an API for asynchronous communication. It provides a | |
35 | flexible, scalable and fault tolerant interface for parallel | |
36 | applications. | |
37 | ||
38 | %description -l pl.UTF-8 | |
39 | GPI-2 to druga generacja GPI (http://www.gpi-site.com/). GPI-2 | |
40 | jest implementacją specyfikacji GASPI (http://www.gaspi.de/) - API | |
41 | wywodzącego się z idei GPI. | |
42 | ||
43 | GPI-2 to API do komunikacji asynchronicznej. Zapewnia elastyczny, | |
44 | skalowalny i odporny na awarie interfejs do aplikacji równoległych. | |
45 | ||
46 | %prep | |
47 | %setup -q | |
48 | %patch0 -p1 | |
49 | %patch1 -p1 | |
50 | ||
3ff436a1 | 51 | %if %{without logger} |
18bf5c70 JB |
52 | # precompiled binaries |
53 | # FIXME: sources are missing | |
3ff436a1 JB |
54 | %{__rm} bin/gaspi_logger |
55 | %endif | |
18bf5c70 JB |
56 | |
57 | %build | |
58 | %{__make} clean | |
59 | %{__make} -C src depend | |
60 | %{__make} gpi \ | |
61 | CC="%{__cc}" \ | |
62 | CFLAGS="%{rpmcflags} -Wall -D_GNU_SOURCE" | |
63 | %if %{with f90} | |
64 | %{__make} fortran | |
65 | %endif | |
66 | ||
67 | %if %{with tests} | |
68 | %{__make} tests | |
69 | %endif | |
70 | ||
71 | %{__make} docs | |
72 | ||
73 | %install | |
74 | rm -rf $RPM_BUILD_ROOT | |
75 | install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} | |
76 | ||
77 | install bin/gaspi_run.ssh $RPM_BUILD_ROOT%{_bindir}/gaspi_run | |
3ff436a1 JB |
78 | install bin/ssh.spawner bin/gaspi_cleanup $RPM_BUILD_ROOT%{_bindir} |
79 | %if %{with logger} | |
80 | install bin/gaspi_logger $RPM_BUILD_ROOT%{_bindir} | |
81 | %endif | |
18bf5c70 JB |
82 | cp -pr include $RPM_BUILD_ROOT%{_includedir} |
83 | cp -p lib64/lib* $RPM_BUILD_ROOT%{_libdir} | |
84 | ||
85 | %clean | |
86 | rm -rf $RPM_BUILD_ROOT | |
87 | ||
88 | %files | |
89 | %defattr(644,root,root,755) | |
90 | %doc README docs/html | |
91 | %attr(755,root,root) %{_bindir}/gaspi_cleanup | |
3ff436a1 | 92 | %if %{with logger} |
18bf5c70 | 93 | %attr(755,root,root) %{_bindir}/gaspi_logger |
3ff436a1 | 94 | %endif |
18bf5c70 JB |
95 | %attr(755,root,root) %{_bindir}/gaspi_run |
96 | %attr(755,root,root) %{_bindir}/ssh.spawner | |
97 | %{_libdir}/libGPI2.a | |
98 | %{_libdir}/libGPI2-dbg.a | |
99 | %{_includedir}/GASPI.h | |
3ff436a1 | 100 | %{_includedir}/GASPI_Ext.h |
18bf5c70 JB |
101 | %{_includedir}/GASPI_GPU.h |
102 | %{_includedir}/GASPI_Threads.h | |
103 | %{_includedir}/PGASPI.h | |
104 | %{_includedir}/gaspi.mod | |
105 | %{_includedir}/gaspi_types.mod |