IntroductionGraphics Processing UnitParallel by DesignSpeed Benefits


Figure 1

Screenshot of the YoutTube video showing a GPU

Using your GPU with CuPyIntroduction to CuPyConvolutions in PythonA scientific application: image processing for radio astronomy


Figure 1

Grid of Dirac delta functions.
Grid of Dirac delta functions

Figure 2

Example of animated convolution
Example of animated convolution.

Figure 3

Data flow of a map operation
Dataflow of a map operation.

Figure 4

Data flow of a stencil operation
Dataflow of a stencil operation.

Figure 5

Two-dimensional Gaussian
Two-dimensional Gaussian.

Figure 6

Grid of Gaussians in the convoluted image
Grid of Gaussian surfaces in the convoluted image.

Figure 7

CPU and GPU are separate entities with an own memory
CPU and GPU are separate entities with an own memory.

Figure 8

Image of the Galactic Center
Image of the Galactic Center at the radio frequency of 150 MHz

Accelerate your Python code with NumbaUsing Numba to execute Python code on the GPU


A Better Look at the GPUThe GPU, a High Level View at the HardwareHow Programs are ExecutedDifferent MemoriesAdditional Material


Figure 1

The connection between CPU and GPU
The connection between CPU and GPU

Figure 2

Screenshot of the YouTube video showing a slide

Your First GPU KernelSumming Two Vectors in PythonSumming Two Vectors in CUDARunning Code on the GPU with CuPyUnderstanding the CUDA CodeComputing Hierarchy in CUDAVectors of Arbitrary Size


Registers, Global, and Local MemoryRegistersGlobal MemoryLocal Memory


Shared Memory and SynchronizationShared MemoryThread Synchronization


Constant MemoryConstant Memory


Concurrent access to the GPUConcurrently execute two kernels on the same GPUStream synchronizationMeasure execution time using streams and events