Motivation.
With the end of the ever-increasing clock frequency,
parallel processing has become the only option to expand
processing power. Moore's law now applies for the number of
on-chip processors. All big players, such as Intel and
Microsoft, have jumped on parallelism. A novel trend is to
open the cheap commodity graphics cards for general-purpose
programming. A clash between NVIDIA (with CUDA) and Intel
(with their Xeon Phi) is happening. The course focusses on
how the software developer can exploit concurrent
programming. |
Goal. The student will understand the
architecture of the various modern parallel systems. He will
be able to conceive, implement and analyze parallel and
distributed algorithms. He will understand why the
utilization of parallel resources is not for free, that
parallel processing out-of-the-box does not exist. The
student will be able to utilize modern parallel technology
autonomously, in the design of efficient parallel solutions
for all kinds of sequential algorithms. He will be able to apply his understanding of low-level processes and hardware characteristics to devise high-performant, scalable solutions. Since the quality of parallel programs is also determined by their genericity, usability and cost he will have learned to employ advanced principles of software engineering to design flexible and reusable parallel software. The student will have learned to look for twofold-generic parallel solutions. On the one hand, the solution should be appropriate to a wide variety of parallel systems, such as a dedicated cluster, a GRID environment, a multiprocessor or a Graphical Processing Unit (GPU). On the other hand, it should be easy-to-use and efficient for a broad class of similar algorithms. The student will understand the trade-off between genericity and performance. This integration of high-level software issues and low-level hardware characteristics will have sharpened his general IT-skills. By the practicum, the student will have demonstrated that he can make good judgments about complex situations and communicate his conclusions. Specific or complex parallel solutions are possible, but these are difficult to maintain and less generic. Only simple, clever solutions are feasible. The student will be able to participate to discussions about exploiting parallelism and the proper use of modern technology. |
Chapter 6: Dense Matrix Algorithms.
Chapter 6: Dense Matrix Algorithms.
- Back to the top -