Advanced platforms for high performance computing. Architectures of micro-processors and implicit parallelism. Approaches to hide memory latency. Parallel programming paradigms. Decomposition of complex algorithms. Load balancing. Analytical models for parallel programming. Cost models and performance evaluation. Advanced platforms: multi-core, many-core graphics processors, larger clusters. Programming Techniques for GPU
Learning Objectives
knowledge:
The aim of the course is to provide students with the foundation for the development of algorithms for computing architectures emerging.
Acquired skills:
Multi-core processors, GPUs, and distributed architectures.
Skills acquired (at the end of the course):
At the end of the course the student will possess the techniques of design and analysis of parallel algorithms.
Teaching Methods
Total number of hours of the course: 150
Number of hours for personal study and other individual learning: 102
Number of hours for classroom activities: 48
Further information
Frequency of lessons and exercises: Recommended
Tools for Teaching
UniFi E-Learning: http://e-l.unifi.it