All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fft.hpp File Reference

OpenCL kernel file for FFT operations. More...

`#include "viennacl/tools/tools.hpp"`
`#include "viennacl/ocl/kernel.hpp"`
`#include "viennacl/ocl/platform.hpp"`
`#include "viennacl/ocl/utils.hpp"`

Go to the source code of this file.

## Classes

struct | viennacl::linalg::opencl::kernels::fft< NumericT >
| Main kernel class for generating OpenCL kernels for the fast Fourier transform. More...

## Namespaces

| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::linalg
| Provides all linear algebra operations which are not covered by operator overloads.
| viennacl::linalg::opencl
| Holds all routines providing OpenCL linear algebra operations.
| viennacl::linalg::opencl::kernels
| Contains the OpenCL kernel generation functions for a predefined set of functionality.

## Functions

template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_bluestein_post (StringT &source, std::string const &numeric_string)
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_bluestein_pre (StringT &source, std::string const &numeric_string)
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_complex_to_real (StringT &source, std::string const &numeric_string)
| Extract real part of a complex number array. More...
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_div_vec_scalar (StringT &source, std::string const &numeric_string)
| OpenCL kernel generation code for dividing a complex number by a real number. More...
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_mult_vec (StringT &source, std::string const &numeric_string)
| Elementwise product of two complex vectors. More...
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_real_to_complex (StringT &source, std::string const &numeric_string)
| Embedds a real-valued vector into a complex one. More...
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_reverse_inplace (StringT &source, std::string const &numeric_string)
| Reverses the entries in a vector. More...
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_transpose (StringT &source, std::string const &numeric_string)
| Simplistic matrix transpose function. More...
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_transpose_inplace (StringT &source, std::string const &numeric_string)
| Simplistic inplace matrix transpose function. More...
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_vandermonde_prod (StringT &source, std::string const &numeric_string)
| Computes the matrix vector product with a Vandermonde matrix. More...
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_fft_zero2 (StringT &source, std::string const &numeric_string)
| Zero two complex vectors (to avoid kernel launch overhead) More...

## Detailed Description

OpenCL kernel file for FFT operations.

Definition in file fft.hpp.