Skip to content

Instantly share code, notes, and snippets.

@ddemidov
Last active August 29, 2015 13:57
Show Gist options
  • Save ddemidov/9877514 to your computer and use it in GitHub Desktop.
Save ddemidov/9877514 to your computer and use it in GitHub Desktop.
FFT example
#include <vexcl/vexcl.hpp>
int main() {
const size_t n = 1024;
vex::Context ctx(
vex::Filter::Env &&
vex::Filter::DoublePrecision &&
vex::Filter::Count(1)
);
std::cout << ctx << std::endl;
vex::FFT<double, cl_double2> fft(ctx, n); // Takes double, returns double2 (complex)
vex::FFT<cl_double2, double> ifft(ctx, n, vex::fft::inverse); // Takes double2, returns double
vex::vector<double> rhs(ctx, n), u(ctx, n), K(ctx, n);
rhs = 0;
u = ifft( K * fft(rhs) );
}
fft-example: fft-example.cpp
g++ -o $@ $^ -std=c++11 -I${HOME}/work/vexcl -lOpenCL -lboost_system
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment