120 likes | 286 Views
Early Adopter Introduction to Parallel Computing : Research Intensive University: 4 th Year Elective. Bo Hong Electrical and Computer Engineering Georgia Institute of Technology. Syllabus – Overview (1). Format A 4 th year elective course on parallel computing. Target Audience
E N D
Early AdopterIntroduction to Parallel Computing:Research Intensive University: 4th Year Elective Bo Hong Electrical and Computer Engineering Georgia Institute of Technology
Syllabus – Overview (1) • Format • A 4th year elective course on parallel computing. • Target Audience • students who have background in computer organization and programming, and would like to learn parallel computing. NSF/IEEE-TCPP PDC Curriculum
Syllabus – Overview (2) • Topical Coverage: • Parallel computing systems • Parallel programming • Parallel algorithms • Expected Outcomes: • Upon completion of the course, the students are expected to (1) understand parallel computing systems, and (2) be able to design algorithms and implement programs for such systems. NSF/IEEE-TCPP PDC Curriculum
Syllabus – Topical Coverage (1) NSF/IEEE-TCPP PDC Curriculum
Syllabus – Topical Coverage (2) NSF/IEEE-TCPP PDC Curriculum
Syllabus – Topical Coverage (3) NSF/IEEE-TCPP PDC Curriculum
Teaching Experience: Melding with Old Topics • Students knew uni-thread execution mechanisms before coming to the course. • The lectures analyzed the role of stacks and address spaces for uni-threads, and then extended the analysis to multiple threads. • Students found it easy to understand the execution of multi-threaded programs, which further extends to other parallel computing models. NSF/IEEE-TCPP PDC Curriculum
Evaluation (1) • Pedagogy • Gradual transition from sequential experience to parallel thinking • Explanation of abstract concepts via concrete examples (e.g. cache coherency) • Student feedbacks • Item 1 is important for accepting parallel thinking • Item 2 is helpful for understanding of the materials NSF/IEEE-TCPP PDC Curriculum
Evaluation (2) • Learning outcome • Evaluated through programming projects (pthread/MPI/CUDA intro, finding prime numbers, solving linear systems, sorting) and a final survey on current topics • With the course, the students • can approach a problem with parallel thinking • understand the mechanisms of different parallel architectures • can design and analysis simple parallel algorithms • can implement and evaluate parallel algorithms using pthread, MPI, and CUDA NSF/IEEE-TCPP PDC Curriculum
Evaluation (3) • Appropriateness of topical overages • Students find that • The topics are comprehensive, and it is appreciated • Some topics are complicated (cache coherency, CUDA programming, synchronization, etc) • Students suggest that • Add some brief discussions on the current state-of-the-art of parallel computing • Include more hands-on programming projects to help understand the concepts NSF/IEEE-TCPP PDC Curriculum
Deviation from the Proposed Curriculum and the Impact • Additions to the curriculum • Thread execution mechanisms • facilitates the sequential-to-parallel transition • Massive multi-threading and GPU • helps cover the emerging field of GPU computing • Minimum spanning tree and FFT • discusses two useful applications of parallel computing • Expected level of understanding of the topics • Slight adjusted to fit the comprehensive introductory course NSF/IEEE-TCPP PDC Curriculum
Summary • With the introductory course, the students achieved the expected learning outcome. • The comprehensiveness and level of difficulty of the course are appreciated by the students. NSF/IEEE-TCPP PDC Curriculum