
Heavy computational workloads have traditionally been processed on a CPU, but technology is shifting to a new computing paradigm that relies more on the GPU or a combination of GPU and CPU. OpenCL is the widely adopted industry standard for running parallel tasks on CPUs and GPUs using the same code. To helpprepare developers for a changing marketplace, AMD provides educational institutions with the resources they need to incorporate OpenCL programming into their curricula.
OpenCL University Kit
AMD presents the OpenCL University Kit, a set of materials for teaching a full semester course in OpenCL programming. Each lecture includes instructor notes and speaker notes, plus code examples for lectures 2, 3, and 13. A sample application is provided for lecture 9.
Students only need basic knowledge of C/C++ programming to understand the materials in this course, and those students with basic knowledge of OpenCL programming can start with Lecture 5. A C/C++ compiler and an OpenCL implementation (such as the
AMD APP SDK) are needed to complete the exercises.
Lecture 1: Introduction to Parallel Computing
Lecture 2: Introduction to OpenCL
Lecture 3: Introduction to OpenCL, continued
Lecture 4: GPU Architecture
Lecture 5: OpenCL Buffers and Complete Examples
Lecture 6: Understanding GPU Memory
Lecture 7: GPU Threads and Scheduling
Lecture 8: Optimizing Performance
Lecture 9: OpenCL Programming and Optimization Case Study
Lecture 10: OpenCL Extensions
Lecture 11: Events Timing and Profiling
Lecture 12: Debugging
Lecture 13: Programming Multiple Devices
We welcome your feedback and suggestions, and especially would like to know where you are using these materials. Please add your university course to our listings of
OpenCL courses worldwide.
OpenCL Textbook
The textbook, Heterogeneous Computing with OpenCL, being made available in August, will cover OpenCL programming on CPUs, GPUs and Accelerated Processing Unites (APUs). This textbook is independent from the university kit slide deck, but will be a helpful additional resource for students to learn OpenCL. This textbook covers basics of parallel computing, optimization and debugging methodologies and it includes multiple examples and case studies for developers and students to apply to their own projects.
Instructors can
click here for evaluation copies or to download supporting materials for
using this book in the classroom.
University Course Listings
A number of educational institutions now offer courses in OpenCL programming to help prepare developers for the new era of heterogeneous computing. Please visit the
University Course Listings page for details, and for information about how you can list your course.
Research Projects
AMD sponsors research covering strategic themes, including projects that affect broad industry advancement of standard, open systems.