Contents |
General Information
|
Course Materials are available.
The subject is paradigms of programming for parallelism, specifically addressed to matrix problems.
While a superficial goal is high-performance, the real goal is to explore styles of programming that can achieve it from high-level programming. That is, while constraints of particular architectures (e.g. locality of reference) are acknowledged, the real goal is to program "around" particular constraints. Such styles have been called, ironically, both "cache oblivious" and "cache sensitive".
Such constraints include the memory hierarchy, balanced scheduling, synchronization of subprocesses, remote communication, pipelining, and access to standing libraries. Doubtless, not all of these will be beaten, but some of them will be dented. Perhaps, a new kind of algorithm might be uncovered.
It is a challenge for programming languages to eliminate such low-level concerns from high-level algorithms. One perspective on this seminar is how to embed support necessary to such a style into future compilers.
The seminar is small, so we will just use mailing lists. Please install the list of login names as an alias in your mailer.
On individual or immediate matters, feel freee to contact me via email.