ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fft.hpp File Reference

OpenCL kernel file for FFT operations. More...

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.