[Beowulf] Java vs C++ for interfacing to parallel library
Joe Landman
landman at scalableinformatics.com
Mon Aug 21 17:46:29 PDT 2006
Robert G. Brown wrote:
>> Obviously this is a trivial example, but if you create a reasonable set
>> of API's that you can express as we have indicated, even pass function
>> prototypes in using a header file, and a little config stuff at the
>> front end to give paths to libraries, this is not generally very hard.
>
> I'm a bit skeptical about this for heavy lifting. As in, could you
> encapsulate the GSL in this way? I doubt it.
As do I now.
After spending a little time playing with it, I discovered that it is
very good at wrapping trivial things trivially.
I took a simple GSL program I used to introduce students to GSL, that
was a modified example from one of the GSL example files. Basically a
little Hooke's law bit to use as input to an LU solver. Really short
GSL program.
What I discovered is that it doesn't take much to make this not work.
:( Specifically passing arrays and vectors back and forth between
C/Perl is hard (IMO).
Since I don't do this on a regular basis, this isn't so bad. Also there
is this PDL thing
(http://search.cpan.org/~csoe/PDL-2.4.3/Basic/Pod/Impatient.pod) which
doesn't look so bad, but it still doesn't solve the issues I want solved.
>> Only when you have some ... odd ... structures or objects passing back
>> and forth which require a bit more work.
>
> What's an odd structure?
As I have discovered ... odd structures are arrays ... and anything more
complex :(
[...]
>> Python has similar facilities. Generally speaking the dynamic
>> languanges (Perl, Python, Ruby) are pretty easy to wrap around things
>> and link with other stuff, as long as the API/data structures are pretty
>> clean.
>
> Ay, that's the rub...;-) That and what you consider "pretty easy"...:-)
Less time than I spent on this so far !
--
Joseph Landman, Ph.D
Founder and CEO
Scalable Informatics LLC,
email: landman at scalableinformatics.com
web : http://www.scalableinformatics.com
phone: +1 734 786 8423
fax : +1 734 786 8452 or +1 866 888 3112
cell : +1 734 612 4615
More information about the Beowulf
mailing list