Schedule
February 21, 2014: Welcome, Install session, Motivation (IPP, Astro, ITP), System aspects (ISG)
February 28, 2014: Software Carpentry - Software design best practices, basics of software projects, versioning, profiling ,…
March 1, 2014: Software Carpentry - Programming techniques
June 26+27, 2014: More specific high performance computational aspects
July 14+15, 2014: Aspects of more scientific relevance, with particular weight on particle physics and astrophysics.
Preliminary contents
Day 1 - HIT E 51
Welcome
Install session
Give participants the opportunity to install the software / libraries they'll need for the rest of the workshop, help provided.
Motivation
Show nice examples from everyday work in IPP, ITP and Astro, how to speed up a naive program, visualization examples…
System aspects
-
fat node vs. NUMA vs. cluster vs. cloud vs. GPGPU
-
single core vs. multithread vs. multicore vs. multihost
-
I/O bound vs. CPU bound vs. Mem bound, high cost of IPC
-
local storage vs. NFS vs. SMB
-
job control/queueing system: condor, torque…
-
communication: MPI, TIPC…
-
choice of programming language (Python might just not be the best choice in all cases..)
-
file formats, checkpointing…
Day 2+3 - HIT E 51 - 40 people max
Advanced tools and programming-
revision systems (git)
-
make
-
python
-
advanced shell programming
-
testing etc.
Day 4+5
High Performance Aspects
-
OpenMP
-
Usage of MPI
-
some GPU introduction, and possibly optimization for GPU
-
Visualization
Day 6+7
Scientific methods in our communities
Algorithms and methods used for data analyses relevant for IPP and Astro
-
Monte Carlo Generation”: How to write your own MC generator; including efficient integration, sampling phase space etc.
-
“Multivariate analyses tools” ; principles and statistical analyses tools available; particular SW implementations, libraries, TMVA; examples and some hands-on;
-
Unfolding: algorithms: usage and implementations in HEP; image processing; specific examples and hands-on
-
Data mining, BigData