Lecture
-
31 Gen 2025 (1h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
Presentazione corso SP2
18 Feb 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
01: introduction to computer hardware and software; algorithms; instruction sets and programming languages
19 Feb 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
02: introduction to programming languages: from assembly to high-level; execution models; programming paradigms; introduction to the Fortran language/standard; basic data types
25 Feb 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
03: variable names and data identifiers; specification of numerical precision; introduction to a long-term project to illustrate Fortran's features inside a larger program: "zmat2xyz": introduction to the Z-matrix and XYZ formats, application to the simple case of dihydrogen; character-set definition; implicit and explicit typing; variable initialization
26 Feb 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
04: arrays in Fortran: multi-dimensional specifications, reshaping, sub-arrays, initialization; static vs dynamic allocation; deferred-character length; variable assignment and data conversions; arithmetic and string operations
04 Mar 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
05: relational expressions; logical expressions; array operations; control statements: conditions (if, select case, where) and loops (do, do while, forall/do concurrent), implicit loops
05 Mar 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
06: data transfer in Fortran: file opening/closing and units; processor-dependent input/output media; read/write operations; direct vs sequential access; C-compatibility with stream access
11 Mar 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
07: asynchronous data transfer; file status query and the inquire statement; string formatting for input/output: list-directed I/O, format specifications: data representation, editing descriptors
18 Mar 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
08: Fortran namelists for streamlined user interactions; execution controls; presentation of procedures available in Fortran: functions and subroutines: definition and reference.
19 Mar 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
09: Procedure arguments: dummy arguments; optional arguments, intent, positional vs keyword reference; memory allocation and procedures; data persistency; external vs internal procedures: implicit and explicit interfaces; procedures as arguments; attributes of procedures; program units and scope of variables; the block construct to create a local space inside a program unit
20 Mar 2025 (4h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
laboratorio 01
25 Mar 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
10: modules and libraries in Fortran; selective load of module components; modules interfaces; submodules; generic interfaces; visibility and variable protection;
26 Mar 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
11: presentation of some useful intrinsic procedures provided by the Fortran standard
08 Apr 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
12: continuation of presentation of intrinsic procedures: bit transfers, arrays-specific routines, date/time, random numbers
09 Apr 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
13: intrinsic procedures for system-dependent operations: command execution, command-line arguments, environment variables; assessment of memory usage; the iso_fortran_standard module to provide information on the actual implementation of the standard on the machine; the IEEE-754 related modules: ieee_arithmetic, ieee_exceptions, ieee_features, to ensure reproducible behaviors over different hardware and check hardware numerical operations capabilities.
15 Apr 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
14: block labels; pointers; abstract interfaces; Fortran derived types and object-oriented programming; classes and variable polymorphism
16 Apr 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
15: the "associate" construct; the "select type" construct; type-bound procedures; intrinsic procedures for type inquiry; class inheritance; attributes encapsulations and accessor methods; interface overloading
22 Apr 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
16: introduction to the compilation process; the role of the preprocessor; optimization through compilation flags: limits and differences between compilers; the linker and linking to external libraries
23 Apr 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
17: automation of the compilation process with "make": introduction, description of the language; construction of a rules file
29 Apr 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
18: parallel programming: basic concepts, introduction to execution models and libraries; presentation of the OpenMP language for shared-memory processors; use of OpenMP pragmas in Fortran sources; preprocessor directives; I/O operations
30 Apr 2025 (2h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
19: parallel programming: task parallelization vs SIMD instructions; race conditions and atomic operations
06 Maggio 2025 (4h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
laboratorio 02
14 Maggio 2025 (4h 00m)
JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza
laboratorio 03
Vai alla Ricerca avanzata