magistraleinformaticanetworking:spm:sdpm13lessons
SPM 2012-2013
Lessons
This is the link to the official lesson register
Day | Hours | Arguments | Support material |
---|---|---|---|
18/02 | 16-18 | Course introduction. Program. Web site. Exam/project. Overview of parallel architectures. Amdahl law. | Blackboard |
19/02 | 16-18 | Power and parallelism. More on Amdahl law. Gustafson law. Work-span model | Blackboard |
21/02 | 14-16 | Concurrent activity graph: concurrent activities (finer grain and “more convenient” graphs), coordination of activities, problems related to implementation. | Blackboard 1st hour audio2nd hour audio |
04/03 | 16-18 | More on features of interest for parallel programming: reliability, security. Mechanisms for setting up concurrent activities (processes (fork, exec), threads (pthread_create)) and for communications (Sockets, SysV (shmem, msq)) | Blackboard 1st hour audio2nd hour audio |
05/03 | 16-18 | Details on the usage of SysV primitives and pthreads. Introduction of OpenMP. Discussion of the principles behind the parallelization of a matrix multiplication. Map and reduce patterns (informal introduction). | Blackboard 1st hour audio2nd hour audio |
11/03 | 16-18 | Algorithmic skeletons and parallel design patterns (introduction). Typical patterns: stream parallel (farm, pipeline), data parallel (map, reduce, scan, stencil), control parallel (if-then-else, while) | Blackboard 1st hour audio2nd hour audio |
12/03 | 16-18 | Wrappers (sequential and parallel). Skeleton/pattern nesting. Two tier model. Functional and parallel semantics of common patterns and consequences on composition. | Blackboard Ocaml code 1st hour audio2nd hour audio |
14/03 | 14-16 | State handling in structured parallel patterns. Different implementation models for patterns: implementation templates. | Blackboard 1st hour audio2nd hour audio |
18/03 | 16-18 | Template composition, optimizations, performance model usage and sample template (farm on a mesh architecture). Macro data flow implementation model. | Blackboard 1st hour audio2nd hour audio |
19/03 | 16-18 | Introduction to FastFlow: sequential code wrapping, pipeline pattern, farm pattern, customisation of the farm: misd and map. | BlackboardVideo 1st hour (blackboard only)Video 2nd hour (blackboard only) 1st hour audio2nd hour audio |
21/03 | 14-16 | Software accelerators (FastFlow (with sample code) and SkeTo style). Analytical performance models: base measures and derived measures. | BlackboardVideo 1st hour (blackboard only)Video 2nd hour (blackboard only) 1st hour audio2nd hour audio |
25/03 | 16-18 | Performance model usage and definition. | Blackboard 1st hour audio2nd hour audio |
26/03 | 16-18 | Queue theory results for performance modelling. Parallel building blocks (introduction). Calls to measure execution time | Blackboard 1st hour audio2nd hour audio |
28/03 | 14-16 | Skandium programming framework (Dazzi) | Lesson material |
08/04 | 16-18 | Implementation of patterns: templates, building blocks, optimizations (communication hiding, cache coherence optimizations). | Blackboard 1st hour audio2nd hour audio |
09/03 | 16-18 | OpenMP | BlackboardVideo 1st hour (blackboard only)Video 2nd hour (blackboard only) 1st hour audio2nd hour audio |
11/04 | 14-16 | Map in OpenMP and FastFlow, with sample code (code on the codepage). | BlackboardVideo 1st hour (blackboard only)Video 2nd hour (blackboard only) 1st hour audio2nd hour audio |
15/04 | 16-18 | Sample parallel applications: Computation of an integral (MonteCarlo, generation of pseudo-random numbers), Mandelbrot (Load balancing), N-Body (approximated solutions vs. “exact” ones). | Blackboard 1st hour audio2nd hour audio |
16/04 | 14-16 | False sharing (code on the codepage). | BlackboardVideo 1st hour (blackboard only)Video 2nd hour (blackboard only) 1st hour audio2nd hour audio |
18/04 | 14-16 | Muesli programming framework (Dazzi) | Lesson material |
22/04 | 16-18 | Load balancing (code on the codepage). | BlackboardVideo 2nd hour (blackboard only) 1st hour audio2nd hour audio |
23/04 | 16-18 | More on load balancing. Introduction to SKEPU (and GPUs) (code on the codepage). | BlackboardVideo 1st hour (blackboard only)Video 2nd hour (blackboard only) 1st hour audio2nd hour audio |
29/04 | 16-18 | More on SKEPU. Co-exploitation of Skepu and FastFlow (code on the codepage). Map fusion. | BlackboardVideo 1st hour (blackboard only)Video 2nd hour (blackboard only) 1st hour audio2nd hour audio |
30/04 | 16-18 | Sample code: map fusion (OpenMP) and multiple backends (FastFlow+SKEPU) (code on the codepage). Rewriting rules. Map and reduce as homomorphisms and relative optimizations (see paper on SkeTo), optimizations at the pattern building block level (BSP and MapReduce: optimization of gatherall followed by a spread). | BlackboardVideo 1st hour (blackboard only)Video 2nd hour (blackboard only) Audio 1st hour not available (sorry) 2nd hour audio |
02/05 | 14-16 | Adaptivity: MAPE loop, autonomic computing principles (see IBM paper), behavioural skeletons (introduction). | Blackboard 1st hour audio2nd hour audio |
06/05 | 16-18 | Adaptivity: hierarchical performance management (see IPDPS09 slides). Multi concern management. | Blackboard 1st hour audio2nd hour audio |
07/05 | 16-18 | Functional and performance portability of structured parallel applications. | Blackboard 1st hour audio2nd hour audio |
09/05 | 14-16 | Vectorization techniques. | Blackboard 1st hour audio2nd hour audio |
13/05 | 16-18 | Sample code: effect of vectorization (and effects combined with OpenMP). Final project 2012-2013. | Blackboard audio Project draft |
14/05 | 16-18 | Parallel design patterns. | Blackboard 1st hour audio2nd hour audio |
16/05 | 14-15 | Parallel design patterns. | Blackboard 1st hour audio |
20/05 | 16-18 | RISC PBB: a RISC set of parallel building blocks. Building blocks in Wrapper, Functional and Combinator subsets, rule for composition, sample usage (classical skeletons), optimization, implmentation of more general skeletons. | Blackboard 1st hour audio2nd hour audio |
21/05 | 16-18 | Using building blocks to implement general purpose programming models (BSP, Google Mapreduce, MDF) and domain specific skeletons (genetic population evolution) | Blackboard 1st and 2nd hour audio |
23/05 | 14-16 | Final project discussion, course methodology applied to the project, suggestion for the experiments | 1st and 2nd hour audio |
magistraleinformaticanetworking/spm/sdpm13lessons.txt · Ultima modifica: 23/05/2013 alle 13:48 (12 anni fa) da Marco Danelutto