Early Adopter Introduction to Parallel Computing: Research Intensive University: 4 th Year Elective Bo Hong Electrical and Computer Engineering Georgia.

Slides:



Advertisements
Similar presentations
CSE 160 – Lecture 9 Speed-up, Amdahl’s Law, Gustafson’s Law, efficiency, basic performance metrics.
Advertisements

Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan.
Scalable Multi-Cache Simulation Using GPUs Michael Moeng Sangyeun Cho Rami Melhem University of Pittsburgh.
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
Hong Lin Computer and Mathematical Sciences University of Houston – Downtown Teaching Parallel and Distributed Computing Using a Cluster Computing Portal.
Revisiting a slide from the syllabus: CS 525 will cover Parallel and distributed computing architectures – Shared memory processors – Distributed memory.
CSCE 210 Data Structures and Algorithms
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
Introduction CS 524 – High-Performance Computing.
L15: Review for Midterm. Administrative Project proposals due today at 5PM (hard deadline) – handin cs6963 prop March 31, MIDTERM in class L15: Review.
L13: Review for Midterm. Administrative Project proposals due Friday at 5PM (hard deadline) No makeup class Friday! March 23, Guest Lecture Austin Robison,
CS 284a, 7 October 97Copyright (c) , John Thornley1 CS 284a Lecture Tuesday, 7 October 1997.
Review for Test 2 i206 Fall 2010 John Chuang. 2 Topics  Operating System and Memory Hierarchy  Algorithm analysis and Big-O Notation  Data structures.
CUDA Programming Lei Zhou, Yafeng Yin, Yanzhi Ren, Hong Man, Yingying Chen.
Parallel Computer Architecture: Essentials for Both Computer Scientists and Engineers Edward F. Gehringer †* Yan.
Early Adopter: ASU - Intel Collaboration in Parallel and Distributed Computing Yinong Chen, Eric Kostelich, Yann-Hang Lee, Alex Mahalov, Gil Speyer, and.
To GPU Synchronize or Not GPU Synchronize? Wu-chun Feng and Shucai Xiao Department of Computer Science, Department of Electrical and Computer Engineering,
Jawwad A Shamsi Nouman Durrani Nadeem Kafi Systems Research Laboratories, FAST National University of Computer and Emerging Sciences, Karachi Novelties.
EduPar-13: Third NSF/TCPP Workshop on Parallel and Distributed Computing Education Sushil K Prasad Georgia State University.
TEMPUS JEP : TEACHING BUSINESS INFORMATION SYSTEMS CURRICULUM DEVELOPMENT Information Technology courses Second Project Meeting, Belgrade, January.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Adding PDC within a Six-Course Subset of the CS Major Apan Qasem Texas State University.
Trip report: GPU UERJ Felice Pantaleo SFT Group Meeting 03/11/2014 Felice Pantaleo SFT Group Meeting 03/11/2014.
NSF/TCPP Curriculum Planning workshop Behrooz Shirazi Washington State University February 2010.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
Integrating Parallel and Distributed Computing Topics into an Undergraduate CS Curriculum Andrew Danner & Tia Newhall Swarthmore College Third NSF/TCPP.
CIS4930/CDA5125 Parallel and Distributed Systems Florida State University CIS4930/CDA5125: Parallel and Distributed Systems Instructor: Xin Yuan, 168 Love,
CSE332: Data Abstractions Lecture 26: Course Victory Lap Dan Grossman Spring 2012.
Lecture 10: Class Review Dr John Levine Algorithms and Complexity March 13th 2006.
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
Course Wrap-Up Miodrag Bolic CEG4136. What was covered Interconnection network topologies and performance Shared-memory architectures Message passing.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology.
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
Training Computer Users Writing For End Users. What is Training? Focus on performing activities building expertise that will be immediately useful.
CSC 7600 Lecture 28 : Final Exam Review Spring 2010 HIGH PERFORMANCE COMPUTING: MODELS, METHODS, & MEANS FINAL EXAM REVIEW Daniel Kogler, Chirag Dekate.
Data Structures Lecture 1: Introduction. Course Contents Data Types   Overview, Introductory concepts   Data Types, meaning and implementation  
Summary and Review. Course Objectives The main objectives of the course are to –introduce different concepts in operating system theory and implementation;
Introducing Every CS Major to Parallel Programming: Baby Steps at Ohio State Gagan Agrawal Feng Qin P. Sadayappan.
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
Fall-11: Early Adoption of NSF/TCPP PDC Curriculum at Texas Tech University and Beyond Yong Chen Yu Zhuang Noe Lopez-Benitez May 10 th, 2013.
Multi-Semester Effort and Experience to Integrate NSF/IEEE-TCPP PDC into Multiple Department- wide Core Courses of Computer Science and Technology Department.
Thesis Project Process Brian Newberry Spring 2013.
2/22/2010 TESL 3240 Curriculum Development and Materials Design Course overview.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College.
Threaded Programming Lecture 1: Concepts. 2 Overview Shared memory systems Basic Concepts in Threaded Programming.
CSci6702 Parallel Computing Andrew Rau-Chaplin
NSF/TCPP Curriculum Planning Workshop Joseph JaJa Institute for Advanced Computer Studies Department of Electrical and Computer Engineering University.
Parallel Computing Presented by Justin Reschke
Performance Evaluation of Parallel Algorithms on a Computational Grid Environment Simona Blandino 1, Salvatore Cavalieri 2 1 Consorzio COMETA, 2 Faculty.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
“A Learner-Centered Computational Experience in Nanotechnology for Undergraduate STEM Students” IEEE ISEC 2016 Friend Center at Princeton University March.
Computer Architecture Organization and Architecture
Defining the Competencies for Leadership- Class Computing Education and Training Steven I. Gordon and Judith D. Gardiner August 3, 2010.
Parallel Algorithm Design & Analysis Course Dr. Stephen V. Providence Motivation, Overview, Expectations, What’s next.
Introduction toData structures and Algorithms
Accelerators to Applications
Chapter 4: Multithreaded Programming
Parallel and Distributed Algorithms (CS 6/76501) Spring 2007
Inculcating “Parallel Programming” in UG curriculum
ECE/CS 757: Advanced Computer Architecture II
Distributed Computing:
EE 4xx: Computer Architecture and Performance Programming
Workshop on Connecting Concepts Across the Curriculum
Dr.P.Chitra,Professor Department of Computer Science and Engineering
ECE 8823: GPU Architectures
Welcome to CSci8211: Advanced Computer Networks and Their Applications aka Basic Architecture, Mechanisms and Research Issues in Emerging Software-Defined.
Chapter 01: Introduction
Computer Engineering Department Islamic University of Gaza ECOM 6301
Presentation transcript:

