Skip to content

NFFT.jl Restructuring #59

Closed
Closed
@tknopp

Description

@tknopp

I am working right now on splitting the abstract NFFT interface stuff into a new package AbstractNFFTs, which will allow us to switch implementations of the core algorithm. There are several motivations for it. One is that I would like to have a common interface for NFFT.jl and NFFT3.jl another more practical one is that right now NFFT.jl depends on CUDA.jl which adds 4 seconds of package load time, which is too much. We will therefore have a third package CuNFFT.jl, which implements CUDA NFFTs.

AbstractNFFTs.jl, NFFT.jl, and CuNFFT.jl will all remain in the same git repository which makes maintaining much easier. Tests, docu, ... will all be shared. But NFFT3.jl may implement the interface of AbstractNFFTs.jl without the need to depend on NFFT.jl

This is work in progress: Some TODO items

  • formalize and finalize the interface of AbstractNFFTs.jl
  • generalize the directional NFFT and make the standard one a special case of the directional
  • improve tests to have a common set of tests executed on several backends
  • write documentation
  • write a benchmark suite that can exchange and compare backends
  • register AbstractNFFTs.jl
  • write NFFT3.jl wrapper
  • register CuNFFT.jl
  • make release of NFFT.jl
  • extract NFFTTools.jl

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions