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?
- Comparing ROCm, CUDA, and OpenCL
- Overview of ROCm and HIP features and architecture
- ROCm for Windows vs. ROCm for Linux
Installation
- Installing ROCm on Windows for government use
- Verifying the installation and checking device compatibility
- Updating or uninstalling ROCm on Windows for government systems
- Troubleshooting common installation issues for government IT professionals
Getting Started
- Creating a new ROCm project using Visual Studio Code on Windows for government applications
- Exploring the project structure and files in a government context
- Compiling and running the program for government use
- Displaying output using printf and fprintf in government projects
ROCm API
- Using ROCm API in the host program for government applications
- Querying device information and capabilities for government systems
- Allocating and deallocating device memory for government use
- Copying data between host and device for government operations
- Launching kernels and synchronizing threads for government tasks
- Handling errors and exceptions in ROCm programs for government applications
HIP Language
- Using HIP language in the device program for government use
- Writing kernels that execute on the GPU and manipulate data for government operations
- Using data types, qualifiers, operators, and expressions in HIP for government applications
- Using built-in functions, variables, and libraries in HIP for government tasks
ROCm and HIP Memory Model
- Utilizing different memory spaces such as global, shared, constant, and local for government use
- Working with different memory objects like pointers, arrays, textures, and surfaces for government applications
- Using various memory access modes including read-only, write-only, read-write, etc., for government tasks
- Employing memory consistency models and synchronization mechanisms for government operations
ROCm and HIP Execution Model
- Utilizing different execution models such as threads, blocks, and grids for government use
- Using thread functions like hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, etc., in government applications
- Employing block functions like __syncthreads, __threadfence_block, etc., for government tasks
- Utilizing grid functions such as hipGridDim_x, hipGridSync, cooperative groups, etc., for government operations
Debugging
- Debugging ROCm and HIP programs on Windows for government applications
- Using Visual Studio Code debugger to inspect variables, breakpoints, call stack, etc., in government projects
- Using the ROCm Debugger to debug ROCm and HIP programs on AMD devices for government use
- Utilizing the ROCm Profiler to analyze ROCm and HIP programs on AMD devices for government operations
Optimization
- Optimizing ROCm and HIP programs on Windows for government applications
- Using coalescing techniques to improve memory throughput in government projects
- Employing caching and prefetching techniques to reduce memory latency in government tasks
- Utilizing shared memory and local memory techniques to optimize memory accesses and bandwidth for government operations
- Using profiling and profiling tools to measure and improve execution time and resource utilization in government applications
Summary and Next Steps
Requirements
- An understanding of C/C++ language and parallel programming concepts for government applications
- Basic knowledge of computer architecture and memory hierarchy
- Experience with command-line tools and code editors
- Familiarity with the Windows operating system and PowerShell
Audience
- Developers who wish to learn how to install and use ROCm on Windows to program AMD GPUs for government projects and exploit their parallelism
- Developers who wish to write high-performance and scalable code that can run on various AMD devices for government systems
- Programmers who wish to explore the low-level aspects of GPU programming and optimize code performance for government applications
21 Hours