-
Notifications
You must be signed in to change notification settings - Fork 192
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bump version to v2.2 Conflicts: README.md src/CMakeLists.txt
- Loading branch information
Showing
36 changed files
with
767 additions
and
337 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
language: cpp | ||
|
||
compiler: | ||
- gcc | ||
|
||
before_install: | ||
- sudo apt-get update -qq | ||
- sudo apt-get install -qq fglrx opencl-headers libboost-program-options-dev libfftw3-dev libgtest-dev | ||
# Uncomment below to help verify the installs above work | ||
# - ls -la /usr/lib/libboost* | ||
# - ls -la /usr/include/boost | ||
# - ls -la /usr/src/gtest | ||
|
||
install: | ||
- mkdir -p bin/gTest | ||
- cd bin/gTest | ||
- cmake -DCMAKE_BUILD_TYPE=Release /usr/src/gtest | ||
- make | ||
- sudo mv libg* /usr/lib | ||
|
||
before_script: | ||
- cd ${TRAVIS_BUILD_DIR} | ||
- mkdir -p bin/clFFT | ||
- cd bin/clFFT | ||
- cmake -DBoost_NO_SYSTEM_PATHS=OFF ../../src | ||
|
||
script: | ||
- make install | ||
# - ls -Rla package | ||
# Run a simple test to validate that the build works; CPU device in a VM | ||
- cd package/bin | ||
- export LD_LIBRARY_PATH=${TRAVIS_BUILD_DIR}/bin/clFFT/package/lib64:${LD_LIBRARY_PATH} | ||
- ./Client -i | ||
|
||
after_success: | ||
- cd ${TRAVIS_BUILD_DIR}/bin/clFFT | ||
- make package | ||
|
||
notifications: | ||
email: | ||
- [email protected] | ||
on_success: change | ||
on_failure: always | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,87 @@ | ||
clFFT | ||
===== | ||
[![Build Status](https://travis-ci.org/clMathLibraries/clFFT.png)](https://travis-ci.org/clMathLibraries/clFFT) | ||
|
||
clMath is a software library containing FFT and BLAS functions written in OpenCL. In addition to GPU devices, the libraries also support running on CPU devices to facilitate debugging and multicore programming. | ||
clMath is a software library containing FFT and BLAS functions written | ||
in OpenCL. In addition to GPU devices, the libraries also support | ||
running on CPU devices to facilitate debugging and multicore | ||
programming. | ||
|
||
<a href="http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-math-libraries/">APPML 1.10</a> is the most current generally available version of the library, and pre-built binaries are available for download on both Linux and Windows platforms. | ||
clMath 2.1 is the latest version and is available as source only. | ||
clMath's predecessor APPML 1.10 has pre-built binaries available for | ||
download on both Linux and Windows platforms. | ||
|
||
## Introduction to clFFT | ||
|
||
The FFT is an implementation of the Discrete Fourier Transform (DFT) that makes use of symmetries in the FFT definition to reduce the mathematical intensity required from O(N<sup>2</sup>) to O(N log<sub>2</sub>( N )) when the sequence length N is the product of small prime factors. Currently, there is no standard API for FFT routines. Hardware vendors usually provide a set of high-performance FFTs optimized for their systems: no two vendors employ the same interfaces for their FFT routines. clFFT provides a set of FFT routines that are optimized for AMD graphics processors, but also are functional across CPU and other compute devices. | ||
The FFT is an implementation of the Discrete Fourier Transform (DFT) | ||
that makes use of symmetries in the FFT definition to reduce the | ||
mathematical intensity required from O(N2) to O(N log2( N )) when the | ||
sequence length N is the product of small prime factors. Currently, | ||
there is no standard API for FFT routines. Hardware vendors usually | ||
provide a set of high-performance FFTs optimized for their systems: no | ||
two vendors employ the same interfaces for their FFT routines. clFFT | ||
provides a set of FFT routines that are optimized for AMD graphics | ||
processors, but also are functional across CPU and other compute | ||
devices. | ||
|
||
The clFFT library is an open source OpenCL library implementation of discrete Fast Fourier Transforms. It: | ||
The clFFT library is an open source OpenCL library implementation of | ||
discrete Fast Fourier Transforms. It: | ||
|
||
* 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. | ||
- 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. | ||
|
||
## clFFT library user documentation | ||
[Library and API documentation]( http://clmathlibraries.github.io/clFFT/ ) for developers is available online as a GitHub Pages website | ||
|
||
[Library and API documentation][] for developers is available online as | ||
a GitHub Pages website | ||
|
||
### Google Groups | ||
|
||
Two mailing lists have been created for the clMath projects: | ||
|
||
- [[email protected]][] - group whose focus is to answer | ||
questions on using the library or reporting issues | ||
|
||
- [[email protected]][] - group whose focus is for | ||
developers interested in contributing to the library code itself | ||
|
||
## clFFT Wiki | ||
The [project wiki](https://github.com/clMathLibraries/clFFT/wiki) contains helpful documentation, including a [build primer](https://github.com/clMathLibraries/clFFT/wiki/Build) | ||
|
||
The [project wiki][[email protected]] contains helpful | ||
documentation, including a [build | ||
primer][[email protected]] | ||
|
||
## Contributing code | ||
Please refer to and read the [Contributing](CONTRIBUTING.md) document for guidelines on how to contribute code to this open source project | ||
|
||
Please refer to and read the [Contributing][] document for guidelines on | ||
how to contribute code to this open source project. The code in the | ||
/master branch is considered to be stable, and all pull-requests should | ||
be made against the /develop branch. | ||
|
||
## License | ||
The source for clFFT is licensed under the [Apache License, Version 2.0]( http://www.apache.org/licenses/LICENSE-2.0 ) | ||
|
||
The source for clFFT is licensed under the [Apache License, Version | ||
2.0][] | ||
|
||
## Example | ||
The simple example below shows how to use clFFT to compute an simple 1D forward transform | ||
|
||
The simple example below shows how to use clFFT to compute an simple 1D | ||
forward transform | ||
```c | ||
#include <stdlib.h> | ||
|
||
|
@@ -122,21 +170,43 @@ int main( void ) | |
``` | ||
## Build dependencies | ||
### Library for Windows | ||
* Windows® 7/8 | ||
* Visual Studio 2010 SP1, 2012 | ||
* Latest CMake | ||
* An OpenCL SDK, such as APP SDK 2.8 | ||
- Windows® 7/8 | ||
- Visual Studio 2010 SP1, 2012 | ||
- Latest CMake | ||
- An OpenCL SDK, such as APP SDK 2.9 | ||
### Library for Linux | ||
* GCC 4.6 and onwards | ||
* Latest CMake | ||
* An OpenCL SDK, such as APP SDK 2.8 | ||
- GCC 4.6 and onwards | ||
- Latest CMake | ||
- An OpenCL SDK, such as APP SDK 2.9 | ||
### Library for Mac OSX | ||
- Recommended to generate Unix makefiles with cmake | ||
### Test infrastructure | ||
* Latest Googletest | ||
* Latest FFTW | ||
* Latest Boost | ||
- Googletest v1.6 | ||
- Latest FFTW | ||
- Latest Boost | ||
### Performance infrastructure | ||
* Python | ||
- Python | ||
[Library and API documentation]: http://clmathlibraries.github.io/clFFT/ | ||
[[email protected]]: https://github.com/clMathLibraries/clFFT/wiki | ||
[[email protected]]: https://github.com/clMathLibraries/clFFT/wiki/Build | ||
[Contributing]: CONTRIBUTING.md | ||
[Apache License, Version 2.0]: http://www.apache.org/licenses/LICENSE-2.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.