Description: This wiki, the Center for Experimental Research in Computer Systems (CERCS) Multi-Core Repository, is created under CERCS Multi-Core Curriculum Development project, sponsored by Intel Corp.. This wiki serves as the knowledge base and the web demonstration interface of the project.
The content included in these pages is a mix of lectures, homeworks, programming assignments and projects already used in a range of courses at the College of Computing and the School of Electrical and Computer Engineering at Georgia Tech, similar courses at other universities, or content specifically developed under this project.
The course serves as an introductory course in parallel programming. It offers a series of lectures on parallel programming concepts as well as a group project providing hands-on experience with parallel programming. The students will have the unique opportunity to use the cutting-edge PLAYSTATION 3 development platform as they learn how to design and implement exciting applications for multi-core architectures. At the end of the course, students will have an understanding of:
The fundamental design philosophies that multi-core architectures address,
Parallel programming philosophies and emerging best practices.
This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month. The course can be tailored to a normal semester time line.
Consists of both pdf & video lecture on Introduction to concurrent programming. This lecture explores the following five topics Parallel Execution, Parallelizing Compilers, Dependence Analysis, Increasing Parallelization Opportunities, Generation of Parallel Loops. While the lecture is certainly of interest to writer of parallel compilers, it is also gives unique insights to application developers seeking to parallelize code. Students seeking to learn how to parallelize algorithms could gain benefit, especially from the data dependence analysis and iterations space explanations.
The lecture summary is as follows:
Automatic parallelization of loops with arrays
Requires Data Dependence Analysis
Iteration space & data space abstraction
An integer programming problem
Many optimizations that’ll increase parallelism
Transforming loop nests and communication code generation
Fourier-Motzkin Elimination provides a nice framework
Recommended Audience
The course is open to all students (undergraduates and graduates). Instructors strongly encourage small
teams of students per project. Teams of 4-5 students are likely to work best, but smaller teams are also plausible. Projects for this course are targeted around PLAYSTATION 3 console, along with programming and debugging tools, tutorials, and hands-on help.
Dr. Walter F. Tichy, Dr. Victor Pankratius, David Meder (all three of the University of Karlsruhe, Germany)
Description: This fascinating and detailed survey provides an overview of how parallelism and multicore/manycore topics are addressed in the current curricula of 200 international universities. Readers who are interested in seeing the influence of parallelism on state of the art university curricula will find this survey a must read. The survey lists courses with titles, instructors, keywords, abstracts, and also presents a summary.
The schools in the survey were selected by the University of Karlsruhe team based on popular rankings, and the survey itself is based on lectures only from regularly offered courses that address parallelism.
The results are categorized by graduate or undergraduate levels, and the following general curriculum buckets: algorithms, architecture/hardware, programming, distributed computing, multi-core, scientific computing/HPC, and theory of parallel computing.
The as-yet incomplete report seeks updates from institutions that are either currently or not currently included. The procedure for having your academic institution included in updates to this survey is included in the document itself.
Recommended Audience
Graduate and undergraduate students of computer and programming; IT instructors; curriculum designers; steering committees; courseware developers; teaching assistants; associate and full IT faculty