Selecting your Compiler for Fortran Code and C-Code

This article is intended to help users to select a Fortran and C-code compiler for use with PSCAD.

PSCAD uses a Fortran compiler and a C-compiler to compile Fortran code and C-code into executable files, which are launched to perform the numerical calculations for the simulation. These results are sent to PSCAD during the simulation for display.

Two compilers are suported for use with PSCAD, GFortran and the Intel® compiler.

GFortran

GFortran is a third-party compiler that is available to PSCAD users for free. The GFortran compiler compiles both Fortran code and C-code, and is suitable for small to medium-sized projects.

GFortran – Selecting a Suitable Version

The following should be considered for selecting the most suitable version of GFortran:

  • Compatibility with pre-compiled libraries or object files (if any): See this article.

Note
The supported version should normally be specified by the supplier of the pre-compiled files.

  • Compatibility with PSCAD: See Chart 2.a of the PSCAD Compatibility Charts document, posted here.

Note
There are three versions of GFortran, each supported with specified versions of PSCAD.

GFortran - Setting up Software

Setup information for GFortran is available on this page.

Intel® Compiler

The Intel® compiler (IVF) is a third-party, commercially available software that is recommended for compiling larger and more complex PSCAD projects due to its superior simulation speed, debugging environment and optimization features. IVF compiles projects faster than GFortran, and also produces simulations that run up to 25% faster than GFortran. IVF is used to compile Fortran code and C-code in conjunction with another third-party software, Microsoft® Visual Studio (VS), due to its dependency on VS tools. Information on selecting and obtaining a suitable edition and version of VS is available in Selecting your Microsoft® Visual Studio Software.

IVF – Selecting a Suitable Version

The following should be considered for selecting the most suitable version of IFV:

  • Compatibility with pre-compiled libraries or object files (if any): See this article.

Note
The supported versions should normally be specified by the supplier of the pre-compiled files.

  • Compatibility with PSCAD: See Chart 2.a of the PSCAD Compatibility Charts document, posted here.
  • Compatibility with VS: See Chart 4 of the PSCAD Compatibility Charts document, posted here.
  • Whether VS Shell Edition comes bundled: For older Intel compiler versions (v19.0 Update 2 and older), the VS Shell Edition, supported with PSCAD, comes bundled with the licensed edition of Intel software. See Chart 5 of the PSCAD Compatibility Charts document, posted here.

Notes
The VS Shell Edition does not come bundled with Intel 19.0 Update 3+, nor with an Intel trial license)
The VS Shell Edition does not have a c-compiler, so should not be selected if your project contains C-code.

IVF – Selecting a Suitable Edition

For v19.1 and older, the Intel® Parallel Studio Composer Edition for Fortran for Windows is the recommended edition for use with PSCAD. However, the Professional edition and the Cluster edition are also suitable.

For v19.2, the Intel oneAPI is suitable for use with PSCAD.

NOTE - The Parallel Studio Composer Edition is no longer available for sale as of December 31, 2020. Please refer to this article for information on the new Intel oneAPI replacement.

IVF - Selecting the 32-bit or 64-bit Edition

The first consideration is compatibility when sharing pre-compiled objects and libraries. Pre-compiled objects and libraries may only be run using the same edition type:

  • The 32-bit edition is compatible for running files pre-compiled with the 32-bit edition
  • The 64-bit edition is compatible for running files pre-compiled with the 64-bit edition

Note - Currently, it appears that most manufacturers provide 32-bit libraries.

The second consideration is project size: The 64-bit edition should be selected for extremely large simulations.

Please note that speed is not a consideration for this section: The 64-bit edition is slightly faster than the 32-bit edition, but not by a significant amount.

IVF – Selecting a Suitable License Type

There are three types of licenses for IVF:

  • The Named-User license, can be installed on more than one machine, but only used by one user.

  • The Floating License is hosted on the customer’s server, and shared with client machines over the network. This type of license is no longer available from Intel, but existing licenses and older versions of Intel are still supported.

  • The new Concurrent License was introduced with Intel v19.2 (oneAPI). The license can be installed on multiple client machines, "for use by no more than the authorized number of concurrent users".

Further information on IVF licensing is available on this webpage.

IVF - Obtaining a License

Both the Named-User and Concurrent licenses may be purchased through Intel. A Named-User License may also be purchased through MHI (sales@pscad.com).

IVF – Active Product Support

Please refer to this webpage regarding IVF licensing and "Active Product Support”.

IVF - Setting up the Software

Information on setting up the IVF and VS software for use with PSCAD is available on this webpage. This information pertains to the IVF Licensed edition, as well as to the free time-limited IVF Trial Edition.

Please feel free to contact the MHI Support Desk if you have any questions (support@mhi.ca).

Back