You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{"name":"Hands On OpenCL","tagline":"An open source two-day lecture course for teaching and learning OpenCL","body":"**Note: This is a pre-release, in production version of the lecture material**\r\n\r\nCheck back soon for the final release!\r\n\r\n### Welcome\r\nIntroductory paragraph about the course\r\n\r\n### Course Structure\r\n1. Introduction to Heterogeneous Parallel Computing\r\n * Setting up your OpenCL environment (AMD, Intel, NVIDIA)\r\n\r\n2. An overview of OpenCL\r\n\r\n3. Important OpenCL concepts\r\n * Platforms, contexts, programs, queues, buffers and kernels\r\n * NDRanges, Work‐Groups, Work-Items\t\r\n \r\n4. Overview of OpenCL APIs\r\n * C, C++ and Python\t\r\n \r\n5. Introducing OpenCL kernel programming\r\n \r\n6. Understanding the OpenCL memory hierarchy\r\n \r\n7. Synchronization in OpenCL\r\n * Events and barriers\r\n \r\n8. Heterogeneous computing with OpenCL\r\n * Using CPUs and GPUs simultaneously, multiple platforms and devices\r\n \r\n9. Optimizing OpenCL performance\r\n * Profiling\t\r\n \r\n10. Enabling portable performance via OpenCL\r\n * Autotuning\r\n \r\n11. Debugging OpenCL\r\n \r\n12. Porting CUDA to OpenCL\r\n \r\n\r\n### Examples\r\nDownload the examples by checking out the git repository with the command:\r\n\r\n`git clone git://github.com/HandsOnOpenCL/Exercises-Solutions.git`\r\n\r\n1. Example 1\r\n1. Example 2\r\n\r\n### Authors and Contributors\r\nSimon McIntosh-Smith\r\n\r\nTom Deakin (@tomdeakin)\r\n\r\n### Support or Contact\r\nFound a bug or with to suggest an update to the material?\r\nPlease submit a new Issue in the relevant repository.\r\n\r\nFixed a bug yourself? Please submit a pull request. Thanks.","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
1
+
{"name":"Hands On OpenCL","tagline":"An open source two-day lecture course for teaching and learning OpenCL","body":"**Note: This is a pre-release, in production version of the lecture material**\r\n\r\nCheck back soon for the final release!\r\n\r\n### Welcome\r\nIntroductory paragraph about the course\r\n\r\n### Course Structure\r\n1. **Introduction to Heterogeneous Parallel Computing**\r\n\r\n Setting up your OpenCL environment (AMD, Intel, NVIDIA)\r\n\r\n2. **An overview of OpenCL**\r\n\r\n3. **Important OpenCL concepts**\r\n\r\n Platforms, contexts, programs, queues, buffers and kernels\r\n\r\n NDRanges, Work‐Groups, Work-Items\t\r\n \r\n4. **Overview of OpenCL APIs**\r\n\r\n C, C++ and Python\t\r\n \r\n5. **Introducing OpenCL kernel programming**\r\n \r\n6. **Understanding the OpenCL memory hierarchy**\r\n \r\n7. **Synchronization in OpenCL**\r\n\r\n Events and barriers\r\n \r\n8. **Heterogeneous computing with OpenCL**\r\n\r\n Using CPUs and GPUs simultaneously, multiple platforms and devices\r\n \r\n9. **Optimizing OpenCL performance**\r\n\r\n Profiling\t\r\n \r\n10. **Enabling portable performance via OpenCL**\r\n\r\n Autotuning\r\n \r\n11. **Debugging OpenCL**\r\n \r\n12. **Porting CUDA to OpenCL**\r\n \r\n\r\n### Examples\r\nDownload the examples by checking out the git repository with the command:\r\n\r\n`git clone git://github.com/HandsOnOpenCL/Exercises-Solutions.git`\r\n\r\n1. **Platform Information**\r\n\r\n Run a simple OpenCL program to give you some key facts about the devices available in your system.\r\n\r\n\r\n2. **VADD - The OpenCL \"Hello World\"**\r\n\r\n Start by looking at the C API for this program which introduces the OpenCL computational model.\r\n\r\n\r\n3. **VADD - Now in C++ and Python**\r\n\r\n\r\n4. **Chaining vector add kernels**\r\n\r\n Extend VADD to compute C=A+B; D=C+E; F=D+G by running the kernel multiple times.\r\n\r\n\r\n5. **Extend VADD for D = A + B + C**\r\n\r\n Extend the VADD kernel to compute a different sum.\r\n\r\n\r\n6. **Matrix Multiplication**\r\n\r\n Write your first OpenCL kernel from scratch.\r\n\r\n\r\n7. **Optimize memory movement costs for Matrix Multiplication**\r\n\r\n Use local and private memory to minimize memory costs.\r\n\r\n\r\n8. **The Pi program**\r\n\r\n Estimate Pi by integration.\r\n\r\n\r\n9. **Heterogeneous Computing**\r\n\r\n Run your kernels on many devices.\r\n\r\n\r\n10. **Profiling OpenCL programs**\r\n\r\n Experiment making things run faster.\r\n\r\n\r\n11. **Optimize matrix multiplication**\r\n\r\n Look at portable performance (combining 9. and 10.)\r\n\r\n\r\n12. **Porting CUDA to OpenCL**\r\n\r\n Convert a simple CUDA application to OpenCL (program TBA).\r\n\r\n### Authors and Contributors\r\nSimon McIntosh-Smith, University of Bristol\r\n\r\nTom Deakin (@tomdeakin)\r\n\r\n### Support or Contact\r\nFound a bug or with to suggest an update to the material?\r\nPlease submit a new Issue in the relevant repository.\r\n\r\nFixed a bug yourself? Please submit a pull request. Thanks.","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
0 commit comments