Tutorial: Introduction to OpenCL

Speaker: Janito Vaqueiro Ferreira Filho
Brazilian Synchrotron Light Laboratory

Even though computers are becoming ever more parallel, the extra parallelism isn’t always used due to the extra complexity required to develop software capable of taking advantage of it. This session offers a simple introduction to a tool that helps with the development of parallel software, with the focus on taking advantage of one of the most powerful and parallel devices available today: GPUs (Graphic Processing Units). It covers the basics necessary to start using OpenCL to improve highly parallel aspects of software, including:

  1. Why parallel software development is more complex
  2. The different approaches to parallelism
  3. The use of GPUs as co-processors
  4. The abstraction of co-processors by OpenCL
  5. Managing the available co-processors
  6. Using the co-processors with kernels and the OpenCL C language