studiehandbok@lith | ||
|
||
TDDB78 | Programming of Parallel Computers- Embedded Systems, 4 p (sw) /Progrogrammering av parallelldatorer- inbyggda system/ Advancement level: D | |
Aim: To give knowledge about methods and languages for programming parallel computer architectures, together with skills to program such computers. The course shall also give an overview of how parallel computers can be used in some application areas, e.g. embedded systems, image analysis and technicalcomputations. Prerequisites: Basic course in programming. A course in process programming such as TDDB12 is useful but not required, since understanding the process concept is assumed. For the course variant technical computation (TANA77) knowledge in Fortran and numerical analysis is recommended. For the course variant embedded systems programming skills in C/C++ is recommended. Supplementary courses: Course organization: The course is given in two variants, the largest part common. The variant embedded system, TDDB78, is described here, while the variant technical computations, TANA77, can be found among the courses given by the mathematical department. The lectures contains theory and principles, while the laboratory assignments are practical programming excercises in parallel programming and tool usage. The lectures are the same flor both course variants but the laboratory course is different Course content: Parallel computer architecture: memory hierarchies, shared memory and distributed memory architectures. Vector operations. Parallel execution models and programming languages. Performance measurmenst and optimizing parallel programs. Message based programming and dataparallel programming. Principles for dataparallel languages. Time complexity. Scability. Scheduling of parallel programs. Vectorizing and parallelizing of serial programs. Tools and support for parallel programing. MPI (Message passing interface). Basic parallel algorithms and BLAS (Basic Linear Algebra Subprograms). Application areas. Parallel solving of equation systems. The laboratory course gives practical experience in programming parallel systems (dataparallel, message based and shared memory). A 272-processors Cray T3E are used for message based programming. A 12-processor Ultra sparc enterprice 4000 is used for shared memory programming. Course literature: Ian T. Foster, "Designing and Building Parallel Programs", Addison-Wesley, 1995. Compendium |
|
|
||||||
|