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!)
an attempt has been made to fix the older-clang/LLVM compilation errors - if you have clang 12.0.0 or earlier and can try installing this version and report results here, that would be very helpful!
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.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link
or How to display code and escape characters
are good places to start.