SHA256
1
0
forked from pool/clFFT

Accepting request 510163 from home:mnhauke:sdr-devel

initial package for clFFT

OBS-URL: https://build.opensuse.org/request/show/510163
OBS-URL: https://build.opensuse.org/package/show/science/clFFT?expand=0&rev=1
This commit is contained in:
Matthias Mailänder 2017-07-15 12:56:26 +00:00 committed by Git OBS Bridge
commit b74a2a5f6b
7 changed files with 306 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
clFFT-2.12.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e7348c146ad48c6a3e6997b7702202ad3ee3b5df99edf7ef00bbacc21e897b12
size 1010182

134
clFFT-client.1 Normal file
View File

@ -0,0 +1,134 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3.
.TH CLFFT "1" "July 2017" "clFFT client API version: 2.12.2" "User Commands"
.SH NAME
clFFT \- manual page for clFFT client API version: 2.12.2
.SH DESCRIPTION
.SS "clFFT client command line options:"
.TP
\fB\-h\fR [ \fB\-\-help\fR ]
produces this help message
.TP
\fB\-v\fR [ \fB\-\-version\fR ]
Print queryable version information from the
clFFT library
.TP
\fB\-i\fR [ \fB\-\-clinfo\fR ]
Print queryable information of all the OpenCL
runtimes and devices
.TP
\fB\-\-printChosen\fR
Print queryable information of the selected
OpenCL runtime and device
.TP
\fB\-g\fR [ \fB\-\-gpu\fR ]
Force selection of OpenCL GPU devices only
.TP
\fB\-c\fR [ \fB\-\-cpu\fR ]
Force selection of OpenCL CPU devices only
.TP
\fB\-a\fR [ \fB\-\-all\fR ]
Force selection of all OpenCL devices (default)
.TP
\fB\-\-platform\fR arg (=0)
Select a specific OpenCL platform id as it is
reported by clinfo
.TP
\fB\-\-device\fR arg (=0)
Select a specific OpenCL device id as it is
reported by clinfo
.TP
\fB\-o\fR [ \fB\-\-outPlace\fR ]
Out of place FFT transform (default: in place)
.TP
\fB\-\-double\fR
Double precision transform (default: single)
.TP
\fB\-\-inv\fR
Backward transform (default: forward)
.TP
\fB\-d\fR [ \fB\-\-dumpKernels\fR ]
FFT engine will dump generated OpenCL FFT kernels
to disk (default: dump off)
.TP
\fB\-x\fR [ \fB\-\-lenX\fR ] arg (=1024)
Specify the length of the 1st dimension of a test
array
.TP
\fB\-y\fR [ \fB\-\-lenY\fR ] arg (=1)
Specify the length of the 2nd dimension of a test
array
.TP
\fB\-z\fR [ \fB\-\-lenZ\fR ] arg (=1)
Specify the length of the 3rd dimension of a test
array
.TP
\fB\-\-isX\fR arg (=1)
Specify the input stride of the 1st dimension of
a test array
.TP
\fB\-\-isY\fR arg (=0)
Specify the input stride of the 2nd dimension of
a test array
.TP
\fB\-\-isZ\fR arg (=0)
Specify the input stride of the 3rd dimension of
a test array
.TP
\fB\-\-iD\fR arg (=0)
input distance between subsequent sets of data
when batch size > 1
.TP
\fB\-\-osX\fR arg (=1)
Specify the output stride of the 1st dimension of
a test array
.TP
\fB\-\-osY\fR arg (=0)
Specify the output stride of the 2nd dimension of
a test array
.TP
\fB\-\-osZ\fR arg (=0)
Specify the output stride of the 3rd dimension of
a test array
.TP
\fB\-\-oD\fR arg (=0)
output distance between subsequent sets of data
when batch size > 1
.TP
\fB\-b\fR [ \fB\-\-batchSize\fR ] arg (=1) If this value is greater than one, arrays will be
used
.TP
\fB\-p\fR [ \fB\-\-profile\fR ] arg (=1)
Time and report the kernel speed of the FFT
(default: profiling off)
.TP
\fB\-\-inLayout\fR arg (=1)
Layout of input data:
1) interleaved
2) planar
3) hermitian interleaved
4) hermitian planar
5) real
.TP
\fB\-\-outLayout\fR arg (=1)
Layout of input data:
1) interleaved
2) planar
3) hermitian interleaved
4) hermitian planar
5) real
.PP
clFFT runtime version: 2.12.2
.IP
Internal Client Test *****PASS*****
.SH "SEE ALSO"
The full documentation for
.B clFFT
is maintained as a Texinfo manual. If the
.B info
and
.B clFFT
programs are properly installed at your site, the command
.IP
.B info clFFT
.PP
should give you access to the complete manual.

