University of Western Ontario
Computer Science Department
Date: January 3, 2011
The efficient usage of parallel and distributed systems (multi-processors and computer networks) is nowadays an important task for computer scientists.
This course studies the fundamental aspects of parallel systems and aims at providing an integrated view of the various facets of software development on such systems: hardware architectures, programming languages and models, software development tools, software engineering concepts and design patterns, performance modeling and analysis, experimenting and measuring, application to scientific computing.
Course topics may include but are not limited to: multi-core, SMP, clusters, GPU computing, scheduling, scalability, parallel and distributed data-structures, threads, message passing, MPI, distributed and shared memory, hierarchical memory, data parallel languages, and applications of parallel and distributed computing.
Part of the materials (multi-threading programming,
hierarchical memory)
from this course:
CS 4435 and CS 9624 - High Performance Computing with a Focus on Hardware Acceleration Technologies.
Others from last year's edition of
CS 9535 and CS 4402.
Note that for this 2010-2011 academic year there will another course dedicated to distributed systems. More on this later.
Follow this link for various resources
(software tools and tutorials, hardware documentation,
conferences, other HPC course web sites, etc.)
regarding
this course and HPC in general.