Multicore Computers
Multicore Computers
Computers
GROUP MEMBERS
ABDI-KAAFI AADAN
SAMATAR
ABDULLAHI AWEIS
Learning Objectives:
Present an overview of CUDA . .
CHAPTER 19
OVERVIEW OF CUDA
CUDA (Compute Unified Device Architecture) is a
platform created by NVIDIA that allows you to
use a GPU (graphics processing unit) to speed up
programs by doing many tasks at once.
CHAPTER 19
Why CUDA is Useful: It's very fast for tasks like graphics,
simulations, and machine learning. It uses thousands of
small processors (GPU cores) to work on different parts of
the task at the same time. Example Tasks for CUDA: Video
editing and rendering. Training AI models. Simulating
physical systems (like weather or particles).CUDA helps
programmers take advantage of GPUs for much faster
computing than a CPU can do alone
CHAPTER 19
difference between a GPU
and a CPU
•CPU (Central Processing Unit): Optimized for single-threaded tasks and general-purpose
computing,
with a few powerful cores designed for sequential processing. It's best for tasks requiring
complex
logic and quick decision-making.
•GPU (Graphics Processing Unit): Designed for parallel processing, with thousands of
smaller cores
suited for handling many tasks simultaneously. It excels in parallelizable workloads like
graphics rendering,
machine learning, and scientific simulations.
CHAPTER 19
•the basic elements of a typical GPU architecture
Streaming Multiprocessors (SMs): Core units with multiple GPU cores executing threads in parallel using SIMD or SIMT.
•GPU Cores: Lightweight processors performing mathematical operations across large datasets.
•Memory Hierarchy:
•Global Memory: Large but slow, shared by all threads.
•Shared Memory: Fast, on-chip, shared by threads in a block.
•Registers: Private to each thread for fast data storage.
•Thread Organization:
•Threads: Basic execution units.
•Blocks: Groups of threads managed by an SM.
•Grids: Collections of blocks for large-scale parallelism.
•Warp Scheduler: Manages execution of thread groups (warps) to maximize efficiency.
•Interconnect Network: High-speed connections between SMs and memory controllers.
•Graphics-Specific Units: Handle texture mapping and image rendering.
•Power Efficiency: Features like dynamic clock adjustments and power management.
CHAPTER 18
when to use a GPU as a coprocessor.
CHAPTER 18
Below are key scenarios where GPUs excel as
coprocessors:
•Scientific Simulations: Heavy numerical computations.
•Machine Learning: Training and inference of neural networks.
•Image/Signal Processing: Rendering, video encoding, and audio analysis.
•Financial Modeling: Monte Carlo simulations and risk analysis.
•Big Data Analytics: Large-scale, parallel data processing.
•Graphics Rendering: Real-time 3D visuals and visual effects.
•Cryptography: Hash calculations and mining operations.
•HPC Tasks: Weather forecasting or genome sequencing.
CHAPTER 18
THE END
CHAPTER 18