Strumenti Utente

Strumenti Sito


magistraleinformaticanetworking:spd:lezioni13.14

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
magistraleinformaticanetworking:spd:lezioni13.14 [31/07/2014 alle 19:12 (10 anni fa)] – [Journal] Massimo Coppolamagistraleinformaticanetworking:spd:lezioni13.14 [20/02/2015 alle 17:52 (10 anni fa)] (versione attuale) Massimo Coppola
Linea 2: Linea 2:
 ====Journal==== ====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.+  * 24/02/2014 Course introduction. 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.   * 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.   * 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.    * 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. 
-  * 11/03/2014+  * 11/03/2014 Lab Time - MPI - basic communications, datatypes, asynchronous communications with defined buffering degree via non-blocking primitives.
   * 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.   * 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.   * 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; tasks vs threads; parallel_for, ranges and partitioners; task scheduling and grain size; quick survey of use of lambda expression, containers and mutexes.+  * 25/03/2014 TBB - Thread Building Blocks purpose, runtime, supported abstractions; tasks vs threads; parallel_for, ranges and partitioners; task scheduling and grain size; quick survey of use of lambda expression, containers and mutexes.
   * 26/03/2014 MPI - reduce, scan and custom operators. Struct derived datatypes, extent and size related primitives.   * 26/03/2014 MPI - reduce, scan and custom operators. Struct derived datatypes, extent and size related primitives.
  
Linea 17: Linea 17:
   * 09/04/2014 Lab time - MPI - K-means: sequential K-means and its parallelization.    * 09/04/2014 Lab time - MPI - K-means: sequential K-means and its parallelization. 
   * 15/04/2014 Lab time - MPI - K-means. (reference to Montecarlo method, use of parallel pseudorandom number generators)   * 15/04/2014 Lab time - MPI - K-means. (reference to Montecarlo method, use of parallel pseudorandom number generators)
-  * 16/04/2014+  * 16/04/2014 Lab time - MPI - K-means.
  
 //Easter break// //Easter break//
Linea 23: Linea 23:
   * <del>29/04/2014</del> //(Didactic activity stopped due to elections of representatives of students)//   * <del>29/04/2014</del> //(Didactic activity stopped due to elections of representatives of students)//
   * 30/04/2014 Introduction to GPU computing and OpenCL - Evolution of modern GPU subsystems: 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.   * 30/04/2014 Introduction to GPU computing and OpenCL - Evolution of modern GPU subsystems: 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 - +  * 06/05/2014 Introduction to OpenCL - Purpose, relationship with other standards. Platform model, execution model. Mapping OpenCL 1.2 abstractions on top of GPUs and CPUs: resource allocation, work items and work groups. OpenCL primitives, kernels and command queues, data transfers.
   * 07/05/2014 //lesson canceled (illness)//   * 07/05/2014 //lesson canceled (illness)//
   * 09/05/2014 //lesson canceled (illness)// (Teaching Room B, 14-18)   * 09/05/2014 //lesson canceled (illness)// (Teaching Room B, 14-18)
   * 13/05/2014 //Project and  final examination replanning// For the current year the final examination will be based on the project alone. A project topic can still be proposed by the student, otherwise a standard project will be assigned by default. Please see the main page for this year's course for further detail.   * 13/05/2014 //Project and  final examination replanning// For the current year the final examination will be based on the project alone. A project topic can still be proposed by the student, otherwise a standard project will be assigned by default. Please see the main page for this year's course for further detail.
-  * 14/05/2014 OpenCL - Memory Model, Execution, built-in kernels; virtual memory and logic address translation in OpenCL; types of memory sharing and related consistency models (coarse / fine sharing and system sharing); nested parallelism via child kernel activation; generic address space in OpenCL 2 and cast rules; built in functions; C11 atomics in local and global memory (memory orders, scope, supported types); 2D and 3D images; pipes+  * 14/05/2014 OpenCL - OpenCL 1.2 to 2.0. Memory Model, Execution, built-in kernels; virtual memory and logic address translation in OpenCL; types of memory sharing and related consistency models (coarse / fine sharing and system sharing); nested parallelism via child kernel activation; generic address space in OpenCL 2 and cast rules; built in functions; C11 atomics in local and global memory (memory orders, scope, supported types); 2D and 3D images; pipes
   * 16/05/2014 (Teaching Room B, 14-16, and Lab. M, 16-18) TBB - Reduce pattern, functional and object oriented forms; reduce deterministic variant; pipeline pattern: pipeline and filter classes; strongly typed parallel_pipeline form; parallel_do.   * 16/05/2014 (Teaching Room B, 14-16, and Lab. M, 16-18) TBB - Reduce pattern, functional and object oriented forms; reduce deterministic variant; pipeline pattern: pipeline and filter classes; strongly typed parallel_pipeline form; parallel_do.
   * 20/05/2014 TBB - extending containers to container ranges; generic TBB containers: various concurrent map and set templates, and differences from STL equivalents (hash map, unordered map and multimap, concurrent set, bounded queue and concurrent priority queue, concurrent vector); thread local storage.     * 20/05/2014 TBB - extending containers to container ranges; generic TBB containers: various concurrent map and set templates, and differences from STL equivalents (hash map, unordered map and multimap, concurrent set, bounded queue and concurrent priority queue, concurrent vector); thread local storage.  