Early Adopter Introduction to Parallel Computing: Research Intensive University: 4 th Year Elective Bo Hong Electrical and Computer Engineering Georgia Institute of Technology

2 Syllabus – Overview (1) Format –A 4 th 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

3 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

4 Syllabus – Topical Coverage (1) TopicsBLOOM#HoursSource Parallel Architectures Stacks and thread executionK1Addition to the proposed curriculum Multi-threading on shared memory computers C1Addition to the proposed curriculum Memory Hierarchy and cache coherency K1NSF-TCPP Curriculum Architecture (C) Snoopy based cache coherency C2NSF-TCPP Curriculum Architecture (N) Directory based cache coherency A2NSF-TCPP Curriculum Architecture (N) Interconnect, topologies and routing A1NSF-TCPP Curriculum Architecture (C/K) Massive multi-threading and GPU K2Addition to the proposed curriculum NSF/IEEE-TCPP PDC Curriculum

5 Syllabus – Topical Coverage (2) TopicsBLOOM#HoursSource Parallel Programming SIMDK1NSF-TCPP Curriculum Programming (K) Shared MemoryK2NSF-TCPP Curriculum Programming (A) Message PassingK2NSF-TCPP Curriculum Programming (C) SynchronizationA1NSF-TCPP Curriculum Programming (A) Pthread LibraryK3NSF-TCPP Curriculum Programming (C) MPIK3Briefly mentioned in the proposed curriculum CUDAK3Briefly mentioned in the proposed curriculum NSF/IEEE-TCPP PDC Curriculum

6 Syllabus – Topical Coverage (3) TopicsBLOOM#HoursSource Parallel Algorithms AsymptoticsK1NSF-TCPP Curriculum Algorithm (C) Speedup, efficiency, cost, and scalability K2NSF-TCPP Curriculum Algorithm (C/K/N) Broadcast, reduction, scatter and gather C3NSF-TCPP Curriculum Algorithm (C/A) Matrix multiplicationK3NSF-TCPP Curriculum Algorithm (optional) Solving linear systemsK2NSF-TCPP Curriculum Algorithm (optional) Sorting (merge, bitonic, quick)K/C3NSF-TCPP Curriculum Algorithm (C) Graphs (minimum spanning tree) C2Addition to the proposed curriculum FFTK/C3Addition to the proposed curriculum NSF/IEEE-TCPP PDC Curriculum

7 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

8 Evaluation (1) Pedagogy 1.Gradual transition from sequential experience to parallel thinking 2.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

9 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

10 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

11 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

12 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