Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/juliagpu/clfft.jl

Julia bindings for AMD's clFFT library
https://github.com/juliagpu/clfft.jl

clfft julia opencl

Last synced: about 1 month ago
JSON representation

Julia bindings for AMD's clFFT library

Awesome Lists containing this project

README

        

# CLFFT.jl

Julia bindings to clFFT library.

## Example

```julia
import OpenCL
import CLFFT
import FFTW
using LinearAlgebra

const cl = OpenCL.cl
const clfft = CLFFT

_, ctx, queue = cl.create_compute_context()

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

p = clfft.Plan(ComplexF64, 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 - FFTW.fft(X)), zero(Float32))
```