PDL 2.058 has just been released. Notable changes since 2.057:
- pthreading can be over non-divisible number of threads
- With an opt-in, .pd files generate one C file per function, allowing parallel build
- PP only updates files that have changed, for faster rebuilds during development especially with the above
- allow any pointer including “pdl *” as OtherPars
- OtherPars are now stored in a separate struct, so no restriction on names
- all PDL operations now have a C function interface called pdl_(name)_run
- far fewer “SV *” OtherPars, instead they just take e.g. “PDL_Index name[]” and PP and XS make things happen (a “name_count” variable is magically added)
Due to changes to the “Core” structure, you will need to reinstall all your PDL::PP modules (though not pure-Perl ones) IF your current PDL version is <2.057_04. Sorry. There may be further core changes, but they should be binary-compatible (things being added not changed).
It is a known problem that older versions of clang/LLVM (at least 10.0.1 and 12.0.0, though not 12.0.5) crash when compiling the latest PDL. If this happens for you, please upgrade your clang/LLVM.
Future plans, in no particular order:
- enabling pthreading by default rather than opting-in with an environment variable, detecting how many cores you have automatically
- 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 to also utilise GPUs if available
This work has been aided hugely by the tireless, superb efforts on the PDL ecosystem’s continuous integration (CI) capability by the mighty Zaki Mughal. Thanks, Zaki!
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.
Please give the new PDL a try and report problems.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.