v1.0.0
Version 1.0 is a major update that brings the GPU implementation up to the same API as the CPU implementation. It also removes support for (l,m)-grid beams.
Removed
- Support for
bm_pix
anduse_pixel_beams
(in both CPU and GPU implementations).
Now, using aUVBeam
object will automatically use interpolation on the gridded
underlying data (which is typically in az/za). This can be done directly using
methods inUVBeam
, or via new GPU methods. If you input anAnalyticBeam
, the
beam will instead just merely be evaluated.
Added
- Polarization support for GPU implementation.
Changed
- Faster performance if using
beam_list
and the frequency is not in thefreq_array
(interpolation done before the loop). - Factor of ~10x speed-up of
vis_cpu
due to changing the finaleinsum
into a matrix product. - BREAKING CHANGE: the output from the CPU and GPU implementations has changed shape: it is now
(Ntimes, Nfeed, Nfeed, Nant, Nant)
(and without the feed axes for non-polarized data).
Internals
vis_cpu
andvis_gpu
modules renamed tocpu
andgpu
respectively, to
avoid some problems with name clashes.- New more comprehensive tests comparing the GPU and CPU implementations against
each other and against pyuvsim. - New tests of documentation notebooks to ensure they're up to date.
Documentation
- Updated sphinx them to Furo.
- More complete Module Reference documentation.
- Updated tutorial to match the new API.
- Added a new "Understanding the Algorithm" page (with math!)
Full Changelog: v0.4.4...v1.0.0