August 5, 2023 to September 3, 2023
METU
Europe/Istanbul timezone

Organised by TÜBİTAK ULAKBİM and METU.

Date: August 5-6, 2023 & September 2-3 2023

Event Type: Training

Format: Hybrid (METU-Ankara/online)

Topic: Programming in FORTRAN/C/C++, Parallel Programming, Open source CFD

Overview: Basic / Intermediate Fortran/C/C++ programming for CFD, MPI, OpenMP, Hybrid parallel programming.

Agenda:  Introduction to Fortran, Declarations, Operators, Control Structures, Tables, I/O, Procedures (recursive procedures), Derived Data Types, Include, Memory Allocation, Intrinsic Functions. 

MPI: Introduction, Environment, Communications, Communication Modes, Derived Data Types, Communicators; OpenMP: Introduction, Execution & Threads, Functionalities, OpenMP vs MPI, Interfaces, DataSharing, WorkSharing, Synchronization, Vectorization, Hybrid Programming Tools

August 5 (09.30- 15.00): C&C ++ Programming - Mehmet Ali Ak

- Introduction to C and C++ programming languages

- Variables, data types, and basic input/output

- Control structures: if-else, loops (for, while)

- Functions and modular programming

- Arrays and pointers in C and C++

August 6 (09.30- 15.00): Fortran 90 & Fortran 2003 - Mehmet Karaca

- Representation of numbers, logicals, characters.

- Declarations, Implicit None, DATA, TYPE.

- Symbolic Constants,

- Equivalence

- Operators; arithmetic, relations, logicals,..

August 12 (09.30- 15.00): C&C ++ Programming - Mehmet Ali Ak

- Introduction to object-oriented programming in C++

- Classes and objects

- Constructors and destructors

-Introduction to C++ templates

-Function templates: writing generic functions that work with different data types

-Class templates: creating generic classes that can operate with various data types

August 13 (09.30- 15.00): Fortran 2003 & Fortran 2008 - Mehmet Karaca

- Fortran Input/ Output

- Format, (redefinition), 

- list directed formating 

- Namelist, Direct Access

- INQUIRE, UNIT, END, ERR

August 19 (09.30- 15.00): C&C ++ Programming - Mehmet Ali Ak

- File handling in C and C++

- Introduction to scientific computing libraries (e.g., BLAS, PETCS  C++)

- Basic mathematical operations using scientific libraries

August 20 (09.30- 15.00): Fortran 2003 & Fortran 2008 - Mehmet Karaca

- Procedures,

- Derived types

- Dynamic allocation

- Pointers

- Procedure interface

August 26 (09.30- 15.00): C&C ++ Programming - Mehmet Ali Ak

- Introduction to algorithms and data structures

- Implementing sorting algorithms in C and C++

- Introduction to dynamic memory allocation

August 27 (09.30- 15.00): Open MP - Mehmet Karaca

September 2 (09.30- 15.00): MPI - Hybrid Parallelization - Ali Karakuş

September 3 (09.30- 15.00): MPI - Hybrid Parallelization - Ali Karakuş

Skill Level: Senior Undergraduate, MSc level.

Duration: 5 weeks

Target Audience: Industry and academia. Possible MSc. and Ph.D. Students.

Prerequisite(s): Familiarity with any programming language

                            Basic programming skills working in a Linux environment.

                            Familiarity with a text editor.

Tools, libraries, frameworks used: gfortran, gcc

Learning Objectives: By participating in this course, you will learn basics of parallel programming for CFD.

About the instructor(s): Dr. Mehmet Karaca, METU - Department of Aerospace Engineering

Dr. Mehmet Ali Ak, ROKETSAN

Dr. Ali Karakuş, METU- Mechanical Engineering 

Application Due: August 2, 2023

Contact: ncc@ulakbim.gov.tr

This course is offered free of charge

Please note that a certificate will not be given upon completion of the training.

Notes:

  • Registration will be limited to 25 people. In case of more registrations, participants will be selected based on the information provided on the registration form on the experience, area of research, and qualifications. Please cancel your registration if you won't be able to attend so that others may attend. You will receive an email confirming if your registration request was accepted.

  • Participants will receive a temporary training user account for the hands-on session.

  • Participants will use their own laptop or computer for the hands-on session.

  • Before the training, participants should install Ubuntu on their computers.

Acknowledgements

This event was supported by the EuroCC 2 project. This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 101101903. The JU receives support from the Digital Europe Programme and Germany, Bulgaria, Austria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, Greece, Hungary, Ireland, Italy, Lithuania, Latvia, Poland, Portugal, Romania, Slovenia, Spain, Sweden, France, Netherlands, Belgium, Luxembourg, Slovakia, Norway, Türkiye, Republic of North Macedonia, Iceland, Montenegro, Serbia.

 


Follow us on Twitter and LinkedIn. Subscribe to our YouTube Channel

https://twitter.com/EuroCC_Turkey

https://www.linkedin.com/company/eurocc-turkey

https://www.youtube.com/channel/UC-qaWnbbTl6OPiPasUf4t8w/playlists

Starts
Ends
Europe/Istanbul
METU