f



From Scripting to Scaling: Multi-core is challenging even the most battle-scared programmer

I don't see why learning Fortran 95 (or enough C++) should be such a
hurdle for people who have problems that are taking too long run in
Matlab or Python. A related thread from June 2009 in this newsgroup
was "Should Fortran be taught to Undergraduates?"

http://www.scientificcomputing.com/articles-HPC-From-Scripting-to-Scaling-0=
41210.aspx
From Scripting to Scaling
Multi-core is challenging even the most battle-scared programmer
Craig Lucas

Over the past year or so, whenever I talk to anyone involved in the
support of researchers who use HPC facilities and the subject of
programming  comes up, there seems to be a growing consensus. The next
generation of scientific programmer is not using Fortran or C/C++. An
increasing number of researchers can fulfil their computational needs
using Python or MATLAB, or some other packages/high level languages.
Recently, someone came to HECToR,1 the UK=92s Supercomputing Service,
with a MATLAB script wanting to run much larger simulations than their
desktop allowed. So, what do we tell researchers like this?
I am sure many would be tempted to raise an eyebrow and say you should
have learned a more, shall we  say, traditional scientific computing
language when you were an undergraduate! That debate rages on and on
as this recent contribution shows,2 so we will avoid that here.
However, I did recently teach Fortran to some graduate students who
had only used MATLAB thus far and had Fortran 77 thrust upon them by
their supervisor. The sheer panic in their faces only went to
reinforce the simplicity of prototyping that some people find in
scripting languages like MATLAB, that they don=92t in lower-level
languages.

I also am not going to debate why people use Python, MATLAB, et al.
Their usability, flexibility, easy graphics, fast prototyping
capability, post processing features, interactivity, ease-of-data
generation, clean syntax and the whole range of modules/toolboxes that
are available are well documented. It is easy to see why they are so
attractive.

I am a big believer in the scientist being allowed to do their
science, and spending a large amount of their research time learning a
new language and then learning a parallel one too doesn=92t seem a great
use of time, especially as those Ph.D. years tick away. So, the
question is: Is that what should they do?

<rest at link>
0
beliavsky (2213)
7/2/2010 1:50:50 PM
comp.lang.fortran 11941 articles. 2 followers. Post Follow

3 Replies
517 Views

Similar Articles

[PageSpeed] 28

On Fri, 2 Jul 2010 06:50:50 -0700 (PDT), Beliavsky <beliavsky@aol.com>
wrote:

>I don't see why learning Fortran 95 (or enough C++) should be such a
>hurdle for people who have problems that are taking too long run in
>Matlab or Python. A related thread from June 2009 in this newsgroup
>was "Should Fortran be taught to Undergraduates?"
>
>http://www.scientificcomputing.com/articles-HPC-From-Scripting-to-Scaling-041210.aspx
>From Scripting to Scaling
>Multi-core is challenging even the most battle-scared programmer
>Craig Lucas
>
< snip snip >

>
>I am a big believer in the scientist being allowed to do their
>science, and spending a large amount of their research time learning a
>new language and then learning a parallel one too doesn’t seem a great
>use of time, especially as those Ph.D. years tick away. So, the
>question is: Is that what should they do?
>
><rest at link>

Nice article,

but as always, leaves us with that unanswerable question. It wasn't
answerable 30 years ago, it isn't now, IMHO. To each his own.

But I'm wondering, why is OpenMP not mentioned ? Is it that not used
in contrast to ...MPI ?

Friedrich
0
Friedrich
7/2/2010 2:38:19 PM
On 2 July, 15:38, Friedrich <friedrich.schwa...@wahoo.with.a.y.com>
wrote:
> On Fri, 2 Jul 2010 06:50:50 -0700 (PDT), Beliavsky <beliav...@aol.com>
> wrote:
>
> >I don't see why learning Fortran 95 (or enough C++) should be such a
> >hurdle for people who have problems that are taking too long run in
> >Matlab or Python. A related thread from June 2009 in this newsgroup
> >was "Should Fortran be taught to Undergraduates?"
>
> >http://www.scientificcomputing.com/articles-HPC-From-Scripting-to-Sca...
> >From Scripting to Scaling
> >Multi-core is challenging even the most battle-scared programmer
> >Craig Lucas
>
> < snip snip >
>
>
>
> >I am a big believer in the scientist being allowed to do their
> >science, and spending a large amount of their research time learning a
> >new language and then learning a parallel one too doesn=92t seem a great
> >use of time, especially as those Ph.D. years tick away. So, the
> >question is: Is that what should they do?
>
> ><rest at link>
>
> Nice article,
>
> but as always, leaves us with that unanswerable question. It wasn't
> answerable 30 years ago, it isn't now, IMHO. To each his own.
>
> But I'm wondering, why is OpenMP not mentioned ? Is it that not used
> in contrast to ...MPI ?
>
> Friedrich


Well I'll comment on behalf of one of my colleagues ...

The main machine we deal with is reasonably big, ~40000 cores. Now on
the old machine you could only use up to 4 cores with OpenMP. On the
new its 24, but 24 << 40000. Hence the vast majority of people on it
use pure MPI as it's about the only standard way to exploit such a
machine. A few use mixed mode, but while I think (like Tim in another
thread) that mixed OenMP+MPI will become more important, I strongly
believe that for the next few years pure MPI will be the dominant
paradigm on such machines,

Ian
0
Ian
7/2/2010 5:44:18 PM
> The next
> generation of scientific programmer is not using Fortran or C/C++. An
> increasing number of researchers can fulfil their computational needs
> using Python or MATLAB, or some other packages/high level languages.
The idea that Python/Matlab is any easier than Fortran (as far as
scientific computing is concerned) is just not true. People who say
that very likely have not used Fortran 95.

I say that because I have *been* in situations where I had to rewrite
Matlab codes written by others in Fortran because of scalability
issues and flexibility in choosing linear algebra solvers.

> I also am not going to debate why people use Python, MATLAB, et al.
> Their usability, flexibility, easy graphics, fast prototyping
> capability, post processing features, interactivity, ease-of-data
> generation, clean syntax and the whole range of modules/toolboxes that
> are available are well documented. It is easy to see why they are so
> attractive.
<rant>
Matlab is basically an expensive dumbed down wrapper around Lapack,
Blas, FFTW, Chlomod (solver) etc. with built in viz and a tonne of
bloat. It is funny that people actually pay for it.
</rant>
0
rusi_pathan
7/4/2010 12:43:25 AM
Reply: