Aim of the course
The aim of this course is to introduce the architectures of basic multicore processors, and discuss the most important techniques for their effective programming. Particular emphasis will be placed on the most popular programming systems: multi-core Intel processors, CPU Cell Broadband Engine, Nvidia processors. There will be discussed basic libraries and development environments.
Presentation and comparison of the basic architecture of multicore processors. Discussion of the programming basics common to all multi-core architectures. Overview of languages and programming tools to support multicore processors. Analysis of some selected practical examples of algorithms used in computational methods and visualization.
Overview of the course elements
The course includes laboratory classes. Their implementation will consolidate theoretical knowledge and extend it by the ability to implement numerical algorithms and visualization.
1. GPU Gems 3, Addison-Wesley, 2007.
2. Cell Broadband Engine. Programming Handbook, IBM, 2007.
3. Nvidia CUDA Tutorial, Nvidia Corp., 2010.