Modern Fortran
Offered By: Independent
Course Description
Overview
Programming a computer is the process of translating ideas into code that can be objectively interpreted by a computer and perform the operations that lead to a result.
To follow this tutorial, it is always helpful to understand how most programming languages operated. Most programming languages use the concept of variables and operations executed on those variables. Operations on variables are called functions or methods. The flow of operations is organized in sections that in some languages are also called functions, structures, and classes.
The code follows a path, starting from an initial line of execution it continues line after line. Sometimes they follow a different path according to the result of an operation. On other occasions, the path repeats itself over and over a certain number of times or until another condition is met. All this we will learn here in the context of a particular programming language called Fortran.
For parallel programming multiple instructions happen concurrently, potentially using the also multiple CPU cores on a machine a numerical accelerator such as a GPU, or even multiple machines. Some of our examples, in particular, those for OpenACC and CUDA Fortran can only be executed if you have a machine with an NVIDIA GPU. For distributed parallel programming with MPI, you can still execute the codes using a single machine even if the scope of MPI programming is to use the computational power of multiple
Syllabus
- Introduction to Modern Fortran
- Best Practices in Modern Fortran
- Exercises
- Adjurn
- Parallel Programming in Fortran
- OpenMP: Parallel Multiprocessing
- Exercises
- Adjurn
- OpenACC: Parallel Accelerators
- CUDA Fortran
- Exercises
- Adjurn
- MPI: Message Passing Interface
- Advanced Topics in MPI
- Exercises
- Final
Related Courses
Scientific ComputingUniversity of Washington via Coursera Biology Meets Programming: Bioinformatics for Beginners
University of California, San Diego via Coursera High Performance Scientific Computing
University of Washington via Coursera Practical Numerical Methods with Python
George Washington University via Independent Julia Scientific Programming
University of Cape Town via Coursera