Developers Can Enhance Their OpenCL Parallel Programming Skills at This Full-Day Hands-On Tutorial

The “Advanced Hands-On OpenCL Tutorial” focuses on advanced OpenCL concepts and is an extension of the highly successful ‘Hands on OpenCL’ course which has received over 6,500 downloads from GitHub. Simon McIntosh-Smith, Professor in High Performance Computing at the University of Bristol and one of the tutorial authors will lead the sessions along with members of his research team.
speaker-simon

“I’m delighted to offer developers the opportunity to extend their OpenCL knowledge by running this advanced version of the open source Hands-On OpenCL tutorial.” said Simon McIntosh-Smith. “The course is based on my extensive “HandsOnOpenCL” online material which been incredibly popular on Github.  Anyone looking to extend their OpenCL skills beyond the introductory level should benefit from this one-day tutorial.”

Course Outline

The tutorial format is a 50/50 split between lectures and exercises and uses a mix of OpenCL C and C++ host APIs. Attendees will require their own laptop to log onto a server running OpenCL 1.0 thru OpenCL 2.0. Alternatively, students can run the exercises on their laptops using their preferred OpenCL SDK.

  • Aimed at all developers looking to use OpenCL on any platform
  • Attendees should have written at least one OpenCL program
  • There will be plenty of time for attendees to have specific OpenCL questions addressed.
  • Course Outline
    • Shipping kernel code,
    • Portable binaries with SPIR
    • OpenCL kernel compiler options
    • Kernel metaprogramming
    • Optimised host-device communications
    • Using multiple OpenCL devices
    • Performance portability
    • Coalesced memory accesses
    • Tuning work-group sizes
    • Vectorisation
    • OpenCL / OpenGL interoperability
    • The OpenCL ecosystem:
      • OpenCL 2.0 and future versions
      • OpenCL SPIR
      • OpenCL SYCL
      • OpenCL libraries
      • Other OpenCL resources

About the Presenter

Simon McIntosh-Smith is a leading OpenCL trainer, having taught the subject since 2009. He has run many OpenCL training courses at conferences such as SuperComputing and HiPEAC, and has provided OpenCL training for the UK’s national supercomputing service and for the Barcelona Supercomputing Center. With OpenCL training experience ranging from half day on-site introductions within companies, to three-day intensive hands-on workshops, Simon provides standard and customized OpenCL training courses. The tutorial will also be supported by members of Simon’s research team, all of whom are experienced OpenCL software developers. Follow Simon on Twitter: @simonmcs

Tutorial Support Materials

This is a “hands on” tutorial so you will need to be able to modify, compile and run OpenCL programs on your own machine. Fortunately OpenCL runs on almost anything, from laptops to supercomputers, from CPUs to GPUs.

You will be able to do the exercises using Linux, Windows or OSX. To test that you have OpenCL correctly installed on your machine, we have two OpenCL test programs that we want to you all run before you come.

You can find the two test programs in the following zip file:

http://www.cs.bris.ac.uk/home/simonm/OpenCL/IWOCL-2016-test.zip

Please follow these steps:

  1. Download and unpack the above zip file on your machine
  2. Read the README.md file – *THIS IS VERY IMPORTANT!!!*
  3. Do what it tells you to do in the README.md file (see, we told you it was important).

You should be able to run the two OpenCL programs (DeviceInfo and NBody) successfully. If you have any problems, please email the tutorial organiser, Simon McIntosh-Smith at simonm@cs.bris.ac.uk. Include details of what problem you’re seeing, and what machine and operating system you’re using etc.

If you have any questions about the tutorial, please do ask Simon at the email address above.

See you in Toronto!