[proto]: rewriting POOMA and Blitz++

Hello, At some time Eric expressed that all the expression template based libraries of boost (notably Phoenix, Spirit) has to be re-written using proto. I think that this target is kind of achieved by now. Can something be done along the similar lines for re-writing the top-notch libraries like POOMA and Blitz++ as a complete examples of proto applications? Does anyone has idea about how huge this undertaking can be? Thanks, Chandra

Chandrashekhar Kumar wrote:
Can something be done along the similar lines for re-writing the top-notch libraries like POOMA and Blitz++ as a complete examples of proto applications?
Does anyone has idea about how huge this undertaking can be?
Well, I'm rewriting a lienar algebra library looking like blitz++ in Proto since 2 years now ;) -- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35

On Sun, Jun 14, 2009 at 2:10 PM, joel <joel.falcou@lri.fr> wrote:
Chandrashekhar Kumar wrote:
Can something be done along the similar lines for re-writing the top-notch libraries like POOMA and Blitz++ as a complete examples of proto applications?
Does anyone has idea about how huge this undertaking can be?
Well, I'm rewriting a linear algebra library looking like blitz++ in Proto since 2 years now ;)
Wow! This is awesome. Is it possible to get all of us benefitted by having an early access to your work on this? I just started diving inside POOMA internals(specially PETE's usage) with the idea to use proto instead. If for you, it has taken 2 years to rewrite something like blitz++ in proto, then for me rewriting POOMA might take no less than 6 years or so.

Chandrashekhar Kumar wrote:
Wow! This is awesome. Is it possible to get all of us benefitted by having an early access to your work on this?
The thing is boudn to be release on Sourceforge anyway. I don't like giving parts of incomplete, work-in-progress code cause people only remember the bad stuff. But I'm eager to share informations and tips on the matter anyway. -- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35

Chandrashekhar Kumar wrote:
Hello,
At some time Eric expressed that all the expression template based libraries of boost (notably Phoenix, Spirit) has to be re-written using proto.
Well no, I didn't say that. There were reasons for the move to Proto in all cases, mostly DSEL interoperability. Spirit.Qi and Spirit.Karma share terminals and host Phoenix expressions as semantic actions. Moving them all to Proto made sense. And the Spirit rewrite wasn't motivated by a move to Proto, either; that change went in at a later date. I haven't made (nor could I make) such a proclamation. Boost doesn't work that way.
I think that this target is kind of achieved by now.
The Phoenix rewrite is still a work in progress.
Can something be done along the similar lines for re-writing the top-notch libraries like POOMA and Blitz++ as a complete examples of proto applications?
Why?
Does anyone has idea about how huge this undertaking can be?
You don't see me volunteering. ;-) -- Eric Niebler BoostPro Computing http://www.boostpro.com

On Sun, Jun 14, 2009 at 9:52 PM, Eric Niebler <eric@boostpro.com> wrote:
Chandrashekhar Kumar wrote:
Hello,
At some time Eric expressed that all the expression template based libraries of boost (notably Phoenix, Spirit) has to be re-written using proto.
Well no, I didn't say that. There were reasons for the move to Proto in all cases, mostly DSEL interoperability. Spirit.Qi and Spirit.Karma share terminals and host Phoenix expressions as semantic actions. Moving them all to Proto made sense. And the Spirit rewrite wasn't motivated by a move to Proto, either; that change went in at a later date.
I haven't made (nor could I make) such a proclamation. Boost doesn't work that way.
Pl accept my apologies for making this wrong statement in your name. Instead I should have just quoted your comment made related to that(which I couldn't find out now somehow) when there was a discussion related to possible book on proto in past. I misunderstood the whole point made then, now it is clear to me in this context.
I think that this target is kind of achieved by now.
The Phoenix rewrite is still a work in progress.
Can something be done along the similar lines for re-writing the top-notch
libraries like POOMA and Blitz++ as a complete examples of proto applications?
Why?
I thought that this exercise can be another example of using proto, but it looks like I am wrong. I have to revisit my understanding of proto now.
Does anyone has idea about how huge this undertaking can be?
You don't see me volunteering. ;-)
I was being naive in thinking that just replacing PETE-related stuff in POOMA with proto will do the needful transition to make POOMA better and same I thought for Blitz++. My idea of proto and expression templates based design is completely shaken now. May be, I will take a break and revisit these again after a decent home work only. My sincere apologies for making such remarks with no base! Thanks, Chandra

On Jun 14, 2009, at 2:30 AM, Chandrashekhar Kumar wrote:
Hello,
At some time Eric expressed that all the expression template based libraries of boost (notably Phoenix, Spirit) has to be re-written using proto. I think that this target is kind of achieved by now.
Can something be done along the similar lines for re-writing the top- notch libraries like POOMA and Blitz++ as a complete examples of proto applications?
Does anyone has idea about how huge this undertaking can be?
Rewriting POOMA is a huge task - and I don't know whether proto has support for parallel programming using MPI or for multithreading yet. Our main reasons for using POOMA in some projects was the automatic parallelization. I'd seya you'll need a team of 3-4 people working on it for a year at least. Matthias

Rewriting POOMA is a huge task - and I don't know whether proto has support for parallel programming using MPI or for multithreading yet. Our main reasons for using POOMA in some projects was the automatic parallelization. I'd seya you'll need a team of 3-4 people working on it for a year at least. From my own experience, it's 3 years with 2 peopel for the multi-core
Matthias Troyer wrote: parts and again 2-3 years of 3 people for the MPI part ;) -- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35
participants (4)
-
Chandrashekhar Kumar
-
Eric Niebler
-
joel
-
Matthias Troyer