Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
magistraleinformaticanetworking:spd:lezioni17.18 [18/04/2018 alle 13:53 (7 anni fa)] – [Slides, Notes and References to papers] Massimo Coppola | magistraleinformaticanetworking:spd:lezioni17.18 [28/05/2018 alle 14:23 (7 anni fa)] (versione attuale) – [Slides, Notes and References to papers] Massimo Coppola |
---|
=====Journal of Lessons, SPD year 2016-2017==== | =====Journal of Lessons, SPD year 2017-2018==== |
====Journal==== | ====Journal==== |
* 19/02/2018 **Course introduction** Parallel programming frameworks and high-level approach to parallel programming over different platforms: MPI, TBB and OpenCL as main examples; course organization and prerequisites; reference books and studying material. \\ ** MPI (Message Passing Interface) standard ** : brief history and aim of the standard, single program / multiple data execution model, compilation and linkage model; issues in supporting multiple programming languages and uses (application, utility library and programming language support) with a static compilation and linkage approach. Portability in parallel programming: functional and non-functional aspects, performance tuning and performance debugging. | * 19/02/2018 **Course introduction** Parallel programming frameworks and high-level approach to parallel programming over different platforms: MPI, TBB and OpenCL as main examples; course organization and prerequisites; reference books and studying material. \\ ** MPI (Message Passing Interface) standard ** : brief history and aim of the standard, single program / multiple data execution model, compilation and linkage model; issues in supporting multiple programming languages and uses (application, utility library and programming language support) with a static compilation and linkage approach. Portability in parallel programming: functional and non-functional aspects, performance tuning and performance debugging. |
* 02/03/2018 **MPI** Lab session – Basic program structure. Simple ping-pong program; adapting to available parallelism, extending to multi-process interaction; cut&paste and if-based programming pitfalls in MPI. Assigned homework: using point-to-point with simple primitive datatypes, performing and checking some computation; using derived datatpyes. | * 02/03/2018 **MPI** Lab session – Basic program structure. Simple ping-pong program; adapting to available parallelism, extending to multi-process interaction; cut&paste and if-based programming pitfalls in MPI. Assigned homework: using point-to-point with simple primitive datatypes, performing and checking some computation; using derived datatpyes. |
* 09/03/2018 **MPI** point to point communication modes (MPI_BSEND, MPI_SSEND; MPI_RSend usage); non-blocking communication (Wait and Test group of primitives, semantics, MPI_Request object handles to active requests); canceling and testing cancellation of non-blocking primitives (issues and pitfalls, interaction with MPI implementation, e.g. MPI_finalize); communicators and groups (communicator design aim and programming abstraction, local and global information, attributes and virtual topologies, groups as local objects, primitives for locally creating and managing groups); intracommunicators (basic primitives concerning size, rank, comparison); communicator creation as a collective operation, MPI_Comm_create basic and general case. | * 09/03/2018 **MPI** point to point communication modes (MPI_BSEND, MPI_SSEND; MPI_RSend usage); non-blocking communication (Wait and Test group of primitives, semantics, MPI_Request object handles to active requests); canceling and testing cancellation of non-blocking primitives (issues and pitfalls, interaction with MPI implementation, e.g. MPI_finalize); communicators and groups (communicator design aim and programming abstraction, local and global information, attributes and virtual topologies, groups as local objects, primitives for locally creating and managing groups); intracommunicators (basic primitives concerning size, rank, comparison); communicator creation as a collective operation, MPI_Comm_create basic and general case. |
* <del>12/03/2018</del> To be rescheduled | * <del>12/03/2018</del> Rescheduled to 18/04 |
* 16/03/2018 **MPI** | * 16/03/2018 **MPI** |
* 19/03/2018 **MPI** -- **MPI Lab** | * 19/03/2018 **MPI** -- **MPI Lab** |
* 20/04/2018 | * 20/04/2018 |
* 23/04/2018 | * 23/04/2018 |
* <del>27/04/2018</del> To be rescheduled | * <del>27/04/2018</del> Rescheduled to 9/05 |
* 30/04/2018 | * <del>30/04/2018</del> Rescheduled to 16/05 |
* 04/05/2018 | * 04/05/2018 ** GPU intro ** ** OpenCL ** |
* 07/05/2018 | * 07/05/2018 ** OpenCL ** |
* 11/05/2018 | * 09/05/2018 (Rooom L1) ** OpenCL ** |
| * 11/05/2018 ** TBB LAB time ** |
* 14/05/2018 | * 14/05/2018 |
* 18/05/2018 | * 16/05/2018 (Rooom L1) |
| * <del>18/05/2018</del> Rescheduled to 23/05 |
* 21/05/2018 | * 21/05/2018 |
* 25/05/2018 | * 23/05/2018 (Room L1) ** OpenCL LAb Time ** |
| * 25/05/2018 ** OpenCL LAb Time ** |
* 28/05/2018 | * 28/05/2018 |
| |
| 26/03, 13/04 | {{ :magistraleinformaticanetworking:spd:2018:tbb-lesson3.pdf | TBB lesson 3}} | | | | | 26/03, 13/04 | {{ :magistraleinformaticanetworking:spd:2018:tbb-lesson3.pdf | TBB lesson 3}} | | | |
| 13/04, 16/04 | {{ :magistraleinformaticanetworking:spd:2018:tbb-lesson4-a.pdf | TBB lesson 4 (alpha)}} | | | | | 13/04, 16/04 | {{ :magistraleinformaticanetworking:spd:2018:tbb-lesson4-a.pdf | TBB lesson 4 (alpha)}} | | | |
| 16/04 | | | [[magistraleinformaticanetworking:spd:2018:mandel|scheletro mandelbrot.cc]] | | | 16/04, 18/04 | {{ :magistraleinformaticanetworking:spd:2018:tbb-lab.pdf | TBB Lab}} | | [[magistraleinformaticanetworking:spd:2018:mandel|scheletro mandelbrot.cc]] | |
| 16/04 | {{ :magistraleinformaticanetworking:spd:2018:tbb-lab.pdf | TBB Lab}} | | [[magistraleinformaticanetworking:spd:2018:mandel|scheletro mandelbrot.cc]] | | | 20/04 | | | {{ :magistraleinformaticanetworking:spd:spd13-14-paralleldatamining_notes_ch2_3.pdf | Introductory notes about Data Mining}} {{ :magistraleinformaticanetworking:spd:spd11-12-dhillon-modha-corretto_parkmeans.ps |Dhillon and Modha Tech.R. on K-means}} {{ :magistraleinformaticanetworking:spd:2016:k-means3.tgz |Sequential reference code for K-means}} | |
| | 23/04 | {{ :magistraleinformaticanetworking:spd:2018:tbb-lesson5.pdf |TBB lesson 5}} | | | |
| | 04/05, 07/05, 09/05 | {{ :magistraleinformaticanetworking:spd:2018:gpgpu_intro.pdf | Intro to GPU based computing}} \\ {{ :magistraleinformaticanetworking:spd:2015:opencl-intro-tim-mattson.pdf | Intro to OpenCL - A }} \\ {{ :magistraleinformaticanetworking:spd:2018:opencl_e_survey.pdf | Survey of Open CL - E - version 1}}| | | |
| | 11/05 | {{ :magistraleinformaticanetworking:spd:2018:tbb-lab-v2.pdf | TBB Lab version 2}} | | | |
| | 23/05, 25/05 | {{ :magistraleinformaticanetworking:spd:2018:opencl-lab.pdf | OpenCL Lab}} | Non tutti gli esercizi sono rilevanti | [[https://developer.nvidia.com/opencl| Sample OpenCL 1.2 code fron NVIDIA, expected to work on the TESLA K20]] [[https://github.com/HandsOnOpenCL/Exercises-Solutions.git| GIT URL to HandsOnOpenCL Exercises]] | |
| | 28/05 | {{ :magistraleinformaticanetworking:spd:2018:xeonfpga_2015_pk.pdf |Xeon + FPGA}} {{ :magistraleinformaticanetworking:spd:2018:opencl-f_project_ideas.pdf |Final slides}} | | | |