Instructor Notes

This is a placeholder file. Please add content here.

IntroductionGraphics Processing UnitParallel by DesignSpeed Benefits


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


Instructor Note

The “A scientific application: image processing for radio astronomy” section is substantial and assumes some familiarity with radio astronomy concepts. If time is limited or the audience has no astronomy background, this section can be skipped without loss of continuity, as the core CuPy concepts are fully covered in the preceding sections.



Using PyTorch for GPU ComputingIntroduction to PyTorch


Instructor Note

The following section demonstrates how PyTorch compiles and fuses the operations in the computation graph. Instructors may choose to demonstrate this information to the class if time permits. However, it can also be skipped as it may be too advanced for learners new to GPU concepts.



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


Your First GPU KernelSumming Two Vectors in PythonSumming Two Vectors in CUDARunning Code on the GPUUnderstanding 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