560.602 GPU/CPU Programming for Engineers
(https://www.ce.jhu.edu/dalrymple/classes/602)
Prof. Robert
A.
Dalrymple
Fall, 2014
[email protected]
201 Latrobe Hall
410 516 7923
Meeting Time:
|
T Th 4:30-5:45 |
Location: |
Krieger 307 |
Goal:
You will learn to write C++ computer programs. You will also learn to write them, using
the full capability of multi-core CPUs and Nvidia GPUs for large computational speed-ups.
Tools you will use include OpenMP for CPU programming, and CUDA for GPU programs.
Grading:
Homework/Classwork
|
20%
|
Midterm Exam
|
30
|
Programming Project
|
25
|
Final Exam
|
25
|
Topics
- C++ Programming
- OpenMP--multi-core parallel programming
- CUDA--GPU Programming
- CUDA Thrust Programming
- Using CUDA libraries
Web Resources and References
- C++ Language
- C++ Overview
- Thinking in C++, 2nd Ed., Vols 1 & 2, Bruce Eckel
- C++ Library Reference
- Introduction to Parallel Computing, Blaise Barney
- POSIX Threads Programming, Blaise Barney
- Guide to OpenMP: Easy Multithreading Programming for C++, Joel Yliluoma
- Intel: Getting Started with OpenMP, Richard Gerber
- Intel: More Work-Sharing with OpenMP, Richard Gerber
- Intel: Advanced OpenMP Programming, Richard Gerber
- GNU libgomp, the GNU OpenMP libary
- An Easy Introduction to CUDA C and C++, Mark Harris
- Nvidia CUDA Documentation and Guides