You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
5
+
clMath is a software library containing FFT and BLAS functions written
6
+
in OpenCL. In addition to GPU devices, the libraries also support
7
+
running on CPU devices to facilitate debugging and multicore
8
+
programming.
6
9
7
-
clMath 2.1 is the latest version and is available as source only. clMath's predecessor <ahref="http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-math-libraries/">APPML 1.10</a> has pre-built binaries available for download on both Linux and Windows platforms.
10
+
clMath 2.1 is the latest version and is available as source only.
11
+
clMath's predecessor APPML 1.10 has pre-built binaries available for
12
+
download on both Linux and Windows platforms.
8
13
9
14
## Introduction to clFFT
10
15
11
-
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.
16
+
The FFT is an implementation of the Discrete Fourier Transform (DFT)
17
+
that makes use of symmetries in the FFT definition to reduce the
18
+
mathematical intensity required from O(N2) to O(N log2( N )) when the
19
+
sequence length N is the product of small prime factors. Currently,
20
+
there is no standard API for FFT routines. Hardware vendors usually
21
+
provide a set of high-performance FFTs optimized for their systems: no
22
+
two vendors employ the same interfaces for their FFT routines. clFFT
23
+
provides a set of FFT routines that are optimized for AMD graphics
24
+
processors, but also are functional across CPU and other compute
25
+
devices.
12
26
13
-
The clFFT library is an open source OpenCL library implementation of discrete Fast Fourier Transforms. It:
27
+
The clFFT library is an open source OpenCL library implementation of
28
+
discrete Fast Fourier Transforms. It:
14
29
15
-
* Provides a fast and accurate platform for calculating discrete FFTs.
16
-
* Works on CPU or GPU backends.
17
-
* Supports in-place or out-of-place transforms.
18
-
* Supports 1D, 2D, and 3D transforms with a batch size that can be greater than 1.
19
-
* Supports planar (real and complex components in separate arrays) and interleaved (real and complex components as a pair contiguous in memory) formats.
20
-
* Supports dimension lengths that can be any mix of powers of 2, 3, and 5.
21
-
* Supports single and double precision floating point formats.
30
+
- Provides a fast and accurate platform for calculating discrete FFTs.
31
+
32
+
- Works on CPU or GPU backends.
33
+
34
+
- Supports in-place or out-of-place transforms.
35
+
36
+
- Supports 1D, 2D, and 3D transforms with a batch size that can be
37
+
greater than 1.
38
+
39
+
- Supports planar (real and complex components in separate arrays) and
40
+
interleaved (real and complex components as a pair contiguous in
41
+
memory) formats.
42
+
43
+
- Supports dimension lengths that can be any mix of powers of 2, 3,
44
+
and 5.
45
+
46
+
- Supports single and double precision floating point formats.
22
47
23
48
## clFFT library user documentation
24
-
[Library and API documentation](http://clmathlibraries.github.io/clFFT/) for developers is available online as a GitHub Pages website
49
+
50
+
[Library and API documentation][] for developers is available online as
51
+
a GitHub Pages website
52
+
53
+
### Google Groups
54
+
55
+
Two mailing lists have been created for the clMath projects:
56
+
57
+
-[clmath@googlegroups.com][] - group whose focus is to answer
58
+
questions on using the library or reporting issues
59
+
60
+
-[clmath-developers@googlegroups.com][] - group whose focus is for
61
+
developers interested in contributing to the library code itself
25
62
26
63
## clFFT Wiki
27
-
The [project wiki](https://github.com/clMathLibraries/clFFT/wiki) contains helpful documentation, including a [build primer](https://github.com/clMathLibraries/clFFT/wiki/Build)
64
+
65
+
The [project wiki][clmath@googlegroups.com] contains helpful
66
+
documentation, including a [build
67
+
primer][clmath-developers@googlegroups.com]
28
68
29
69
## Contributing code
30
-
Please refer to and read the [Contributing](CONTRIBUTING.md) document for guidelines on how to contribute code to this open source project
70
+
71
+
Please refer to and read the [Contributing][] document for guidelines on
72
+
how to contribute code to this open source project. The code in the
73
+
/master branch is considered to be stable, and all pull-requests should
74
+
be made against the /develop branch.
31
75
32
76
## License
33
-
The source for clFFT is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
77
+
78
+
The source for clFFT is licensed under the [Apache License, Version
79
+
2.0][]
34
80
35
81
## Example
36
-
The simple example below shows how to use clFFT to compute an simple 1D forward transform
37
82
83
+
The simple example below shows how to use clFFT to compute an simple 1D
84
+
forward transform
38
85
```c
39
86
#include<stdlib.h>
40
87
@@ -43,101 +90,123 @@ The simple example below shows how to use clFFT to compute an simple 1D forward
0 commit comments