4
clFFT.changes Normal file
View File

@ -0,0 +1,4 @@
-------------------------------------------------------------------
Thu Jul 13 21:09:37 UTC 2017 - mardnh@gmx.de
- Initial package, version 2.12.2

126
clFFT.spec Normal file
View File

@ -0,0 +1,126 @@
#
# spec file for package clFFT
#
# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
#
# 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.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define sover 2
%define libname lib%{name}%{sover}
Name: clFFT
Version: 2.12.2
Release: 0
Summary: OpenCL FFT library
License: Apache-2.0
Group: System/Libraries
Url: https://github.com/clMathLibraries/clFFT
#Git-Clone: https://github.com/clMathLibraries/clFFT.git
Source: https://github.com/clMathLibraries/clFFT/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: clFFT-client.1
Patch0: fix-client-no-symlink.patch
BuildRequires: boost-devel
BuildRequires: cmake
#BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: opencl-headers
BuildRequires: pkgconfig
BuildRequires: pkgconfig(OpenCL)
BuildRequires: pkgconfig(fftw3)
%description
The clFFT library is an open source OpenCL library implementation of discrete
Fast Fourier Transforms, which:
* Provides a fast and accurate platform for calculating discrete FFTs.
* Works on CPU or GPU backends.
* Supports in-place or out-of-place transforms.
* Supports 1D, 2D, and 3D transforms with a batch size that can be greater
than 1.
* Supports planar (real and complex components in separate arrays) and
interleaved (real and complex components as a pair contiguous in memory)
formats.
* Supports dimension lengths that can be any mix of powers of 2, 3, and 5.
* Supports single and double precision floating point formats.
%package devel
Summary: Development files for libclfft
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
%description devel
Libraries and header files for developing applications that want to
make use of libclFFT.
%package -n %{libname}
Summary: Library for libclfft
Group: System/Libraries
%description -n %{libname}
The clFFT library is an open source OpenCL library implementation of discrete
Fast Fourier Transforms, which:
* Provides a fast and accurate platform for calculating discrete FFTs.
* Works on CPU or GPU backends.
* Supports in-place or out-of-place transforms.
* Supports 1D, 2D, and 3D transforms with a batch size that can be greater
than 1.
* Supports planar (real and complex components in separate arrays) and
interleaved (real and complex components as a pair contiguous in memory)
formats.
* Supports dimension lengths that can be any mix of powers of 2, 3, and 5.
* Supports single and double precision floating point formats.
This subpackage provides the shared library.
%prep
%setup -q
%patch0 -p1
%build
cd src
%cmake \
-DBoost_USE_STATIC_LIBS=OFF \
-DBUILD_CLIENT=ON \
-DBUILD_EXAMPLES=OFF \
-DBUILD_LOADLIBRARIES=ON \
-DBUILD_RUNTIME=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TEST=OFF
%make_jobs
%install
cd src
%cmake_install
install -d -m0755 %{buildroot}%{_mandir}/man1/
install -m0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files
%{_bindir}/clFFT-client
%{_mandir}/man1/clFFT-client.1%{ext_man}
%files -n %{libname}
%doc CHANGELOG LICENSE NOTICE ReleaseNotes.txt
%{_libdir}/libclFFT.so.%{sover}*
%{_libdir}/libStatTimer.so.*
%files devel
%{_libdir}/libclFFT.so
%{_libdir}/libStatTimer.so
%{_includedir}/clAmdFft*.h
%{_includedir}/clFFT*.h
%{_libdir}/pkgconfig/clFFT.pc
%{_libdir}/cmake/clFFT
%changelog

View File

@ -0,0 +1,15 @@
Description: avoid unnecessary version symlinks for client app
Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
Forwarded: no
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/src/client/CMakeLists.txt
+++ b/src/client/CMakeLists.txt
@@ -45,7 +45,6 @@
target_link_libraries( clFFT-client clFFT ${Boost_LIBRARIES} ${OPENCL_LIBRARIES} ${CMAKE_DL_LIBS} ${RT_LIB} )
-set_target_properties( clFFT-client PROPERTIES VERSION ${CLFFT_VERSION} )
set_target_properties( clFFT-client PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/staging" )
if( APPLE )
# properly deal with RPATH on mac