Offloading & CUDA: Parallelism in C++ #3/3 (also OpenMP, OpenACC, GPU & Coprocessors like Xeon Phi)

Computer programs can be made faster by making them do many things simultaneously. Let’s study three categorical ways to accomplish that in GCC. In the third episode, we study ways to offload code to various accelerators such as GPU on a graphics card. We also explore CUDA. The previous episode can be found at:    • Threads/Multiple cores: Parallelism in C++...   As a plot device in this tool-assisted education video, a Mandelbrot fractal is rendered. Twitter:   / realbisqwit   Liberapay: https://liberapay.com/Bisqwit (alternatives at https://iki.fi/bisqwit/donate.html) Twitch:   / realbisqwit   Homepage: https://iki.fi/bisqwit/ OpenMP HQ: http://www.openmp.org/ OpenACC HQ: https://www.openacc.org/ You can contribute subtitles: https://www.youtube.com/timedtext_vid... All downloads and compilation instructions: — https://github.com/bisqwit/cpp_parall... Background music: — Aoki Densetsu Shoot-bang — Game 01 — Kennosuke Suemura — Energy Breaker ­— Golden-Colored Wind — Yukio Nakajima — Tales of Phantasia ­— I Miss You — Motoi Sakuraba All music is played through OPL3 synthesis. Sound effects and foley are mostly from YouTube Audio Library. Some are recorded from video games like The Guardian Legend, Duck Hunt, Earthbound, and Super Mario All-Stars. Peter Penguin and Hazel Hopkins are characters of the Hackles webcomic which is © Drake Emko & Jen Brodzik. You can read it at: http://hackles.org/cgi-bin/archives.p... #Bisqwit #Parallelism #Tutorial #Programming #Offloading #CUDA #NVidia #VectorCalculation