magistraleinformaticanetworking:spd:lezioni13.14
Questa è una vecchia versione del documento!
Journal of Lessons, SPD year 2013-2014
Journal
- 24/02/2014 Course introuction. Message Passing Interface - Evolution of the MPI standard, linked library approach, integration with other software layers: MPI as a support for parallel applications, parallel libraries and parallel languages.
- 27/02/2014 MPI - Basic concepts: communicators, point-to-point and collective communications, data types.
- 04/03/2014 MPI - Communication semantics and buffers; primitive datatypes, data conversion and packing; derived datatypes, typemaps and type signatures, constructors: contiguous, vector, Hvector, Indexed, Hindexed; MPI_Type_Commit and MPI_Type_Free.
- 05/03/2014 MPI - Point to point communication modes for the send (standard, buffered, synchronous, ready); blocking and non-blocking behaviour (incomplete send and recv); request objects; waiting and testing; struct derived datatype.
- 11/03/2014
- 18/03/2014 MPI - communicators and groups, motivation and use as programming / implementation abstraction; basic groups, extracting information, construction of groups; communicator operations : duplication, creation (MPI1 and MPI2 semantics), free, splitting.
- 19/03/2014 MPI - Collective communications : definition, semantics and relationship with communicators; implicit serialization and potential deadlocks; classes of primitives (synhronization, one-to-all, all-to-one, all-to-all, computing collectives). In-place communications. Variable versions of common collectives.
- 25/03/2014 Thread Building Blocks - purpose, runtime, supported abstractions; task scheduling and grain size; use of lambda expression, containers and mutexes.
- 26/03/2014
midterm test break
- 08/04/2014
- 09/04/2014 Lab time - MPI - K-means.
- 15/04/2014 Lab time - MPI - K-means. (reference to Montecarlo method, use of parallel pseudorandom number generators)
- 16/04/2014
Easter break
29/04/2014(Didactic activity stopped due to elections of representatives of students)- 30/04/2014 Introduction to GPU computing and OpenCL - Evolution of modern GPU: 2D/3D graphics and the basic graphic pipeline; implementation in Hardware/firmware; parallelization and load balancing among GPU stages, unification of the stage model and transition to firmware and software pipelines; first programmable GPUs and GPGPU via exploitation of graphics primitives. Modern GPU computational model and its hardware optimizations: absence of R/W conflicts, memory bus optimization for bandwidth over latency, large block of cores with high ALU density, common instruction logic and hardware threading support. SIMD-like programming model, non deterministic thread scheduling of threads to cores. Proprietary programming environments vs OpenCL.
- 06/05/2014 Introduction to OpenCL -
- 07/05/2014 lesson canceled (illness)
- 09/05/2014 lesson canceled (illness) (Teaching Room B, 14-18)
- 13/05/2014 Project and final examination replanning
- 14/05/2014 OpenCL
- 16/05/2014 (Teaching Room B, 14-16, and Lab. M, 16-18) TBB
- 20/05/2014 TBB
- 21/05/2014 TBB / TBB lab (K-means with TBB)
- 27/05/2014 OpenCL
Slides, Notes and References to papers
Date | Slides | Notes | Other information |
---|---|---|---|
24/02/14 | |||
27/02/14 | |||
04/03/14 | |||
05/03/14 | |||
11/03/14 | |||
18/03/14 | |||
19/03/14 | |||
25/03/14 | Slides on TBB, part 2 | ||
26/03/14 | |||
08/04/14 | no slides | parallel data mining notes | |
08–09/04/14 | TBA | K-means sequential code | See the Dhillon/Modha paper on the main page. |
15/04/14 | TBA | For a quick introduction to Montecarlo methods in the parallel see chapter 3 of the Wilkinson-Allen (sect. 3.2.3 in 2nd edition). | |
30/04/14 06/05/14 14/05/14 | GPGPU introduction Overview of OpenCL 1.2 from Khronos Group (2010) used during the lessons Overview of OpenCL 2.0 from Khronos Groups (2013) | Slides on OpenCL from NVidia (2009) Overviews about related technologies can be found in the Khronos presentation library https://www.khronos.org/developers/library/) more details about the different OpenCL specifications (specs, reference cards, online manuals) in the Khronos OpenCL main page https://www.khronos.org/opencl/ |
|
16/05/14 | Slides on TBB, part 3 | ||
20/05/14 | Slides on TBB, part 4 | ||
21/05/14 | Slides on TBB, part 5 | Example code for k-means from the McCool-Robinson-Reinders textbook | |
27/05/14 | a simple tutorial about installing OpenCL on Linux |
magistraleinformaticanetworking/spd/lezioni13.14.1401382035.txt.gz · Ultima modifica: 29/05/2014 alle 16:47 (10 anni fa) da Massimo Coppola