Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
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 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.

In reply to PDL 2.058 released by etj

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • 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> <u> <ul>
  • 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 intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2023-12-01 03:48 GMT
Find Nodes?
    Voting Booth?

    No recent polls found