AMD GPU Programming Training Course
ROCm is an open-source platform for GPU programming that supports AMD GPUs while also offering compatibility with CUDA and OpenCL. ROCm provides programmers with direct access to hardware details, granting full control over the parallelization process. However, this requires a solid understanding of device architecture, memory models, execution models, and optimization techniques.
HIP is a C++ runtime API and kernel language that enables developers to write portable code capable of running on both AMD and NVIDIA GPUs. It offers a lightweight abstraction layer over native GPU APIs, such as ROCm and CUDA, allowing users to leverage existing GPU libraries and tools.
This instructor-led, live training (available online or onsite) is designed for beginner to intermediate-level developers who want to use ROCm and HIP to program AMD GPUs and harness their parallel processing capabilities.
Upon completing this training, participants will be able to:
- Set up a development environment that includes the ROCm Platform, an AMD GPU, and Visual Studio Code.
- Develop a basic ROCm program that performs vector addition on the GPU and retrieves results from GPU memory.
- Utilize the ROCm API to query device information, allocate and deallocate device memory, transfer data between the host and device, launch kernels, and synchronize threads.
- Use the HIP language to write kernels that execute on the GPU and manipulate data.
- Apply HIP built-in functions, variables, and libraries to perform common tasks and operations.
- Leverage ROCm and HIP memory spaces—such as global, shared, constant, and local—to optimize data transfers and memory access.
- Employ ROCm and HIP execution models to manage threads, blocks, and grids, which define the level of parallelism.
- Debug and test ROCm and HIP programs using tools like ROCm Debugger and ROCm Profiler.
- Optimize ROCm and HIP programs using techniques such as coalescing, caching, prefetching, and profiling.
Format of the Course
- Interactive lectures and discussions.
- Extensive exercises and practice sessions.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request customized training for this course, please contact us to arrange.
Course Outline
Introduction
- What is ROCm?
- What is HIP?
- ROCm vs CUDA vs OpenCL
- Overview of ROCm and HIP features and architecture
- Setting up the Development Environment
Getting Started
- Creating a new ROCm project using Visual Studio Code
- Exploring the project structure and files
- Compiling and running the program
- Displaying the output using printf and fprintf
ROCm API
- Understanding the role of ROCm API in the host program
- Using ROCm API to query device information and capabilities
- Using ROCm API to allocate and deallocate device memory
- Using ROCm API to copy data between host and device
- Using ROCm API to launch kernels and synchronize threads
- Using ROCm API to handle errors and exceptions
HIP Language
- Understanding the role of HIP language in the device program
- Using HIP language to write kernels that execute on the GPU and manipulate data
- Using HIP data types, qualifiers, operators, and expressions
- Using HIP built-in functions, variables, and libraries to perform common tasks and operations
ROCm and HIP Memory Model
- Understanding the difference between host and device memory models
- Using ROCm and HIP memory spaces, such as global, shared, constant, and local
- Using ROCm and HIP memory objects, such as pointers, arrays, textures, and surfaces
- Using ROCm and HIP memory access modes, such as read-only, write-only, read-write, etc.
- Using ROCm and HIP memory consistency model and synchronization mechanisms
ROCm and HIP Execution Model
- Understanding the difference between host and device execution models
- Using ROCm and HIP threads, blocks, and grids to define the parallelism
- Using ROCm and HIP thread functions, such as hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, etc.
- Using ROCm and HIP block functions, such as __syncthreads, __threadfence_block, etc.
- Using ROCm and HIP grid functions, such as hipGridDim_x, hipGridSync, cooperative groups, etc.
Debugging
- Understanding the common errors and bugs in ROCm and HIP programs
- Using Visual Studio Code debugger to inspect variables, breakpoints, call stack, etc.
- Using ROCm Debugger to debug ROCm and HIP programs on AMD devices
- Using ROCm Profiler to analyze ROCm and HIP programs on AMD devices
Optimization
- Understanding the factors that affect the performance of ROCm and HIP programs
- Using ROCm and HIP coalescing techniques to improve memory throughput
- Using ROCm and HIP caching and prefetching techniques to reduce memory latency
- Using ROCm and HIP shared memory and local memory techniques to optimize memory accesses and bandwidth
- Using ROCm and HIP profiling and profiling tools to measure and improve the execution time and resource utilization
Summary and Next Steps
Requirements
- A good 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 wish to learn how to use ROCm and HIP to program AMD GPUs and exploit their parallelism
- Developers aiming to write high-performance, scalable code that runs on various AMD devices
- Programmers interested in exploring the low-level aspects of GPU programming and optimizing code performance
Open Training Courses require 5+ participants.
AMD GPU Programming Training Course - Booking
AMD GPU Programming Training Course - Enquiry
AMD GPU Programming - Consultancy Enquiry
Upcoming Courses
Related Courses
Developing AI Applications with Huawei Ascend and CANN
21 HoursHuawei Ascend comprises a series of AI processors engineered for high-performance inference and training tasks.
This instructor-led live training, available both online and onsite, targets intermediate-level AI engineers and data scientists eager to develop and optimize neural network models utilizing Huawei's Ascend platform alongside the CANN toolkit.
Upon completing this training, participants will be equipped to:
- Establish and configure the CANN development environment.
- Construct AI applications using MindSpore and CloudMatrix workflows.
- Enhance performance on Ascend NPUs through the use of custom operators and tiling techniques.
- Deploy models into either edge or cloud environments.
Course Format
- Interactive lectures and discussions.
- Practical application of Huawei Ascend and the CANN toolkit within sample applications.
- Guided exercises centered on model construction, training, and deployment.
Customization Options
- For customized training tailored to your specific infrastructure or datasets, please reach out to us to make arrangements.
Deploying AI Models with CANN and Ascend AI Processors
14 HoursCANN (Compute Architecture for Neural Networks) serves as Huawei’s AI computing stack, designed for deploying and optimizing AI models on Ascend AI processors.
This instructor-led live training, available online or onsite, targets intermediate-level AI developers and engineers looking to efficiently deploy trained AI models onto Huawei Ascend hardware. The course utilizes the CANN toolkit along with tools such as MindSpore, TensorFlow, or PyTorch.
Upon completing this training, participants will be able to:
- Comprehend the CANN architecture and its function within the AI deployment pipeline.
- Convert and adapt models from widely used frameworks into formats compatible with Ascend devices.
- Utilize tools such as ATC, OM model conversion, and MindSpore for both edge and cloud inference tasks.
- Troubleshoot deployment issues and optimize performance on Ascend hardware.
Course Format
- Interactive lectures combined with live demonstrations.
- Hands-on lab exercises using CANN tools and Ascend simulators or physical devices.
- Practical deployment scenarios based on real-world AI models.
Customization Options
- For requests regarding customized training for this course, please reach out to us to make arrangements.
AI Inference and Deployment with CloudMatrix
21 HoursCloudMatrix serves as Huawei’s unified platform for AI development and deployment, engineered to facilitate scalable, production-grade inference pipelines.
This instructor-led live training (available online or onsite) is tailored for beginner to intermediate AI professionals aiming to deploy and monitor AI models using CloudMatrix, integrated with CANN and MindSpore.
Upon completing this training, participants will be able to:
- Utilize CloudMatrix for model packaging, deployment, and serving.
- Convert and optimize models specifically for Ascend chipsets.
- Establish pipelines for both real-time and batch inference tasks.
- Monitor deployments and fine-tune performance within production environments.
Course Format
- Interactive lectures and discussions.
- Hands-on experience with CloudMatrix in real-world deployment scenarios.
- Guided exercises emphasizing conversion, optimization, and scaling.
Customization Options
- For customized training based on your specific AI infrastructure or cloud environment, please contact us to arrange.
GPU Programming on Biren AI Accelerators
21 HoursBiren AI Accelerators are high-performance GPUs engineered for AI and HPC workloads, providing robust support for large-scale training and inference.
This instructor-led, live training (available online or onsite) targets intermediate to advanced developers looking to program and optimize applications using Biren’s proprietary GPU stack, featuring practical comparisons with CUDA-based environments.
Upon completion of this training, participants will be able to:
- Comprehend the architecture and memory hierarchy of Biren GPUs.
- Configure the development environment and utilize Biren’s programming model.
- Translate and optimize CUDA-style code for Biren platforms.
- Apply performance tuning and debugging techniques.
Course Format
- Interactive lectures and discussions.
- Hands-on experience with the Biren SDK in sample GPU workloads.
- Guided exercises focusing on porting and performance tuning.
Course Customization Options
- To request customized training for this course tailored to your application stack or integration needs, please contact us to arrange.
Cambricon MLU Development with BANGPy and Neuware
21 HoursCambricon MLUs (Machine Learning Units) are specialized AI chips optimized for inference and training in edge and datacenter scenarios.
This instructor-led, live training (online or onsite) is aimed at intermediate-level developers who wish to build and deploy AI models using the BANGPy framework and Neuware SDK on Cambricon MLU hardware.
By the end of this training, participants will be able to:
- Set up and configure the BANGPy and Neuware development environments.
- Develop and optimize Python- and C++-based models for Cambricon MLUs.
- Deploy models to edge and data center devices running Neuware runtime.
- Integrate ML workflows with MLU-specific acceleration features.
Format of the Course
- Interactive lecture and discussion.
- Hands-on use of BANGPy and Neuware for development and deployment.
- Guided exercises focused on optimization, integration, and testing.
Course Customization Options
- To request a customized training for this course based on your Cambricon device model or use case, please contact us to arrange.
Introduction to CANN for AI Framework Developers
7 HoursCANN (Compute Architecture for Neural Networks) is Huawei’s AI computing toolkit designed to compile, optimize, and deploy AI models on Ascend AI processors.
This instructor-led live training, available online or onsite, targets beginner-level AI developers who want to understand how CANN fits into the model lifecycle—from training to deployment—and how it integrates with frameworks such as MindSpore, TensorFlow, and PyTorch.
By the end of this training, participants will be able to:
- Understand the purpose and architecture of the CANN toolkit.
- Set up a development environment with CANN and MindSpore.
- Convert and deploy a simple AI model to Ascend hardware.
- Gain foundational knowledge for future CANN optimization or integration projects.
Format of the Course
- Interactive lecture and discussion.
- Hands-on labs with simple model deployment.
- Step-by-step walkthrough of the CANN toolchain and integration points.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
CANN for Edge AI Deployment
14 HoursHuawei's Ascend CANN toolkit empowers AI inference on edge devices, such as the Ascend 310. This toolkit offers crucial tools for compiling, optimizing, and deploying models in environments with limited compute and memory resources.
This instructor-led, live training (available online or onsite) is designed for intermediate-level AI developers and integrators who aim to deploy and optimize models on Ascend edge devices using the CANN toolchain.
Upon completing this training, participants will be able to:
- Prepare and convert AI models for the Ascend 310 using CANN tools.
- Construct lightweight inference pipelines utilizing MindSpore Lite and AscendCL.
- Optimize model performance for scenarios with constrained compute and memory.
- Deploy and monitor AI applications in real-world edge use cases.
Course Format
- Interactive lectures and demonstrations.
- Hands-on lab exercises featuring edge-specific models and scenarios.
- Live deployment examples on virtual or physical edge hardware.
Course Customization Options
- To request customized training for this course, please contact us to make arrangements.
Understanding Huawei’s AI Compute Stack: From CANN to MindSpore
14 HoursHuawei’s AI stack—spanning from the low-level CANN SDK to the high-level MindSpore framework—provides a tightly integrated environment for AI development and deployment, optimized for Ascend hardware.
This instructor-led, live training session (available online or onsite) is designed for technical professionals at beginner to intermediate levels who wish to understand how CANN and MindSpore components work together to support AI lifecycle management and infrastructure decisions.
Upon completion of this training, participants will be able to:
- Grasp the layered architecture of Huawei’s AI compute stack.
- Identify how CANN facilitates model optimization and hardware-level deployment.
- Evaluate the MindSpore framework and its toolchain in relation to industry alternatives.
- Position Huawei's AI stack within enterprise or cloud/on-premises environments.
Course Format
- Interactive lectures and discussions.
- Live system demonstrations and case-based walkthroughs.
- Optional guided labs exploring the model flow from MindSpore to CANN.
Customization Options
- To request customized training for this course, please contact us to arrange.
Optimizing Neural Network Performance with CANN SDK
14 HoursCANN SDK (Compute Architecture for Neural Networks) serves as Huawei’s foundational AI computing platform, empowering developers to refine and maximize the performance of neural networks deployed on Ascend AI processors.
This instructor-led, live training session (available online or in-person) is designed for advanced AI developers and system engineers seeking to boost inference performance through CANN’s advanced toolkit, which includes the Graph Engine, TIK, and custom operator development capabilities.
Upon completing this training, participants will be able to:
- Grasp CANN’s runtime architecture and performance lifecycle.
- Utilize profiling tools and the Graph Engine to analyze and optimize performance.
- Develop and optimize custom operators using TIK and TVM.
- Address memory bottlenecks and enhance model throughput.
Course Format
- Interactive lectures and discussions.
- Hands-on labs featuring real-time profiling and operator tuning.
- Optimization exercises using edge-case deployment scenarios.
Customization Options
- For customized training requests, please reach out to us to make arrangements.
CANN SDK for Computer Vision and NLP Pipelines
14 HoursThe CANN SDK (Compute Architecture for Neural Networks) offers robust deployment and optimization tools for real-time AI applications in computer vision and NLP, particularly on Huawei Ascend hardware.
This instructor-led, live training (available online or onsite) is designed for intermediate-level AI practitioners looking to build, deploy, and optimize vision and language models using the CANN SDK for production environments.
Upon completing this training, participants will be able to:
- Deploy and optimize CV and NLP models using CANN and AscendCL.
- Utilize CANN tools to convert models and integrate them into live pipelines.
- Optimize inference performance for tasks such as detection, classification, and sentiment analysis.
- Construct real-time CV/NLP pipelines suitable for edge or cloud-based deployment scenarios.
Format of the Course
- Interactive lecture and demonstration.
- Hands-on lab involving model deployment and performance profiling.
- Live pipeline design utilizing real-world CV and NLP use cases.
Course Customization Options
- To request customized training for this course, please contact us to arrange.
Building Custom AI Operators with CANN TIK and TVM
14 HoursLeveraging CANN TIK (Tensor Instruction Kernel) alongside Apache TVM allows for sophisticated optimization and customization of AI model operators tailored to Huawei Ascend hardware.
This instructor-led live training, available online or onsite, is designed for advanced system developers seeking to construct, deploy, and fine-tune custom operators for AI models utilizing CANN’s TIK programming model and TVM compiler integration.
Upon completion of this training, participants will be capable of:
- Writing and testing custom AI operators using the TIK DSL for Ascend processors.
- Integrating custom operations into the CANN runtime and execution graph.
- Utilizing TVM for operator scheduling, automatic tuning, and benchmarking.
- Debugging and optimizing instruction-level performance for specific computational patterns.
Course Format
- Interactive lectures and live demonstrations.
- Hands-on coding exercises involving TIK and TVM pipelines.
- Testing and tuning on Ascend hardware or simulation environments.
Customization Options
- For inquiries regarding customized training for this course, please contact us to make arrangements.
Migrating CUDA Applications to Chinese GPU Architectures
21 HoursDomestic GPU solutions, including Huawei Ascend, Biren, and Cambricon MLUs, provide tailored alternatives to CUDA for the local AI and high-performance computing (HPC) sectors.
This live training session, facilitated by an expert instructor and available either online or on-site, targets advanced GPU developers and infrastructure specialists looking to migrate and optimize existing CUDA applications for deployment on Chinese hardware platforms.
Upon completion of this course, participants will be capable of:
- Assessing the compatibility of current CUDA workloads with domestic chip alternatives.
- Porting CUDA codebases to Huawei CANN, Biren SDK, and Cambricon BANGPy environments.
- Evaluating performance metrics and identifying optimization opportunities across different platforms.
- Resolving practical challenges related to cross-architecture support and deployment.
Course Format
- Interactive lectures and discussions.
- Practical labs involving code translation and performance benchmarking.
- Guided exercises focusing on multi-GPU adaptation strategies.
Customization Options
- To request a customized version of this training based on your specific platform or CUDA project, please contact us to arrange it.
Performance Optimization on Ascend, Biren, and Cambricon
21 HoursAscend, Biren, and Cambricon are prominent AI hardware platforms in China, each providing distinct acceleration and profiling tools for production-scale AI workloads.
This instructor-led live training (available online or onsite) targets advanced-level AI infrastructure and performance engineers seeking to optimize model inference and training workflows across multiple Chinese AI chip platforms.
By the end of this training, participants will be able to:
- Benchmark models on Ascend, Biren, and Cambricon platforms.
- Identify system bottlenecks and memory/compute inefficiencies.
- Apply graph-level, kernel-level, and operator-level optimizations.
- Tune deployment pipelines to enhance throughput and reduce latency.
Course Format
- Interactive lectures and discussions.
- Hands-on practice with profiling and optimization tools on each platform.
- Guided exercises focused on practical tuning scenarios.
Course Customization Options
- To request a customized training session tailored to your specific performance environment or model type, please contact us to arrange.