Re: High Performance Fortran compiler?
- From: Tobias Burnus <burnus@xxxxxxxx>
- Date: Thu, 30 Aug 2007 06:35:18 -0700
Hi,
On Aug 30, 11:31 am, Bart Vandewoestyne
<MyFirstName.MyLastN...@xxxxxxxxxx> wrote:
I am completely new to High Performance Fortran but I am interested
in getting to learn about it and experiment with it. I am therefore
looking for a freely available HPF compiler. My requirements are:
* It should support as much as possible the latest HPF Language
Definition as inhttp://hpff.rice.edu/versions/index.htm
As Bart has already written, the High-Performace Fortran (HPF)
language is rather dead; Fortran 95 incorporated some items such as
FORALL and nested WHERE constructs and user-defined PURE and ELEMENTAL
procedures.
The advantage of sticking to Fortran 95 is that (nearly) all Fortran
compiler support it.
As high-performance usually implies parallelization: Many compilers
support OpenMP (http://en.wikipedia.org/wiki/OpenMP) parallelization
of the programs. The nice thing about OpenMP is that one can
succeedingly change one's program into a parallel program.
Additionally it can be still and flawlessly compiled as serial
program.
(The disadvantage is that OpenMP is based on the concept of shared
memory thus it is not useful for distributed memory systems [ignoring
Intel's cluster OpenMP].)
Another alternative is to use MPI or similar libraries.
* It should be freely available (preferably Open Source or Public
Domain software). And I don't like trial periods of 30 days etc...
Both the g95 and gfortran are Open Source Fortan 95 compilers;
gfortran 4.2.0 (and newer) supports also OpenMP. In terms of speed
they are generally slower than the fastest commercial compiler, but
whether and by how much depends on your program, the commercial
compiler and the platform. On my AMD, ifort and sunf95 are on average
(geometric mean, Polyhedron test) 7% faster, Pathscale 16% faster than
gfortran 4.2.1/4.3.0 - but for some tests gfortran is fastest.
http://gcc.gnu.org/wiki/GFortran
http://g95.org/
The Sun Studio Fortran compiler is also free for non-commercial and
commercial use - at least if you use Solaris or Linux (i686 or
x86-64).
[By the way, you did not tell us about your platform.]
http://developers.sun.com/sunstudio/
Under certain restrictions, you might also be entitled to use the non-
commercial version of the Intel compiler under Linux.
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm
I had almost forgotten it: One can also use the Open64 compiler (ia64
and x86-64); it is also free, but supports essentially nothing of
Fortran 2003.
http://www.open64.net/
Taking into consideration my requirements, what would be the best compiler
for me to pick?
I like gfortran best, but I'm also biased as I started the participate
in its development; gfortran is compared with g95 faster (mostly since
g95 is based on GCC 4.0 or optionally on GCC 4.1), supports OpenMP and
(for legacy programs) Cray Pointers. On the other hand, g95 is (still)
a bit more mature (fewer Fortran bugs, some more Fortran 2003
features) - gfortran is catching up though.
Whatever your default compiler becomes, it makes sense to have several
compilers - at least if you develop programs. In that case, I think
gfortran and g95 are a must. (As they are based on the same code, it
cannot harm to have also further compilers to cross check.)
Tobias
.
- References:
- High Performance Fortran compiler?
- From: Bart Vandewoestyne
- High Performance Fortran compiler?
- Prev by Date: Re: High Performance Fortran compiler?
- Next by Date: Re: fortran character set
- Previous by thread: Re: High Performance Fortran compiler?
- Index(es):
Relevant Pages
|
|