Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction
- What is ROCm?
- What is HIP?
- Comparison of ROCm, CUDA, and OpenCL for government applications
- Overview of ROCm and HIP features and architecture
- Setting up the Development Environment for government use
Getting Started
- Creating a new ROCm project using Visual Studio Code for government projects
- Exploring the project structure and files in a government context
- Compiling and running the program for government systems
- Displaying the output using printf and fprintf for government reporting
ROCm API
- Understanding the role of ROCm API in the host program for government operations
- Using ROCm API to query device information and capabilities for government systems
- Using ROCm API to allocate and deallocate device memory for government applications
- Using ROCm API to copy data between host and device for government data management
- Using ROCm API to launch kernels and synchronize threads for government computations
- Using ROCm API to handle errors and exceptions in government software
HIP Language
- Understanding the role of HIP language in the device program for government tasks
- Using HIP language to write kernels that execute on the GPU and manipulate data for government processes
- Using HIP data types, qualifiers, operators, and expressions for government programming
- Using HIP built-in functions, variables, and libraries to perform common tasks and operations in government applications
ROCm and HIP Memory Model
- Understanding the difference between host and device memory models for government systems
- Using ROCm and HIP memory spaces, such as global, shared, constant, and local, for government data storage
- Using ROCm and HIP memory objects, such as pointers, arrays, textures, and surfaces, for government data handling
- Using ROCm and HIP memory access modes, such as read-only, write-only, read-write, etc., for government data operations
- Using ROCm and HIP memory consistency model and synchronization mechanisms for government applications
ROCm and HIP Execution Model
- Understanding the difference between host and device execution models for government processes
- Using ROCm and HIP threads, blocks, and grids to define parallelism in government computations
- Using ROCm and HIP thread functions, such as hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, etc., for government programming
- Using ROCm and HIP block functions, such as __syncthreads, __threadfence_block, etc., for government synchronization
- Using ROCm and HIP grid functions, such as hipGridDim_x, hipGridSync, cooperative groups, etc., for government parallel processing
Debugging
- Understanding the common errors and bugs in ROCm and HIP programs for government applications
- Using Visual Studio Code debugger to inspect variables, breakpoints, call stack, etc., in government software
- Using ROCm Debugger to debug ROCm and HIP programs on AMD devices for government systems
- Using ROCm Profiler to analyze ROCm and HIP programs on AMD devices for government performance monitoring
Optimization
- Understanding the factors that affect the performance of ROCm and HIP programs for government operations
- Using ROCm and HIP coalescing techniques to improve memory throughput in government applications
- Using ROCm and HIP caching and prefetching techniques to reduce memory latency in government systems
- Using ROCm and HIP shared memory and local memory techniques to optimize memory accesses and bandwidth for government data processing
- Using ROCm and HIP profiling and profiling tools to measure and improve the execution time and resource utilization for government tasks
Summary and Next Steps
Requirements
- An understanding of the C/C++ language and parallel programming concepts
- Basic knowledge of computer architecture and memory hierarchy
- Experience with command-line tools and code editors
Audience
- Developers who seek to learn how to use ROCm and HIP for programming AMD GPUs and leveraging their parallel capabilities
- Developers aiming to write high-performance, scalable code that can operate across various AMD devices
- Programmers interested in delving into the low-level aspects of GPU programming and optimizing code performance for government applications
28 Hours