Description |
Modern scientific research work involves using computers for simulation, modeling, data processing and visualization. The growing complexity of those calculations favors using software packages that provide an abstract interface to computations through scripting language interfaces, modular software design, and code reuse. Such design patterns also facilitate transparent optimizations for modern multi- core architectures or accelerators, and specialization of contributors to subsets of a package program. Software package developers therefore need to learn how to work effectively in a collaborative environment. This Hands-on Workshop focuses on disseminating best practices and building fundamental skills in creating, extending and collaborating on modular and reusable software frameworks with a scripting language interface. The curriculum also covers using modern collaborative software management tools, testing frameworks, and embedding structured documentation into software packages.
*****
This activity includes a four day extension: "Deal.II Users and Developers Training". Application for the extended part of the activity is available with the on-line form. Application for the "Deal.II Users and Developers Training" ONLY is a possible option but does not include the opportunity of financial support. More information are available within the activity poster. |
4th Workshop on Advanced Techniques for Scientific Programming and Management of Open source Software Packages | (smr 2875)
Go to day
-
-
08:00 - 08:30
Special note
Directors acknowledge Dr. Axel Kohlmeyer with special thanks for his contribution to the realization of the programme as well as lectures material.
-
08:30 - 18:30
Day 1
- 08:30 Registration 1h0' ( AGH Lower level )
-
09:30
Workshop Overview: Software Development Basics
1h15'
Speaker: I. Girotto (ICTP, Trieste, Italy) Material: Lecture Notes - 10:45 Coffee break 30'
-
11:15
Python: Concepts and Design
1h15'
Speaker: D. Grellscheid (Durham Univ & ICTP) Material: Lecture Notes - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
14:00
Hands-on: Python Programming
2h0'
Speakers: D. Grellscheid (Durham Univ & ICTP), J. Aguilar (ICTP, Trieste, Italy) Material: Data Exercise - 16:00 Coffee break 30'
-
16:30
Hands-on: Python Programming
2h0'
Speakers: D. Grellscheid (Durham Univ & ICTP), J. Aguilar (ICTP, Trieste, Italy)
-
08:00 - 08:30
Special note
-
-
09:30 - 21:30
Day 2
-
09:30
Object Oriented Programming Concepts in Python
1h15'
Speaker: D. Grellscheid (Durham Univ & ICTP) Material: Lecture Notes - 10:45 Coffee break 30'
-
11:15
Python for Scientific Computing
1h15'
Speaker: D. Grellscheid (Durham Univ & ICTP) Material: Lecture Notes - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
14:00
Hands-on: OO Python Programming
2h0'
Speakers: I. Girotto (ICTP, Trieste, Italy), F.K. Nobrega (FURG, Brazil) Material: Lab material - 16:00 Coffee break 30'
-
16:30
Hands-on: Python for Scientific Computing
2h0'
Speaker: D. Grellscheid (Durham Univ & ICTP) - 19:30 Reception 2h0' ( Pizzeria Raffaele )
-
09:30
Object Oriented Programming Concepts in Python
1h15'
-
09:30 - 21:30
Day 2
-
-
09:30 - 18:30
Day 3
-
09:30
Compiling and Linking Mixed Languages
1h15'
Speaker: I. Girotto (ICTP, Trieste, Italy) Material: Lecture Notes - 10:45 Coffee break 30'
-
11:15
C++, basics of OO
1h15'
Speaker: G. Brandino (MHPC) Material: Lecture Notes - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
14:00
Hands-on: ctypes
2h0'
Speaker: G. Brandino (MHPC) / J. Aguilar (ICTP, Trieste, Italy) Material: Slides - 16:00 Coffee break 30'
-
16:30
Hands-on: practicing with C++
2h0'
Speaker: G. Brandino (MHPC) / J. Aguilar (ICTP, Trieste, Italy) Material: Lab material
-
09:30
Compiling and Linking Mixed Languages
1h15'
-
09:30 - 18:30
Day 3
-
-
09:30 - 18:30
Day 4
-
09:30
Floating-Point Math
1h0'
Speaker: L. Heltai (SISSA, Trieste, Italy) Material: Leture Notes - 10:30 Coffee break 45'
-
11:15
Tools for Debugging and Profiling
1h15'
Speaker: I. Girotto (ICTP, Trieste) Material: Lecture Notes - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
14:00
Hands-on: Floating-Point Math and Accuracy
2h0'
Speaker: L. Heltai (SISSA, Trieste, Italy) / Nicola Cavallini (MHPC) Material: Lab Material - https://github.com/nicolacavallini/floating point/ - 16:00 Coffee break 30'
-
16:30
Hands-on: Python for Scientific Computing, a performance aspect
2h0'
Speakers: I. Girotto (ICTP, Trieste, Italy), F. K. Nobrega (FURG, Brazil) Material: Lab material
-
09:30
Floating-Point Math
1h0'
-
09:30 - 18:30
Day 4
-
-
09:30 - 19:45
Day 5
-
09:30
Optimization: Algorithms
1h15'
Speaker: D. Grellscheid (Durham Univ & ICTP) Material: Lecture Notes - 10:45 Coffee break 30'
-
11:15
Optimization: Modern Hardware Architectures
1h15'
Speaker: I. Girotto (ICTP, Trieste, Italy) Material: Lecture Notes - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
14:00
Hands-on: ctypes
2h0'
Speakers: G. Brandino (MHPC), J. AGUILAR (ICTP, Trieste, Italy) Material: Lab Material Lecture Notes - 16:00 Coffee break 30'
-
16:30
Hands-on: Memory Hierarchy
2h0'
Speaker: I. Girotto (ICTP, Trieste, Italy) Material: Lab material
-
09:30
Optimization: Algorithms
1h15'
-
09:30 - 19:45
Day 5
-
-
09:30 - 18:30
Day 7
-
09:30
Source Code Management
1h45'
Speaker: D. Grellscheid (Durham Univ & ICTP) Material: Lecture Notes Slides - 11:15 Coffee break 30'
-
11:45
Group Projects Presentation
45'
Speakers: I. Girotto (ICTP, Trieste, Italy), G. Brandino (MHPC), J. Aguilar (ICTP, Trieste, Italy), F.K. Nobrega (FURG, Brazil), (Durham Univ & ICTP) D. Grellscheid - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
14:00
Hands-on: Work on Group Projects
2h0'
- 16:00 Coffee break 30'
-
16:30
Hands-on: Work on Group Projects
2h0'
-
09:30
Source Code Management
1h45'
-
09:30 - 18:30
Day 7
-
-
09:30 - 18:30
Day 10
-
09:30
Writing Helpful Documentation for Users and Developers
1h15'
Speaker: D. Grellscheid (Durham Univ & ICTP) Material: Lecture Notes - 10:45 Coffee break 30'
-
11:15
Best Practise: Managing a Scientific Software Project
1h15'
Speaker: T. Heister (Clemson Univ, USA) Material: Lecture Notes - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
14:00
Hands-on: Work on Group Projects
2h0'
- 16:00 Coffee break 30'
-
16:30
Hands-on: Work on Group Projects
2h0'
-
09:30
Writing Helpful Documentation for Users and Developers
1h15'
-
09:30 - 18:30
Day 10
-
-
09:30 - 18:30
Day 9
-
09:30
Task Farming For Embarrassingly Parallel Processing
1h15'
Speaker: I. Girotto (ICTP, Trieste, Italy) Material: Lecture Notes Slides - 10:45 Coffee break 30'
-
11:15
Reusing Software / Discussion on Licensing
1h15'
Speaker: D. Grellscheid (Durham Univ & ICTP) - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
14:00
Hands-on: Work on Group Projects
2h0'
- 16:00 Coffee break 30'
-
16:30
Hands-on: Work on Group Projects
2h0'
-
09:30
Task Farming For Embarrassingly Parallel Processing
1h15'
-
09:30 - 18:30
Day 9
-
-
09:30 - 11:15
Day 10
-
09:30
Test Suites and Continuous Integration
1h15'
Speaker: F. Spiga (Univ Cambridge, UK) Material: Slides - 10:45 Coffee break 30'
-
09:30
Test Suites and Continuous Integration
1h15'
-
11:15 - 14:00
Day 10: Real-world Uses of Scientific Programming
-
11:15
Herwig
20'
Speaker: D. GRELLSCHEID (Durham Univ & ICTP) Material: Slides -
11:35
Calculating geodesics for arbitrary metrics
20'
Speaker: Guillermo Oliva (University of Costa Rica) Material: Slides -
11:55
DAQ implementation using various open source packages for Plasma Heating system
20'
Speaker: Rameshkumar Joshi (Institute for Plasma Research, India) Material: Slides -
12:15
ASPECT: Advanced Solver for Problems in Earth's ConvecTion
15'
Speaker: T. Heister (Clemson University, USA) - 12:30 Lunch break 1h30' ( AGH Cafeteria )
-
11:15
Herwig
20'
-
14:00 - 18:30
Day 10: Day 10 cont
-
14:00
Hands-on: Work on Group Projects
2h0'
- 16:00 Coffee break 30'
-
16:30
Hands-on: Work on Group Projects
2h0'
-
14:00
Hands-on: Work on Group Projects
2h0'
-
09:30 - 11:15
Day 10