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. Check out some of the university courses and resources below.
Oregon State University
Oregon State University is taking its desktop parallel programming course online through its award-winning Ecampus program. This course is targeted towards:
- Computer Science students or recent graduates who want to see how to apply what they have been learning to the new multicore-based and GPU-based programming platforms.
- Mid-career CS people who could use some extra knowledge and experience to boost their careers and/or want to know more about OpenCL™.
Whether you are a game developer, an engineer, a chemist, a biologist, a physicist, etc., this is a great time to explore how to get more performance from the computers you probably already have.
It’s not a MOOC – you get actual college credit for it. (4 to be exact)
OpenCL University Kit
AMD presents the OpenCL University Kit v1.1 which includes support for OpenCL v1.2, 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
- Download the OpenCL University Kit v1.1 (Zip, 10.22MB)
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.
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.
Teaching an OpenCL Course?
Let the world know about it. Send us an email at DevCentralWebmaster [at] amd [dot] com.