Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
Bump version to v2.2

Conflicts:
	README.md
	src/CMakeLists.txt
  • Loading branch information
Kent Knox committed Jun 19, 2014
2 parents e7b02b4 + 2217b68 commit d0394b1
Show file tree
Hide file tree
Showing 36 changed files with 767 additions and 337 deletions.
44 changes: 44 additions & 0 deletions .travis.yml
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

31 changes: 0 additions & 31 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -171,34 +171,3 @@ For example:
./clfft.Sample -iv
- Watch for the version strings to print out; watch for
'Client Test *****PASS*****' to print out.
_______________________________________________________________________________
(C) 2010-2013 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD
Arrow logo, ATI, the ATI logo, Radeon, FireStream, FireGL, Catalyst, and
combinations thereof are trademarks of Advanced Micro Devices, Inc. Microsoft
(R), Windows, and Windows Vista (R) are registered trademarks of Microsoft
Corporation in the U.S. and/or other jurisdictions. OpenCL and the OpenCL logo
are trademarks of Apple Inc. used by permission by Khronos. Other names are for
informational purposes only and may be trademarks of their respective owners.

The contents of this document are provided in connection with Advanced Micro
Devices, Inc. ("AMD") products. AMD makes no representations or warranties with
respect to the accuracy or completeness of the contents of this publication and
reserves the right to make changes to specifications and product descriptions
at any time without notice. The information contained herein may be of a
preliminary or advance nature and is subject to change without notice. No
license, whether express, implied, arising by estoppel or otherwise, to any
intellectual property rights is granted by this publication. Except as set forth
in AMD's Standard Terms and Conditions of Sale, AMD assumes no liability
whatsoever, and disclaims any express or implied warranty, relating to its
products including, but not limited to, the implied warranty of
merchantability, fitness for a particular purpose, or infringement of any
intellectual property right.

AMD's products are not designed, intended, authorized or warranted for use as
components in systems intended for surgical implant into the body, or in other
applications intended to support or sustain life, or in any other application
in which the failure of AMD's product could create a situation where personal
injury, death, or severe property or environmental damage may occur. AMD
reserves the right to discontinue or make changes to its products at any time
without notice.
_______________________________________________________________________________
124 changes: 97 additions & 27 deletions README.md
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>

Expand Down Expand Up @@ -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
2 changes: 1 addition & 1 deletion doc/clFFT.doxy
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ DOXYFILE_ENCODING = UTF-8
# identify the project. Note that if you do not use Doxywizard you need
# to put quotes around the project name if it contains spaces.

PROJECT_NAME = clMathFft
PROJECT_NAME = clFFT

# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
Expand Down
Loading

0 comments on commit d0394b1

Please sign in to comment.