OpenCL GPU training

Niveau
Tijdsduur
Logo van Stream HPC

Tip: meer info over het programma, startdatum, prijs, en inschrijven? Download de brochure!

Startdata en plaatsen

Er zijn nog geen startdata bekend voor dit product.

Beschrijving

Schedule

The training consists of two sessions of two days: Monday, Tuesday, Thursday and Friday, where Wednesday is a resting day. Around 40% consist of lectures and 50% lab-sessions and 10% discussions.

Important:

  • The training is guaranteed to take place. If you are the only one, you’ll simply get personal training.
  • The below schedule is indicative when it comes to lab-sessions – some lab-sessions can be (partly) skipped or replaced if time is getting too limited.

Day 1: OpenCL Foundations (For beginners only)

This is close to our standard OpenCL crash course. We start with the basic concepts, write our fist OpenCL program, discuss the architectures, discuss the difficulties of G…

Lees de volledige beschrijving

Veelgestelde vragen

Heb je een vraag? Onze adviseurs helpen je graag. Bel ons op 085 7440830 of e-mail naar info@springest.nl.

Nog niet gevonden wat je zocht? Bekijk deze onderwerpen: Programmeren voor beginners, PHP, Web Development, Programmeren (algemeen) en Web 2.0.

Schedule

The training consists of two sessions of two days: Monday, Tuesday, Thursday and Friday, where Wednesday is a resting day. Around 40% consist of lectures and 50% lab-sessions and 10% discussions.

Important:

  • The training is guaranteed to take place. If you are the only one, you’ll simply get personal training.
  • The below schedule is indicative when it comes to lab-sessions – some lab-sessions can be (partly) skipped or replaced if time is getting too limited.

Day 1: OpenCL Foundations (For beginners only)

This is close to our standard OpenCL crash course. We start with the basic concepts, write our fist OpenCL program, discuss the architectures, discuss the difficulties of GPU-programming, compare to CUDA and C++, and end with writing simple code that runs on a laptop (CPU or GPU).

  • OpenCL model
  • OpenCL language
  • Memory objects
  • General hardware overview
  • Task-parallelism and data-parallelism
  • Mapping OpenCL to CPUs and GPUs

The lab-sessions are all done on your own laptops.

Lab-sessions:

  • Clinfo
  • ColorBalance

Day 2: Optimise a program from scratch

During the day, we will increase the level of requirements and touch all important aspects of OpenCL-programming.

  • As we have several GPU-servers available for developing, we can provide you with login-credentials, a git-account and a short how-to for using the extra GPUs from NVidia and AMD, optionally Intel. This way you can use different graphic cards to find out which optimisations work and don’t work.

Optimisations we discuss during this day:

  • Host-code
  • Data-flow
  • Memory handling
  • Data transfer speed increase
  • Memory alignments
  • Scheduling
  • Parallelism increase
  • Latency reduction
  • The most important kernel-optimisations from the different vendors

Lab-sessions:

  • Matrix-multiplication
  • Convolution

Day 3: Pause day

We found that most people need to have a break after two days, to let the information sink in.

For the Amsterdam training we offer an optional tour through the city in the afternoon.

Day 4: Memory optimisations

We start with discussing what we learned and did not learn. We focus on a few subjects of day 2 that were not clear enough.

Today we focus on creating and optimising more advanced software:

  • Histogram
  • Contrast Stretching
  • Frame correlation

As each of these take about 3 hours, we try to already start on day two or continue on day five if needed.

Day 5: Tools, special subjects and final project

There are various tools you need to understand to get code that runs well on GPUs. This day you will learn to use various vendor-provided and open source tools to help you analyse your code.

  • We have used tools from one vendor and are updating the materials to use open source tools that work on various

The tools are discussed and used along the following four subjects:

  • Software correctness: data-races.
  • Profiling: timing and finding hot-spots
  • Reporting: let tools create useful reports.
  • Debugging: finding bugs and learning what actually happens.

Special subjects:

  • Splitting work over CPU&GPU: Running different kernels on CPU and GPU, to make maximum use of the whole computer.
  • GL-CL interop: Understanding how interoperability with OpenGL works. With this the results can be shown on the screen with minimal latency.
  • Optimising data-throughput when using multiple kernels.

Lab-sessions:

  • Fixing non-optimal and broken code

The final project you will need to use all you’ve learnt and try to get the fastest code from class.

StreamComputing - the OpenCL company

Blijf op de hoogte van nieuwe ervaringen

Er zijn nog geen ervaringen.

Deel je ervaring

Heb je ervaring met deze cursus? Deel je ervaring en help anderen kiezen. Als dank voor de moeite doneert Springest € 1,- aan Stichting Edukans.

Heb je een vraag? Onze adviseurs helpen je graag. Bel ons op 085 7440830 of e-mail naar info@springest.nl.

Download gratis en vrijblijvend de informatiebrochure

Aanhef
(optioneel)
(optioneel)
(optioneel)
(optioneel)
(optioneel)
(optioneel)

Heb je nog vragen?

(optioneel)
We slaan je gegevens op om je via e-mail en evt. telefoon verder te helpen.
Meer info vind je in ons privacybeleid.