Chris Marshall
2014-12-21 15:26:13 UTC
This is a brief note on a frustration I have trying to encourage and
coordinate PDL development efforts.
A persistent difficulty is that there is a sort of impedance mismatch
between users of #pdl and perldl or pdl-porters list users in terms of
expectations and how problems might be posed and solved. Unfortunately,
there are some pretty interesting points being discussed but to date, no
one has figured out a way to bring those ideas into perldl or pdl-porters
for the record. I've tried reviewing the logs when I am able to and
responding asynchronously. That didn't work because the difference is more
one of expectations between the user approaches rather than just the
discussions themselves.
I'm not able to participate regularly in #pdl but I did try to join #pdl
more often with the hopes of improving communication around the Aug 2014
timeframe. The outcome wasn't positive in the sense that I burned several
days of PDL time trying to communicate with little PDL development to show
and no idea about how better to get #pdl ideas into PDL development. I'm
happy to have some time this winter to get back to PDL development. I
would be happier if we could figure out how to keep development and
contributors moving constructively forward more consistently.
Here are some of the topics from the last couple of weeks that were
interesting to me and some thoughts
* A new perl array extension Array::APX
- It appears to be perl only
- It might be useful that PDL::Tiny support a perl-only version (same
sugar, no XS)
* Inline::ExtUtils::Depends support for PDL
- Still working on the git clean up
- It'll be in PDL-2.008 or sooner with help
* PDL release schedule
- We're on an about 1 release per year
- Mostly developer and test/verification limited
- PDL is *used* for research and stability is important
* PDL3 == second system
- PDL3 was a term to separate PDL-2.x architecture from
a refactored implementation
- For stability, the idea was to use PDL3 to reimplement the PDL core
- Allow support for PDL-2.x
- Ideally PDL3 core could be used instead of PDL/Basic/Core stuff
- Trying to avoid Numpy->Numeric->NumPy mess that python went through
* PDL::Tiny
- POGL (Perl OpenGL) needs a minimal but powerful array capability
- Other modules reinvent computation tools
- Gives a chance for direct work on the new PDL3 core capability
- Setting up github for fast iteration and my own education
- not coupled to PDL-2.x development except desire interoperable
* RPerl for PDL3
- ?
* Support for row major and col major ordering in PDL3
- PDL3 (hence PDL::Tiny) has improved type and data layout support
- Specific use cases on what is desired are needed
- It should be up to the user which data ordering is used
- To what level can this be supported?
* Use of Roles in PDL3 / PDL::Tiny
- Yes!
- Allow better structure for PDL
- PDL3 as a whole <-> like many PDL-2.x capabilities
- But can look at by role/component
- Elegant, general, compatible with perl5 oo and perl6 oo ideas
* Discussion of *.pd -> *.xs.PL
- *.pd was the original file name for PP XS extensions
- given the issues with http://search.cpan.org and http://metacpan.org
changing to *.xs.PL seems to make sense.
- Might be worth looking at perldl and pdl-porters archives for previous
discussions and decision process on the topic
* Plan for PDL3
- Start kernel out
- Build in types, data, other requirements
- Moo[se] seems elegant and powerful way to express
- Performance is king so we need to monitor
- idea use a C-OO framework to implement PDL3 OO at the C layer
- Call perl from C
- Call C from perl
- PDL3 methods could be called from both/either
- Allow interoperate with both C and C++ levels of libraries
- Enlightenment Object model is possible candidate
- Need to develop specification
- Add support for Moo roles and method modifiers
- Seems easier to start here then to roll our own
* Discussion of moving PDL web site to static github
- Seems reasonable but needs support
- We didn't have any volunteers the last time this was proposed
- With maintainer it would be nice to have more timely web support
As you can see, there is a lot going on of interest that would be nice to
have input into our development work. I welcome any ideas or further
discussion. Please feel free to join #pdl for discussion but *please* take
the time to collect the good ideas and bring them in for more formal
discussion. I hate to see good ideas going to waste but, frankly, this
pulling gold out of the stream bed by hand is something that should be
handled by the #pdl discussion participants themselves.
Suggestions to make that possible, VERY welcome,
Chris
*
coordinate PDL development efforts.
A persistent difficulty is that there is a sort of impedance mismatch
between users of #pdl and perldl or pdl-porters list users in terms of
expectations and how problems might be posed and solved. Unfortunately,
there are some pretty interesting points being discussed but to date, no
one has figured out a way to bring those ideas into perldl or pdl-porters
for the record. I've tried reviewing the logs when I am able to and
responding asynchronously. That didn't work because the difference is more
one of expectations between the user approaches rather than just the
discussions themselves.
I'm not able to participate regularly in #pdl but I did try to join #pdl
more often with the hopes of improving communication around the Aug 2014
timeframe. The outcome wasn't positive in the sense that I burned several
days of PDL time trying to communicate with little PDL development to show
and no idea about how better to get #pdl ideas into PDL development. I'm
happy to have some time this winter to get back to PDL development. I
would be happier if we could figure out how to keep development and
contributors moving constructively forward more consistently.
Here are some of the topics from the last couple of weeks that were
interesting to me and some thoughts
* A new perl array extension Array::APX
- It appears to be perl only
- It might be useful that PDL::Tiny support a perl-only version (same
sugar, no XS)
* Inline::ExtUtils::Depends support for PDL
- Still working on the git clean up
- It'll be in PDL-2.008 or sooner with help
* PDL release schedule
- We're on an about 1 release per year
- Mostly developer and test/verification limited
- PDL is *used* for research and stability is important
* PDL3 == second system
- PDL3 was a term to separate PDL-2.x architecture from
a refactored implementation
- For stability, the idea was to use PDL3 to reimplement the PDL core
- Allow support for PDL-2.x
- Ideally PDL3 core could be used instead of PDL/Basic/Core stuff
- Trying to avoid Numpy->Numeric->NumPy mess that python went through
* PDL::Tiny
- POGL (Perl OpenGL) needs a minimal but powerful array capability
- Other modules reinvent computation tools
- Gives a chance for direct work on the new PDL3 core capability
- Setting up github for fast iteration and my own education
- not coupled to PDL-2.x development except desire interoperable
* RPerl for PDL3
- ?
* Support for row major and col major ordering in PDL3
- PDL3 (hence PDL::Tiny) has improved type and data layout support
- Specific use cases on what is desired are needed
- It should be up to the user which data ordering is used
- To what level can this be supported?
* Use of Roles in PDL3 / PDL::Tiny
- Yes!
- Allow better structure for PDL
- PDL3 as a whole <-> like many PDL-2.x capabilities
- But can look at by role/component
- Elegant, general, compatible with perl5 oo and perl6 oo ideas
* Discussion of *.pd -> *.xs.PL
- *.pd was the original file name for PP XS extensions
- given the issues with http://search.cpan.org and http://metacpan.org
changing to *.xs.PL seems to make sense.
- Might be worth looking at perldl and pdl-porters archives for previous
discussions and decision process on the topic
* Plan for PDL3
- Start kernel out
- Build in types, data, other requirements
- Moo[se] seems elegant and powerful way to express
- Performance is king so we need to monitor
- idea use a C-OO framework to implement PDL3 OO at the C layer
- Call perl from C
- Call C from perl
- PDL3 methods could be called from both/either
- Allow interoperate with both C and C++ levels of libraries
- Enlightenment Object model is possible candidate
- Need to develop specification
- Add support for Moo roles and method modifiers
- Seems easier to start here then to roll our own
* Discussion of moving PDL web site to static github
- Seems reasonable but needs support
- We didn't have any volunteers the last time this was proposed
- With maintainer it would be nice to have more timely web support
As you can see, there is a lot going on of interest that would be nice to
have input into our development work. I welcome any ideas or further
discussion. Please feel free to join #pdl for discussion but *please* take
the time to collect the good ideas and bring them in for more formal
discussion. I hate to see good ideas going to waste but, frankly, this
pulling gold out of the stream bed by hand is something that should be
handled by the #pdl discussion participants themselves.
Suggestions to make that possible, VERY welcome,
Chris
*