💡 Giveaway steps:
✅ 1. Register to NVIDIA GTC via https://nvda.ws/3kvUNTr
✅ 2. Wait for #GTC23 to start and join the Keynote livestream.
✅ 3. Attend GTC sessions (there’s really a lot of sessions going on - just pick one you’re interested in) 😄
✅ 4. Screenshot me a proof that you attended the keynote and a session of your choice on my email: [email protected]
✅ 5. Subscribe to my YouTube channel here - https://www.youtube.com/ahmadbazzi?su... 😅
✉️ Email: [email protected]
⏱Outline:
00:00 Intro
01:45 4080 RTX Giveaway steps
02:45 Importing numba
03:00 Importing numpy
03:21 Importing exponential from math
03:30 The CUDA JIT decorator @cuda.jit
04:21 Gaussian kernel filter for CUDA
06:02 CUDA to device
06:33 Convolution for CUDA
09:55 Python Imaging Library
10:36 grayscale imaging
11:08 CUDA to device
11:17 CUDA device array like
11:29 Computing the Gaussian kernel
12:31 The CUDA convolution
12:41 Plotting via matplotlib
12:57 Testing for different sigma values
13:06 Outro
📚Related Lectures
• Striding CUDA like i'm Johnnie Walker
• CUDA Programming on Python
• The BEST & SMALLEST AI supercomputer ...
• Quick Deploy: Object Detection via NG...
• Voice Swap using NVIDIA's NeMo on Pyt...
📚 Image processing:
Image processing is a field of computer science and engineering that deals with analysis, manipulation, and interpretation of digital images. It involves use of algorithms and techniques to extract useful information from digital images or to enhance their visual quality for human perception. Image processing has applications in a wide range of fields, including medical imaging, remote sensing, security and surveillance, robotics, and entertainment. In medical imaging, for ex, image processing techniques can be used to detect and diagnose diseases, ex. cancer, by analyzing medical images such as X-rays, CT scans.
📚 CUDA things to know:
CUDA (Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) developed by NVIDIA that enables developers to harness the power of GPUs (graphics processing units) for general-purpose computing. In image processing, CUDA can be used to accelerate various operations such as filtering, segmentation, feature extraction, and registration.
Here's how CUDA works in image processing:
1. GPU Architecture: Modern GPUs have hundreds or thousands of cores, each capable of performing simple arithmetic and logical operations. These cores are organized into streaming multiprocessors (SMs), which manage the execution of multiple threads in parallel. In contrast to CPUs (central processing units), which are optimized for serial processing of complex instructions, GPUs are optimized for parallel processing of many simple instructions.
2. CUDA Programming: To program GPUs for image processing tasks, developers can use the CUDA C/C++ programming language, which extends the standard C/C++ language with special keywords and functions for parallel programming. CUDA programs consist of a host program running on the CPU and a device program running on the GPU. The host program prepares data for processing and launches kernel functions on the GPU to perform computations in parallel.
3. Image Processing Tasks: CUDA can accelerate various image processing tasks, such as:
✅ Filtering: Filtering operations such as blurring, sharpening, and edge detection can be accelerated using CUDA by applying convolution kernels to the image data in parallel.
✅ Segmentation: Segmentation tasks such as thresholding and region growing can be accelerated using CUDA by applying segmentation algorithms to image data in parallel.
✅ Feature Extraction: Feature extraction tasks such as feature detection, description, and matching can be accelerated using CUDA by applying feature extraction algorithms to image data in parallel.
4. CUDA Libraries: NVIDIA provides several CUDA libraries that can be used for image processing, such as:
✅ cuFFT: a library for fast Fourier transforms on the GPU, which can be used for filtering and other operations.
✅ cuBLAS: a library for basic linear algebra operations on the GPU, which can be used for matrix operations in image processing.
✅ cuDNN: a library for deep neural networks on the GPU, which can be used for tasks such as image classification and object detection.
✅ OpenCV GPU: a GPU-accelerated version of the popular OpenCV library for computer vision, which includes functions for image processing and computer vision tasks.
In summary, CUDA can significantly accelerate image processing tasks by leveraging the parallel processing power of GPUs. Developers can use CUDA programming techniques and libraries to accelerate various image processing tasks such as filtering, segmentation, feature extraction, and registration.
🙏🏻 Credits:
Dan G. for directing
Moe D. for editing
Samer S. for brainstorming
Bensound for audio
This video is created under a creative common's license.
#gtc23 #cuda #imageprocessing
Смотрите видео CUDA Programming for Image Processing онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь Ahmad Bazzi 16 Март 2023, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 163,374 раз и оно понравилось 7.2 тысяч людям.