Scientific Programming II: High Performance Computing

Registro delle lezioni

Anno accademico 2025/2026
Docente Julien Roland Michel Bloino

Lecture

  • 28 Nov 2025 (1h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    Presentation of the course.

  • 04 Dic 2025 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    01 - introduction to computer software and hardware; the CPU; instruction sets architectures; assembly and high-level languages; introduction to the Fortran standard: history

  • 05 Dic 2025 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    02 - Fortran compilers; the Fortran standard; intrinsic types; kind specification for numerical types

  • 11 Dic 2025 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    03 - application of precision/range specification in project `zmat2xyz`; character length specification; implicit typing; Fortran constant and variable arrays; static vs dynamic allocations

  • 12 Dic 2025 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    04 - implicit allocation; assignments and expressions with intrinsic types and arrays; loops, conditions and unconditional branching.

  • 18 Dic 2025 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    05 - relational expression; unconditional branching; loops; conditions; array-specific blocks; file operations

  • 15 Gen 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    06 - data/text formatting in input and output; namelists as a simple system of option parsing; stopping the execution of a program; general layout of the main program unit in Fortran; application of basic concepts of the language in a project: parsing of a Z-matrix specification mixing variable definition and constants into a full numerical form.

  • 16 Gen 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    07 - introduction to procedural programming in Fortran: subroutines and functions; dummy arguments specification; explicit vs implicit interfaces; assumed-shapes and assumed-size arrays; arguments intent; internal and external procedures; variable namespace.

  • 22 Gen 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    08 - local variable specification within program units with the block constructs; module and submodules in Fortran: definition, allowed content, restrictions, name visibility, import; a brief overview of Fortran intrinsic functions for mathematical and character string operations.

  • 05 Feb 2026 (4h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    laboratorio 02: review of procedural programming in Fortran, modules and the use of intrinsic procedures.

  • 05 Feb 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    15 - parallel scheduling; the OpenMP directives; race conditions and barriers; atomic instructions

  • 06 Feb 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    Use of OpenMP in the zmat2xyz project; interfacing Fortran and C.

  • 12 Feb 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    09 - Fortran intrinsic procedures: molding; operating system-related subroutines, pseudo-random numbers; date and time specifications

  • 13 Feb 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    10 - intrinsic modules of Fortran: iso_fortran_env, IEEE-related; pointers

  • 19 Feb 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    11 - derived types; introduction to object-oriented programming in Fortran

  • 20 Feb 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    12 - object-oriented programming in Fortran: inheritance, type-bound procedures, operator overloading; introduction to the compilation process

  • 26 Feb 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    13 - the compilation process; optimization flags; introduction to make and the build process

  • 27 Feb 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    14 - more complex instructions in "make files": conditions, functions; introduction to parallel programming and the main models.

  • 05 Mar 2026 (4h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    laboratorio 02: review of procedural programming in Fortran, modules and the use of intrinsic procedures.

  • 05 Mar 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    15 - parallel scheduling; the OpenMP directives; race conditions and barriers; atomic instructions

  • 06 Mar 2026 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - Mista

    16 - Use of OpenMP in the zmat2xyz project; interfacing Fortran and C.