- Docente: Moreno Marzolla
- Credits: 6
- SSD: INF/01
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: First cycle degree programme (L) in Information Science for Management (cod. 8014)
Learning outcomes
At the end of this course, the student is able to design and
implement parallel algorithms on shared-memory and
distributed-memory architectures, and evaluate their performance.
This course describes the main hardware platforms for parallel
computing (multi-core processors, clusters of workstations,
GP-GPUs, special purpose parallel machines). The concepts of
speed-up, load balancing, workload distribution will be also
described. Students will learn how to program some of the parallel
architectures using standard tools (e.g., MPI and/or OpenMP).
Applications in the area of numeric analysis and data mining will
be briefly considered.
Course contents
- Introduction to parallel architectures: clusters, shared-memory multiprocessors, GPGPUs
- Parallel programming paradigms
- Performance evaluation of parallel programs
- An introduction to parallel algorithms (sorting, searching, numerical algorithms)
- Tools and languages for parallel programming
- Parallel programming with MPI and OpenMP
Readings/Bibliography
- Blaise Barney, Introduction to Parallel Computing, Lawrence Livermore National Laboratory
- I. Foster. Designing and Building Parallel Programs. Addison-Wesley, 1995 (Available online).
Teaching methods
Lectures and programming exercises
Assessment methods
Written exam or programming project
Teaching tools
Lecture slides, source code of programming examples.
Links to further information
http://www.moreno.marzolla.name/teaching/ParComp2012/
Office hours
See the website of Moreno Marzolla