SubjectsSubjects(version: 964)
Course, academic year 2024/2025
   Login via CAS
Fortran and parallel programming - NPRF031
Title: Fortran a paralelní programování
Guaranteed by: Department of Atmospheric Physics (32-KFA)
Faculty: Faculty of Mathematics and Physics
Actual: from 2024
Semester: summer
E-Credits: 6
Hours per week, examination: summer s.:2/2, MC [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Guarantor: Mgr. Vladimír Fuka, Ph.D.
doc. Mgr. Michal Belda, Ph.D.
Teacher(s): Mgr. Vladimír Fuka, Ph.D.
Classification: Physics > Mathematics for Physicists
Annotation -
Programming in the modern form of the Fortran language and parallel computing using the MPI library and openMP threads
Last update: Mikšovský Jiří, doc. Mgr., Ph.D. (05.05.2023)
Aim of the course -

Parallel programming in the Fortran programming language with emphasis on its modern form (2008 and newer). Distributed memory parallel programming (MPI).

Last update: Fuka Vladimír, Mgr., Ph.D. (03.12.2024)
Course completion requirements -

Final programming project, demonstration of a compilable Fortran source code and the results of the program. The student selects a project topic from the topics proposed by the teacher or proposes their own topic.

Last update: Fuka Vladimír, Mgr., Ph.D. (20.01.2023)
Literature - Czech

(1) Michael Metcalf, John Reid, Malcolm Cohen: Modern Fortran explained. Oxford University Press, 2011-2023. (several editions, the most recent includes Fortran 2023)

(2) Michael Metcalf, John Reid, Malcolm Cohen: Fortran 95/2003 explained. Oxford University Press, 2004.

(3) Stephen J. Chapman: Fortran 95/2003 for scientists and engineers.McGraw-Hill Higher Education, 2008.

(4) Benedikt Steinbusch: INTRODUCTION TO PARALLEL PROGRAMMING WITH MPI AND OPENMP, Jülich Supercomputing Centre, 2022. https://www.fz-juelich.de/en/ias/jsc/education/training-courses/training-materials/course-material-introduction-to-mpi-and-openmp-feb-2022/mpi-omp-article/@@download/file

(5) John Reid: The new features of Fortran 2003, ISO/IEC JTC1/SC22/WG5 N1648, https://wg5-fortran.org/N1601-N1650/N1648.pdf

(6) John Reid: The new features of Fortran 2008, ISO/IEC JTC1/SC22/WG5 N1891, https://wg5-fortran.org/N1801-N1850/N1828.pdf

(7) John Reid: The new features of Fortran 2018, ISO/IEC JTC1/SC22/WG5 N2161, 2018. https://wg5-fortran.org/N2151-N2200/ISO-IECJTC1-SC22-WG5_N2161_The_New_Features_of_Fortran_2018.pdf

(8) John Reid: The new features of Fortran 2023, ISO/IEC JTC1/SC22/WG5 N2212, 2023. https://wg5-fortran.org/N2201-N2250/N2212.pdf

Last update: Fuka Vladimír, Mgr., Ph.D. (03.12.2024)
Teaching methods -

Lectures and practical programming using PC.

Last update: Fuka Vladimír, Mgr., Ph.D. (20.01.2023)
Syllabus -

1. History of Fortran. Fortran standards.

2. Modern Fortran (2008 and more recent)

a) source file formats

b) types of variables, specification statements

c) expressions and assignments

d) control constructs

e) program units and procedures

f) arrays

g) intrinsic procedures

h) input and output operations, external files

i) historical features - fixed format, FORTRAN 77, obsolescent and deleted features of Fortran

j) available compilers, working with a compiler, command line usage, development environments

k) interoperability with C - only for students with basic knowledge of the C language

l) object oriented programming

m) various minor extensions

4. Basics of parallelization using MPI

a) basic principles of parallelization: shared/distributed memory, threads/processes

b) MPI library

c) message passing between processes

d) collective operations

e) coarrays in Fortran 2008 and more recent standard revisions

Last update: Fuka Vladimír, Mgr., Ph.D. (03.12.2024)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html