Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Intel compiler for students

Gaggioli__Enzo
Beginner
1,251 Views

Hi. I'm a physics student from Argentina. I am writting fortran programs to model some physical processes. I wanted to try the intel compiler, as the computations I am doing are very intensive, and I have seen that the intel compiler is faster thatn the gnu compiler which I am currently using. As running the codes is very time consuming, I think that the intel compiler could save me some time.

However, I have never worked with the intel compiler before, and I'm not sure on how to install it. Moreover, I have a laptop which I use when I am in home. And I have another computer which I use at the university where I study. It is personal, the university bought it for me, and nobody else but me uses that computer. Most of the time I am working on my project, I use the computer at the university. However, some times in the weekends I like to work at my home. And the question is if I can install the student edition of the fortran compiler in both computers: my laptop, and the one at the university, both are for my personal use.

I've also heard that some commands differ in fortran for the intel compiler and for the gfortran compiler (for example, I use a call system and boolean logic to create directories, and I think that the commands I use for that differ for the gnu compiler, and the intel compiler) and I would like to know if there is any resources that lists the different commands I should use in order to go from one compiler to the other, so I can translate whatever needs to be translated.

Kind regards.

0 Kudos
1 Solution
DataScientist
Valued Contributor I
1,251 Views

I don't know much about the ifort license, but as a student, you can download the entire Intel Parallel Studio (including Fortran/C compilers and all the impressive numerical and parallel libraries) for free and use it for one year, on at least one device (or perhaps more, I am not sure). Intel Parallel Studio is what I recommend my students to use in my classes.

There is no difference between Intel and GFortran implementations of the "Standard Fortran" so long as you stick to the Fortran standard, and both compilers are pretty much up to date, even including parts of the Fortran 2018 standard (e.g., some of the new Coarray parallel programming features). GNU Fortran is slightly ahead in this regard.

As per the installation procedure,

  1. Download the Microsoft Visual Studio Community edition 2017 for free from their website and install it on your computer (this takes about 10Gb space of your computer).
  2. Obtain a license for Intel Parallel Studio from their website, download it and install it AFTER Microsoft Visual Studio installation is complete. Pay attention to all the warnings by the Intel parallel studio installer. If a component is missing according to the warning, first resolve the missing parts before going ahead with complete installation, otherwise, your installation of Intel Studio could fail.
  3. Open the MS Visual Studio (VS) to "create a new Fortran application" as given in the VS options. You can also search windows programs menu for Intel Compiler's specificly-designed "command prompt" for using Intel compiler ifort on the command line, which gives you a feeling more like the Linux environment.

View solution in original post

0 Kudos
5 Replies
DataScientist
Valued Contributor I
1,252 Views

I don't know much about the ifort license, but as a student, you can download the entire Intel Parallel Studio (including Fortran/C compilers and all the impressive numerical and parallel libraries) for free and use it for one year, on at least one device (or perhaps more, I am not sure). Intel Parallel Studio is what I recommend my students to use in my classes.

There is no difference between Intel and GFortran implementations of the "Standard Fortran" so long as you stick to the Fortran standard, and both compilers are pretty much up to date, even including parts of the Fortran 2018 standard (e.g., some of the new Coarray parallel programming features). GNU Fortran is slightly ahead in this regard.

As per the installation procedure,

  1. Download the Microsoft Visual Studio Community edition 2017 for free from their website and install it on your computer (this takes about 10Gb space of your computer).
  2. Obtain a license for Intel Parallel Studio from their website, download it and install it AFTER Microsoft Visual Studio installation is complete. Pay attention to all the warnings by the Intel parallel studio installer. If a component is missing according to the warning, first resolve the missing parts before going ahead with complete installation, otherwise, your installation of Intel Studio could fail.
  3. Open the MS Visual Studio (VS) to "create a new Fortran application" as given in the VS options. You can also search windows programs menu for Intel Compiler's specificly-designed "command prompt" for using Intel compiler ifort on the command line, which gives you a feeling more like the Linux environment.
0 Kudos
Gaggioli__Enzo
Beginner
1,251 Views

Hi. Thank you for your reply. I forgot to say that I'm a linux user, I work on ubuntu. The programs I am writting are written in fortran 77 standard, I'm not using coarrays nor anything like that (I've never learn't much beyond FORTRAN77, except for the allocatable statement from Fortran 90).

In order to better exploit the compiler capabilities, should I consider to move to a newer Fortran? I was planning to parallelize the code in the future using mpi. Are the newer Fortran standards more efficient than Fortran 77?

Thanks.

0 Kudos
DataScientist
Valued Contributor I
1,251 Views

You should definitely move to Fortran 2008 and beyond. Unless you are already working with some large FORTRAN77 code-base, the potential gains of moving to the newest Fortran standard are enormous. You may not gain much in terms of computation efficiency by moving to newer Fortran standards. However, the modern Fortran syntax will GREATLY improve your programming productivity and code maintenance in the long-run.

The ifort team has consistently kept up with the pace of the new Fortran standards. The coarray parallel programming model and syntax is in my opinion, an excellent powerful substitute to MPI. My group members use Fortran Coarrays on a daily basis in our software.

 

0 Kudos
Gaggioli__Enzo
Beginner
1,251 Views

Hi A. King. Thanks for your reply. 

I have written several programs in FORTRAN77 standard (at this moment, I must have around 10 thousand lines written in this standard, some programs are better written than others, and some are useful and some are not). I have used in some of my programs some of the Fortran90 utilities, basically allocatable arrays which in some circumstances were needed.

However, regarding computation efficiency, I think that FORTRAN77 is superior than newer standards. I base this idea in that I have assisted to a school where a very renowned scientists who lead some large project (they simulate some physical processes) that require very heavy computations, and they write their code in FORTRAN77 standard, because, according to him, it is better that way. He didn't gave any details in his talk about it, but he mentioned that the codes were written in FORTRAN77 standard for a reason.

0 Kudos
Juergen_R_R
Valued Contributor I
1,251 Views

However, regarding computation efficiency, I think that FORTRAN77 is superior than newer standards. I base this idea in that I have assisted to a school where a very renowned scientists who lead some large project (they simulate some physical processes) that require very heavy computations, and they write their code in FORTRAN77 standard, because, according to him, it is better that way. He didn't gave any details in his talk about it, but he mentioned that the codes were written in FORTRAN77 standard for a reason.

 

Fortran 77 is a subset of any newer Fortran Standard, so besides of a few deleted features which are in any case further supported by the compilers (be it Intel of GNU fortran or PGI) a valid (standard-conforming) Fortran 77 program is also a valid (standard-conforming) Fortran 2018 program. There are zillions of discussions on comp.lang.fortran on the question about whether Fortran 77 is better or worse than the modern standards, and the general opinion is that regarding maintenance and extendability as well as bug/error management modern Fortran standard offer incredibly better possibilities. Of course, one has to consider the type of the program, whether you have a full program with its infrastructure regarding data management, I/O and steering of numerical simulations, or the core routines which do the numerical simulations themselves. This makes a huge difference. In many modern applications the "frontend" of many modern (science/research) computer programs has moved to languages like Python, and only the numerical backends have remained (or newly written) in Fortran. But even then I would not want to miss all the features of modern Fortran. I cannot imagine even in a numerical simulation how I could not use allocatables for example.  

0 Kudos
Reply