Strumenti Utente

Strumenti Sito


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki