Dear PDL folks,

PDL 2.063_01 has just been released. Notable changes since 2.062:

  *   Various API changes (see below)
  *   Improvements to $MACRONAME() handling including that arguments can now 
contain (balanced) brackets
  *   redodims no longer leaks memory
  *   The PROJ.4 interface has been updated to use the PROJ v6+ interface, 
finally
  *   A zeroes() regression from 2.057_01 where it ignored the type of an input 
PDL has been fixed
  *   PDL::Compression is now thread-safe (thanks Derek for the report!)

As part of the “independent C interface” effort, the API of some functions has 
changed, including the PP-generated ones now not returning “void” (and throwing 
Perl exceptions) but a “pdl_error” (so that callers can use them to throw 
exceptions but not necessarily Perl ones, possibly doing cleanup first). This 
broke the Application Binary Interface (ABI), which means you’ll need to 
reinstall your PP-generated PDL extensions. Sorry.

Further to the above – if any of your PP functions do a “return” to terminate 
early, you will need to update that to say “return PDL_err”.

Future plans, in something like intended order:

  *   “loop fusion” techniques to maximise locality of computation, minimising 
data’s trips through the “straw” between CPU and main RAM
  *   finish the independent C interface for making PDL usable from e.g. Python
  *   more pervasive use of e.g. BLAS/LAPACK routines if available
  *   use OpenCL or other means to also utilise GPUs if available

The IRC channel (#pdl on irc.perl.org) is a great virtual place to come and ask 
questions, or just watch the GitHub messages flow by.

As usual, please give the new PDL a try and report problems.

Best regards,
Ed


_______________________________________________
pdl-devel mailing list
pdl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-devel

Reply via email to