Julia bindings for AMD's clFFT library
Julia Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
deps
src
test
.gitignore
.gitlab-ci.yml
.travis.yml
LICENSE.md
README.md
REQUIRE
run_tests.sh

README.md

CLFFT

Build status:

Julia bindings to AMD's clFFT library

WARNING: Some functions in this package FAIL in tests and aren't considered stable. Please, familiarize yourself with tests before using the package.

Example

import OpenCL
import CLFFT

const cl = OpenCL
const clfft = CLFFT

_, ctx, queue = cl.create_compute_context()

N = 100
X = ones(Complex64, N)
bufX = cl.Buffer(Complex64, ctx, :copy, hostbuf=X)

p = clfft.Plan(Complex64, ctx, size(X))
clfft.set_layout!(p, :interleaved, :interleaved)
clfft.set_result!(p, :inplace)
clfft.bake!(p, queue)

clfft.enqueue_transform(p, :forward, [queue], bufX, nothing)  
result = cl.read(queue, bufX)

@assert isapprox(norm(result - fft(X)), zero(Float32))