Prev: Pointer or (allocatable) array list ?
Next: From Scripting to Scaling: Multi-core is challenging even the most battle-scared programmer
From: Beliavsky on 2 Jul 2010 09:50 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 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 UKs 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 dont 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 doesnt 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>
From: Ian Bush on 2 Jul 2010 13:44 On 2 July, 15:38, Friedrich <friedrich.schwa...(a)wahoo.with.a.y.com> wrote: > On Fri, 2 Jul 2010 06:50:50 -0700 (PDT), Beliavsky <beliav...(a)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 doesnt 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
From: rusi_pathan on 3 Jul 2010 20:43
> 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> |