Instructor Notes

This is a placeholder file. Please add content here.

IntroductionGraphics Processing UnitParallel by DesignSpeed Benefits


Using your GPU with CuPyIntroduction to CuPyConvolution in PythonConvolution on the CPU Using SciPyConvolution on the GPU Using CuPyMeasuring performanceValidationA shortcut: performing NumPy routines on the GPUA real world example: image processing for radio astronomySource measurements


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 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