diff --git a/README.md b/README.md index da13f0cf9..ef7b46f46 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Principal author **Alex H. Barnett** (abarnett@flatironinstitute.org), main co-developers Jeremy F. Magland, Ludvig af Klinteberg, Yu-hsuan "Melody" Shih, Libin Lu, -Joakim Andén, and Robert Blackwell; +Joakim Andén, Marco Barbone, and Robert Blackwell; see `docs/ackn.rst` for full list of contributors. ​ @@ -63,4 +63,3 @@ For cuFINUFFT (GPU library): cuFINUFFT: a load-balanced GPU library for general-purpose nonuniform FFTs, Yu-hsuan Shih, Garrett Wright, Joakim Andén, Johannes Blaschke, Alex H. Barnett, PDSEC2021 workshop of the IPDPS2021 conference. https://arxiv.org/abs/2102.08463 - diff --git a/docs/ackn.rst b/docs/ackn.rst index 82ec48440..2b33f74be 100644 --- a/docs/ackn.rst +++ b/docs/ackn.rst @@ -9,17 +9,17 @@ The main developer and maintainer is: * Alex Barnett -Major code contributions by: +Major code contributions (loosely in chronological order) by: * Jeremy Magland - early multithreaded spreader, benchmark vs other libraries, py wrapper * Ludvig af Klinteberg - SIMD vectorization/acceleration of spreader, julia wrapper * Yu-Hsuan ("Melody") Shih - 2d1many, 2d2many vectorized interface, GPU version * Andrea Malleo - guru interface prototype and tests -* Libin Lu - guru Fortran, python, MATLAB/octave, julia interfaces, cmake, CI maintenance -* Joakim Andén - python, MATLAB/FFTW issues, dual-precision, performance tests, GPU version merge docs/tests +* Libin Lu - guru Fortran, python/wheels, MATLAB/octave, julia interfaces, cmake, CI, user support, SIMD kernel +* Joakim Andén - python, MATLAB/FFTW issues, dual-precision, performance tests, GPU python/docs/tests * Robert Blackwell - atomic OMP add_wrapped_subgrid, GPU version merge -* Marco Barbone - SIMD kernel vectorization, benchmarking, foldrescale, Cmake, windows build - +* Marco Barbone - SIMD kernel manual vectorization, benchmarking, foldrescale, Cmake/packaging, Windows, GPU optimization + Other significant code contributions by: * Leslie Greengard and June-Yub Lee - CMCL Fortran test drivers @@ -27,7 +27,7 @@ Other significant code contributions by: * David Stein - python wrappers, finding "pi-1ULP" spreadcheck error * Garrett Wright - dual-precision build, py packaging, GPU version * Wenda Zhou - Cmake build, code review, professionalization, SIMD ideas -* Martin Reinecke - SIMD kernel and interp auto-vectorization, binsort; other good ideas +* Martin Reinecke - SIMD kernel and interp auto-vectorization, binsort, switchable FFT to DUCC0; many good ideas Testing, bug reports, helpful discussions: @@ -49,7 +49,7 @@ Testing, bug reports, helpful discussions: Logo design: `Sherry Choi `_ with input from Alex Barnett and Lucy Reading-Ikkanda. - + We are also indebted to the authors of other NUFFT codes such as NFFT3, CMCL NUFFT, MIRT, BART, DUCC0, etc, upon whose interfaces, code, and algorithms we have built. diff --git a/docs/conf.py b/docs/conf.py index 7af179420..bd628a98e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -66,8 +66,8 @@ # General information about the project. project = u'finufft' -copyright = u'2017-2023 The Simons Foundation, Inc. - All Rights Reserved' -author = u'Alex Barnett, Ludvig af Klinteberg, Joakim Andén, Libin Lu, Jeremy Magland, Andrea Malleo, Yu-Hsuan Shih, and others.' +copyright = u'2017-2024 The Simons Foundation, Inc. - All Rights Reserved' +author = u'Alex Barnett, Ludvig af Klinteberg, Joakim Andén, Libin Lu, Jeremy Magland, Andrea Malleo, Yu-Hsuan Shih, Marco Barbone, Robert Blackwell, and others.' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -253,14 +253,14 @@ def setup(app): # removes blank pages: 'classoptions': ',openany,oneside', - + # Additional stuff for the LaTeX preamble. #'preamble': '', 'preamble': r''' \usepackage{hyperref} \setcounter{tocdepth}{3} ''', - + # Latex figure (float) alignment #'figure_align': 'htbp', diff --git a/python/cufinufft/README.md b/python/cufinufft/README.md index ce22f9430..e32bb2948 100644 --- a/python/cufinufft/README.md +++ b/python/cufinufft/README.md @@ -1,18 +1,17 @@ -# cuFINUFFT v2.2 Python package - -The cuFINUFFT library is an efficient GPU implementation of the 1-, 2- and -3-dimensional nonuniform fast Fourier transform (NUFFT). It includes both type -1 (nonuniform to uniform) and type 2 (uniform to nonuniform) transforms. -It is based on the [FINUFFT](https://github.com/flatironinstitute/finufft) -implementation for the CPU. This package provides a Python interface to the -cuFINUFFT library, which is written in C++ and CUDA. +# FINUFFT GPU library Python wrappers +This is a Python interface to the efficient GPU CUDA implementation of the 1-, 2- and +3-dimensional nonuniform fast Fourier transform (NUFFT), provided +in the FINUFFT library. It performs type +1 (nonuniform to uniform) or type 2 (uniform to nonuniform) transforms. For a mathematical description of the NUFFT and applications to signal processing, imaging, and scientific computing, see [the FINUFFT -documentation](https://finufft.readthedocs.io). Usage examples can be found -[here](https://github.com/flatironinstitute/finufft/tree/master/examples/cuda). +documentation](https://finufft.readthedocs.io). +The Python GPU interface is [here](https://finufft.readthedocs.io/en/latest/python_gpu.html). +Usage examples can be found in the examples folder in the same directory as +the file you are reading. -If you use this package, please cite our paper: +If you use this GPU feature of our package, please cite our GPU paper: Y. Shih, G. Wright, J. Andén, J. Blaschke, A. H. Barnett (2021). cuFINUFFT: a load-balanced GPU library for general-purpose nonuniform FFTs. @@ -20,4 +19,4 @@ arXiv preprint arXiv:2102.08463. [(paper)](https://arxiv.org/abs/2102.08463) [(bibtex)](https://arxiv.org/bibtex/2102.08463) -**Note**: With version 2.2 of cuFINUFFT, we have changed the interfaces slightly to better align with FINUFFT. For an outline of the changes, please see [the migration guide](https://finufft.readthedocs.io/en/latest/cufinufft_migration.html). +**Note**: With version 2.2 we have changed the GPU interfaces slightly to better align with FINUFFT. For an outline of the changes, please see [the migration guide](https://finufft.readthedocs.io/en/latest/cufinufft_migration.html). diff --git a/python/cufinufft/pyproject.toml b/python/cufinufft/pyproject.toml index dad53a3d6..4dc0711ea 100644 --- a/python/cufinufft/pyproject.toml +++ b/python/cufinufft/pyproject.toml @@ -17,6 +17,8 @@ authors = [ {name = "Yu-shuan Melody Shih"}, {name = "Garrett Wright"}, {name = "Joakim Anden"}, + {name = "Marco Barbone"}, + {name = "Robert Blackwell"}, {name = "Johannes Blascke"}, {name = "Alex Barnett"}] maintainers = [{name = "Joakim Anden", email = "janden-vscholar@flatironinstitute.org"}] diff --git a/python/finufft/README.md b/python/finufft/README.md index 1a97e52e4..9593b3743 100644 --- a/python/finufft/README.md +++ b/python/finufft/README.md @@ -1,8 +1,8 @@ # Flatiron Institute Nonuniform Fast Fourier Transform library: FINUFFT -Principal author **Alex H. Barnett**, main co-developers Jeremy F. Magland, Ludvig af Klinteberg, Yu-hsuan "Melody" Shih, Andrea Malleo, Libin Lu, and Joakim Andén. +Principal author **Alex H. Barnett**, main co-developers Jeremy F. Magland, Ludvig af Klinteberg, Yu-hsuan "Melody" Shih, Andrea Malleo, Libin Lu, Joakim Andén, Marco Barbone, and Robert Blackwell. -This package provides a Python interface to the library, enabling fast computation of nonuniform discrete Fourier transforms to specified precision in one, two, and three dimensions. +This package provides a Python interface to the CPU library, enabling fast computation of nonuniform discrete Fourier transforms to specified precision in one, two, and three dimensions. It supports transforms of type 1 (nonuniform to uniform), type 2 (uniform to nonuniform) and type 3 (nonuniform to nonuniform). For more information, see the [online documentation](https://finufft.readthedocs.io/en/latest/python.html). diff --git a/python/finufft/pyproject.toml b/python/finufft/pyproject.toml index 4a61967ca..822c5cafd 100644 --- a/python/finufft/pyproject.toml +++ b/python/finufft/pyproject.toml @@ -17,6 +17,8 @@ authors = [ {name = "Daniel Foreman-Mackey"}, {name = "Joakim Anden"}, {name = "Libin Lu"}, + {name = "Marco Barbone"}, + {name = "Robert Blackwell"}, {name = "Alex Barnett"}] maintainers = [{name = "Alex Barnett", email = "abarnett@flatironinstitute.org"}] description = "Python interface to FINUFFT"