COMP 426CONCORDIA UNIVERSITY
DEPARTMENT OF
COMPUTER SCIENCE AND SOFTWARE ENGINEERING
COMP 426 FALL 2019
MULTICORE PROGRAMMING
INSTRUCTOR
Name: R. Jayakumar
Office: EV 3.151
Office Hours: Tuesdays and Thursdays 16:00 to 17:00
Phone: 848-2424 ext. 3011
E-mail: [email protected]
COURSE OBJECTIVES AND PLAN
The objective of this course is to introduce some of the essential concepts, methodologies and
practices of multicore programming. The course will cover the following.
• Multicore Architecture and Programming: Shared-memory parallel programming concepts
for multicore architectures. Intel Threading Building Block (TBB) programming for
homogeneous multicore processors. CUDA programming for massively parallel
computation. Heterogeneous multicore programming using OpenCL.
• Patterns for Parallel Programming: Concurrency in parallel programs. Patterns for
finding concurrency and patterns for algorithm structure.
PREREQUISITE
The stated prerequisite is COMP 346: Operating Systems. Experience in multithreaded
concurrent programming is essential.
TEXT BOOK
David Kaeli, Perhaad Mistry, Dana Schaa and Dong Ping Zhang, Heterogeneous Computing with
OpenCL 2.0, Third Edition, Morgan Kaufmann, 2015, ISBN: 978-0-12-801414-1.
REFERENCES
1. Gerassimos Barlas, Multicore and GPU Programming: An Integrated Approach, Morgan
Kaufmann Publishers, 2014, ISBN: 978- 0124171374.
2. James Reinders, Intel Threading Building Blocks, O’Reilly, 2007, ISBN: 0-596-51480-8.
3. David B. Kirk and Wen-mei W. Hwu, Programming Massively Parallel Processors, Second
Edition, Morgan Kaufmann Publishers, 2012, ISBN: 978-0-12-415992-1.
4. Matthew Scarpino, OpenCL in Action: How to accelerate graphics and computations,
Manning Publications, 2012, ISBN: 978-1-61-729017-6.
5. Timothy G. Mattson, Beverly A. Sanders, and Berna L. Massingill, Patterns for Parallel
Programming, Addision-Wesley Professional, 2005, ISBN: 0-32-122811-1
COURSE WEB PAGE