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... | |
OpenCL kernel file for FFT operations.
Definition in file fft.hpp.