16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

What is the format of the course<br />

0804021 is a 2 credit course with 28 lecture hours and 12 lab hours. Classes typically meet twice per week for<br />

lecture, with lab sessions completed in tutoring labs outside of lecture. Course material is available online. The<br />

course is taught online and face-to-face. Generally there is a combination of lectures, class discussion, case studies,<br />

written term papers, and team research and presentation.<br />

How are students assessed<br />

Students are assessed on a combination of class attendance, group activities, discussion, projects, participation in<br />

parallel programming competition held by enterprises, and a comprehensive <strong>final</strong> exam.<br />

Course textbooks and materials<br />

• C Lin, L Snyder. Principles of Parallel Programming. USA: Addison-Wesley Publishing Company, 2008.<br />

• B Gaster, L Howes, D Kaeli, P Mistry, and D Schaa. Heterogeneous Computing With Opencl. Morgan<br />

Kaufmann Publishing and Elsevier, 2011.<br />

• A Grama, A Gupra, G Karypis, V Kumar. Introduction to Parallel Computing (2nd ed.). Addison Wesley,<br />

2003.<br />

• J Jeffers, J Reinders. Intel Xeon Phi Coprocessor High-Performance Programming. Morgan Kaufmann<br />

Publishing and Elsevier, 2013.<br />

• T Mattson, B Sanders, B Massingill. Patterns for Parallel Programming. Addison-Wesley Professional, 2004.<br />

Why do you teach the course this way<br />

Being funded by the Project of “Parallel Programming Principle and Practice” from the Ministry of Education<br />

(MOE) of the People’s Republic of China to design a syllabus for senior undergraduate students on parallel and<br />

distributed programming, we serve as the China’s first pilot of restructured courses to integrate topics of<br />

<strong>CS2013</strong>/TCPP Curriculum Initiative on PDC requirements into the undergraduate curriculum.<br />

The goal of the course is to provide an introduction to parallel computing including parallel computer architectures,<br />

analytical modeling of parallel programs, principles of parallel algorithm design. We will introduce existing<br />

mainstream parallel programming environment and present development situation, which will make the students<br />

understand the basic knowledge of parallel programming. The labs will guide students to use tools to simulate an<br />

optimized parallel program, enable them to master skills to design, code, debug, analysis and optimize some<br />

mainstream parallel software.<br />

The course has a good reputation among students. The students that have taken this course won Best MIC<br />

performance award at “Asia Student Supercomputer Challenge 2013” (http:// www.ascevents.org/13en/index13en.php).<br />

This course has been granted an Early Adopter status by the NSF/TCPP curriculum<br />

committee (http://www.cs.gsu.edu/~tcpp/curriculum/q=list-of-early-adopters-fall-2012.html).<br />

Body of Knowledge coverage<br />

KA Knowledge Unit Topics Covered Hours<br />

PD Parallelism Fundamentals Overview: Parallel computing, architectural demands and trends, goals<br />

of parallelism, communication, coordination<br />

2<br />

PD Parallel Decomposition Independence and partitioning, Data and task decomposition,<br />

Synchronization<br />

1<br />

PD<br />

Communication and<br />

Coordination<br />

Shared Memory, Threads, Message Passing, Consistency 2<br />

- 340 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!