Intro to ARC series: “Introduction to Fortran”

This course is a part of SHARCNET’s ongoing “Introduction to Advanced Research Computing” series of online courses for 2021-2022. Compute Canada account is required to enroll.To register for any of the courses:

• Follow this link: https://training.sharcnet.ca
• Click the Log in link at the top right-hand side
• Log in with your Compute Canada login and password
• Click Site Home in the left-hand side menu
• Click 2021-2022 Introduction to Advanced Research Computing (ARC)
• Browse the list of (currently available) courses and enroll in the ones you are interested in
• To enroll in a course click on the course name and then click on that course’s enroll button


Course Syllabus:

Since the introduction of the milestone of Fortran 90 standard, Fortran has become very different from its ancestor with many new modern language features. Inherited from old FORTRAN standards and enhanced by the newer ones, Fortran is still the language of choice for scientific computing for its intrinsic support for real and complex floating point operations. Its array handling, enhanced by index slicing, makes array processing similar or identical to its counterparts, such as MATLAB, hence superior to any other programming languages. The unified interface of intrinsic functions for all data types makes translating mathematical expressions to computer programmes a lot cleaner and easier. Further, since the standard 2008, the introduction of co-arrays has made writing parallel code that can run on multiple core computers and clusters trivial, one needs not to know the traditional message passing interface (MPI) library, nor threading. They are built into the syntax of the language itself.

This course is a companion to the C++ course, where you will find the features missing from Fortran that are more essential to general purpose computing than number crunching. We will show some of the practice of interlanguage programming, through which the shortcomings of Fortran could be complemented by interfacing with C/C++.

No tickets available.
/