[Beowulf] A start in Parallel Programming?
Nathan Moore
ntmoore at gmail.com
Tue Mar 13 14:33:25 PDT 2007
I have a few data points to add to the discussion:
(1) FORTRAN is easy to learn. I think most of the college kids I
work with could pick up 75% of the F77 language variant in an
afternoon's reading (a good reference for learning the important
parts of FORTRAN is "Classical Fortran" by Kupferschmid (http://
www.amazon.com/Classical-Fortran-Michael-Kupferschmid/dp/
0824708024). Amazon has half of the first chapter available for free
if you want a taste of the book.)
(2) Unfortunately, excellent fortran compilers cost money (there are
exceptions - g95 is pretty good, and intel's ifort is free for
academic use.)
(3) You'll need a numerical library if you want to do scientific
work. You can certainly write a 6th order Runge-Kutta routine from
scratch, but this takes a lot of time, and gets in the way of the
real research/work you should be getting accomplished. Along the
lines of RGB's sockets analogy, you could fabricate microprocessors
from silicon in your basement, but at some point you're making the
decision that building on other people's work is an ok use of your
time. Numerical libraries are similar. In my mind, one of the main
disadvantages of Fortran is that the Gnu Scientific Library is
written with a C interface. This is a fantastic library which
supersedes Numerical Recipes in almost every regard. (http://
www.gnu.org/software/gsl/)
(4) FORTRAN will likely not get you a programming job. Most every ad
I saw when looking mentioned Java, C#, or C++. Understanding how an
object-oriented language differs from a procedural language is
important - especially in an interview (or when trying to get past
resume screeners)!
(5) Finally, a personal anecdote: In my graduate research, my
production code was written in C++. C++ was used because I was
building off of another fellow's research and he wrote a huge class
that I used. The extensions I wrote were mainly procedural, so my C+
+ looked more like c-tran than something object oriented. With
regard to the C++'s STL, profiling revealed that the code spent most
of its time on memory allocation.
Nathan Moore
- - - - - - - - - - - - - - - - - - - - - - -
Nathan Moore
Physics, Pasteur 152
Winona State University
nmoore at winona.edu
AIM:nmoorewsu
- - - - - - - - - - - - - - - - - - - - - - -
More information about the Beowulf
mailing list