-  * 21/05/2014 TBB / TBB lab (K-means with TBB) +  * 21/05/2014 TBB / TBB lab : TBB/C++11 atomics, TBB mutexes; K-means with TBB. 
-  * 27/05/2014 OpenCL+  * 27/05/2014 Lab Time – OpenCL – implementation of the K-means core algorithm in OpenCL. 
  
  
Linea 40: Linea 41:
 | 04/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lesson2.pdf|MPI slides part 2}} |  | | | 04/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lesson2.pdf|MPI slides part 2}} |  | |
 | 05/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lesson3.pdf|MPI slides part 3}} |  | | | 05/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lesson3.pdf|MPI slides part 3}} |  | |
-| 11/03/14 |  |  | |+| 11/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lab-1.pdf|MPI Lab slides }} |  | |
 | 18--19/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lesson4.pdf|MPI slides part 4}} \\ {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lesson5.pdf|MPI slides part 5}} |  | | | 18--19/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lesson4.pdf|MPI slides part 4}} \\ {{:magistraleinformaticanetworking:spd:spd-13-14-mpi-lesson5.pdf|MPI slides part 5}} |  | |
 | 25/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-tbb-2.pdf|Slides on TBB, part 2}} |  | | | 25/03/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-tbb-2.pdf|Slides on TBB, part 2}} |  | |
Linea 46: Linea 47:
 | 08/04/14 | no slides | {{:magistraleinformaticanetworking:spd:spd13-14-paralleldatamining_notes_ch2_3.pdf|parallel data mining notes}} | | | 08/04/14 | no slides | {{:magistraleinformaticanetworking:spd:spd13-14-paralleldatamining_notes_ch2_3.pdf|parallel data mining notes}} | |
 | 08--09/04/14 | //TBA// | {{:magistraleinformaticanetworking:spd:spd11-12-k-means-code.tgz|K-means sequential code}} | See the Dhillon/Modha paper on the main page. | | 08--09/04/14 | //TBA// | {{:magistraleinformaticanetworking:spd:spd11-12-k-means-code.tgz|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). | |+| 15/04/14  16/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| {{:magistraleinformaticanetworking:spd:spd-13-14-gpgpu_intro.pdf|GPGPU introduction}} \\ {{:magistraleinformaticanetworking:spd:opencl-overview-khronos-jun10.pdf| Overview of OpenCL 1.2 from Khronos Group (2010) used during the lessons}} \\ [[https://www.khronos.org/assets/uploads/developers/library/overview/opencl_overview.pdf| Overview of OpenCL 2.0 from Khronos Groups (2013)]] |  | [[http://www.cc.gatech.edu/~vetter/keeneland/tutorial-2011-04-14/06-intro_to_opencl.pdf| 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/]] | | 30/04/14  06/05/14  14/05/14| {{:magistraleinformaticanetworking:spd:spd-13-14-gpgpu_intro.pdf|GPGPU introduction}} \\ {{:magistraleinformaticanetworking:spd:opencl-overview-khronos-jun10.pdf| Overview of OpenCL 1.2 from Khronos Group (2010) used during the lessons}} \\ [[https://www.khronos.org/assets/uploads/developers/library/overview/opencl_overview.pdf| Overview of OpenCL 2.0 from Khronos Groups (2013)]] |  | [[http://www.cc.gatech.edu/~vetter/keeneland/tutorial-2011-04-14/06-intro_to_opencl.pdf| 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 | {{:magistraleinformaticanetworking:spd:spd-13-14-tbb-3.pdf|Slides on TBB, part 3}} | | | | 16/05/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-tbb-3.pdf|Slides on TBB, part 3}} | | |
 | 20/05/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-tbb-4.pdf|Slides on TBB, part 4}} | | | | 20/05/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-tbb-4.pdf|Slides on TBB, part 4}} | | |
 | 21/05/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-tbb-5.pdf|Slides on TBB, part 5}} | | {{:magistraleinformaticanetworking:spd:spd-13-14-example-tbb-kmeans.zip|Example code for k-means from the McCool-Robinson-Reinders textbook}} | | 21/05/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-tbb-5.pdf|Slides on TBB, part 5}} | | {{:magistraleinformaticanetworking:spd:spd-13-14-example-tbb-kmeans.zip|Example code for k-means from the McCool-Robinson-Reinders textbook}} |
-| 27/05/14 | | | [[http://wiki.tiker.net/OpenCLHowTo| a simple tutorial about installing OpenCL on Linux]]  |+| 27/05/14 | {{:magistraleinformaticanetworking:spd:spd-13-14-opencl-lab.pdf|Slides about the OpenCL exercises}} | | [[http://wiki.tiker.net/OpenCLHowTo| a simple tutorial about installing OpenCL on Linux]]  |
  
  
  
  
magistraleinformaticanetworking/spd/lezioni13.14.1406833920.txt.gz · Ultima modifica: 31/07/2014 alle 19:12 (10 anni fa) da Massimo Coppola

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki