AMD GPU Programming Training Course
ROCm is an open-source platform designed for GPU programming that supports AMD GPUs, while also ensuring compatibility with CUDA and OpenCL. ROCm provides programmers with direct access to hardware details, offering full control over the parallelization process. However, this level of control necessitates 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 acts as a thin 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 utilize ROCm and HIP to program AMD GPUs and harness their parallel processing capabilities.
Upon completion of this training, participants will be able to:
- Configure a development environment that includes the ROCm Platform, an AMD GPU, and Visual Studio Code.
- Develop a fundamental ROCm program that executes 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.
- Employ the HIP language to write kernels that execute on the GPU and manipulate data.
- Leverage HIP built-in functions, variables, and libraries to perform common tasks and operations.
- Apply ROCm and HIP memory spaces—including global, shared, constant, and local—to optimize data transfers and memory access patterns.
- Use ROCm and HIP execution models to manage threads, blocks, and grids that define parallelism.
- Debug and test ROCm and HIP programs using tools such as ROCm Debugger and ROCm Profiler.
- Optimize ROCm and HIP programs through techniques like coalescing, caching, prefetching, and profiling.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical practice.
- Hands-on implementation within a live-lab environment.
Course Customization Options
- To request customized training for this course, please contact us to make arrangements.
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
- An understanding of the C/C++ programming language and parallel programming concepts
- Basic knowledge of computer architecture and memory hierarchy
- Experience with command-line tools and code editors
Audience
- Developers seeking to learn how to use ROCm and HIP to program AMD GPUs and exploit their parallelism
- Developers aiming to write high-performance, scalable code compatible with 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
Provisional Upcoming Courses (Require 5+ participants)
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 model training.
This instructor-led, live training (available online or onsite) is designed for intermediate-level AI engineers and data scientists who aim to develop and optimize neural network models using Huawei’s Ascend platform alongside the CANN toolkit.
Upon completing this course, participants will be capable of:
- Configuring and setting up the CANN development environment.
- Creating AI applications via MindSpore and CloudMatrix workflows.
- Enhancing performance on Ascend NPUs through custom operators and tiling techniques.
- Deploying models into edge or cloud environments.
Course Format
\r- Interactive lectures and discussions.
- Practical application of Huawei Ascend and the CANN toolkit within sample projects.
- Guided exercises targeting model construction, training, and deployment.
Customization Options
- For customized training tailored to your specific infrastructure or datasets, please contact us to arrange a session.
Deploying AI Models with CANN and Ascend AI Processors
14 HoursCANN (Compute Architecture for Neural Networks) serves as Huawei's AI compute stack, designed to deploy and optimize AI models on Ascend AI processors.
This instructor-led training session, available both online and 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 like MindSpore, TensorFlow, or PyTorch.
Upon completing this training, participants will be equipped to:
- Gain a solid understanding of the CANN architecture and its critical role in the AI deployment pipeline.
- Convert and adapt models from popular frameworks into formats compatible with Ascend processors.
- Utilize tools such as ATC, OM model conversion utilities, and MindSpore for inference on both edge devices and cloud environments.
- Diagnose deployment challenges and optimize performance specifically for Ascend hardware.
Course Format
- Interactive lectures combined with live demonstrations.
- Practical hands-on labs using CANN tools alongside Ascend simulators or physical devices.
- Real-world deployment scenarios based on actual AI models.
Customization Options for the Course
- For those interested in a customized training version of this course, please contact us to arrange details.
AI Inference and Deployment with CloudMatrix
21 HoursCloudMatrix is Huawei's comprehensive AI development and deployment platform engineered to facilitate scalable, production-ready inference pipelines.
This instructor-led live training, available online or onsite, targets beginner to intermediate-level AI professionals aiming to deploy and oversee AI models using the CloudMatrix platform integrated with CANN and MindSpore.
Upon completion of this training, participants will be capable of:
- Utilizing CloudMatrix for model packaging, deployment, and serving.
- Converting and optimizing models specifically for Ascend chipsets.
- Configuring pipelines for both real-time and batch inference tasks.
- Monitoring deployments and fine-tuning performance within production environments.
Course Format
- Interactive lectures and discussions.
- Practical application of CloudMatrix through real-world deployment scenarios.
- Guided exercises focusing on conversion, optimization, and scaling techniques.
Customization Options for the Course
- To request customized training tailored to your specific AI infrastructure or cloud environment, please contact us for arrangements.
GPU Programming on Biren AI Accelerators
21 HoursBiren AI Accelerators are high-performance GPUs designed for AI and HPC workloads with support for large-scale training and inference.
This instructor-led, live training (online or onsite) is aimed at intermediate-level to advanced-level developers who wish to program and optimize applications using Biren’s proprietary GPU stack, with practical comparisons to CUDA-based environments.
By the end of this training, participants will be able to:
- Grasp 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.
- Implement performance tuning and debugging techniques.
Format of the Course
- Interactive lecture and discussion.
- Hands-on use of Biren SDK in sample GPU workloads.
- Guided exercises focused on porting and performance tuning.
Course Customization Options
- To request a customized training for this course based on 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 designed for high-performance inference and training in both edge computing and data center environments.
This instructor-led, live training session (available online or onsite) is tailored for intermediate-level developers looking to build and deploy AI models using the BANGPy framework and Neuware SDK on Cambricon MLU hardware.
Upon completing this training, participants will be able to:
- Set up and configure development environments for BANGPy and Neuware.
- Develop and optimize models written in Python and C++ for Cambricon MLUs.
- Deploy models to edge devices and data centers running the Neuware runtime.
- Integrate machine learning workflows with specific MLU acceleration features.
Course Format
- Interactive lectures and discussions.
- Hands-on exercises using BANGPy and Neuware for development and deployment.
- Guided practice focusing on optimization, integration, and testing.
Customization Options
- To request a customized version of this course tailored to your specific 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) serves as Huawei’s AI computing toolkit, designed to compile, optimize, and deploy AI models on Ascend AI processors.
This instructor-led live training session is available either online or onsite. It targets beginner-level AI developers looking to grasp how CANN integrates into the model lifecycle—from training through to deployment—and how it collaborates with popular frameworks such as MindSpore, TensorFlow, and PyTorch.
Upon completing this training, participants will be capable of:
- Comprehending the purpose and architecture of the CANN toolkit.
- Establishing a development environment utilizing CANN and MindSpore.
- Converting and deploying a simple AI model onto Ascend hardware.
- Acquiring foundational knowledge to support future CANN optimization or integration initiatives.
Format of the Course
- Interactive lectures and discussions.
- Hands-on labs focused on simple model deployment.
- Step-by-step guidance through the CANN toolchain and its integration points.
Course Customization Options
- For those interested in customized training for this course, please reach out to us to arrange it.
CANN for Edge AI Deployment
14 HoursThe Ascend CANN toolkit from Huawei facilitates robust AI inference on edge hardware, including the Ascend 310. This toolkit offers critical utilities for compiling, optimizing, and deploying machine learning models in environments where computational power and memory are limited.
This instructor-led live training, available online or in-person, targets intermediate AI developers and integrators looking to deploy and optimize their models on Ascend edge devices using the CANN toolchain.
Upon completing this course, participants will be capable of:
- Preparing and converting AI models for the Ascend 310 using CANN utilities.
- Constructing efficient inference pipelines utilizing MindSpore Lite and AscendCL.
- Enhancing model performance within constrained compute and memory settings.
- Deploying and monitoring AI applications in practical edge scenarios.
Course Format
- Interactive lectures combined with live demonstrations.
- Practical lab exercises featuring edge-specific models and scenarios.
- Live deployment demonstrations on both virtual and physical edge hardware.
Customization Options
- For tailored training options, 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 developing and deploying AI solutions, specifically optimized for Ascend hardware.
This instructor-led, live training (available online or onsite) targets technical professionals at beginner to intermediate levels who want to comprehend how CANN and MindSpore components collaborate to support AI lifecycle management and infrastructure decision-making.
Upon completion of this training, participants will be able to:
- Comprehend the layered architecture of Huawei’s AI compute stack.
- Recognize how CANN facilitates model optimization and hardware-level deployment.
- Assess the MindSpore framework and its toolchain in comparison to industry alternatives.
- Contextualize 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 covering the model flow from MindSpore to CANN.
Course Customization Options
- For requests regarding customized training for this course, please contact us to make arrangements.
Optimizing Neural Network Performance with CANN SDK
14 HoursCANN SDK (Compute Architecture for Neural Networks) serves as Huawei’s foundational AI compute platform, empowering developers to fine-tune and enhance the performance of deployed neural networks on Ascend AI processors.
This instructor-led live training session (available online or onsite) targets advanced-level AI developers and system engineers who aim to optimize inference performance by leveraging CANN’s sophisticated toolset, including the Graph Engine, TIK, and capabilities for custom operator development.
Upon completing this training, participants will be able to:
- Gain a comprehensive understanding of CANN's runtime architecture and performance lifecycle.
- Utilize profiling tools and the Graph Engine to conduct thorough performance analysis and optimization.
- Develop and optimize custom operators using TIK and TVM.
- Address memory bottlenecks and significantly improve model throughput.
Course Format
- Interactive lectures and discussions.
- Hands-on labs featuring real-time profiling and operator tuning.
- Optimization exercises based on edge-case deployment scenarios.
Course Customization Options
- To request a tailored training session for this course, please contact us to arrange it.
CANN SDK for Computer Vision and NLP Pipelines
14 HoursThe CANN SDK (Compute Architecture for Neural Networks) offers robust deployment and optimization tools designed 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 targeted at intermediate-level AI professionals looking to build, deploy, and optimize vision and language models using the CANN SDK for production environments.
Upon completion of this training, participants will be capable of:
- Deploying and optimizing computer vision (CV) and NLP models using CANN and AscendCL.
- Utilizing CANN tools to convert models and seamlessly integrate them into active pipelines.
- Enhancing inference performance for tasks such as detection, classification, and sentiment analysis.
- Constructing real-time CV/NLP pipelines suitable for edge or cloud-based deployment scenarios.
Course Format
- Interactive lectures combined with live demonstrations.
- Practical hands-on labs focusing on model deployment and performance profiling.
- Live pipeline design exercises using real-world CV and NLP use cases.
Course Customization Options
- For customized training arrangements, please contact us directly.
Building Custom AI Operators with CANN TIK and TVM
14 HoursThe combination of CANN TIK (Tensor Instruction Kernel) and Apache TVM facilitates advanced optimization and customization of AI model operators specifically for Huawei Ascend hardware.
This instructor-led, live training session—available both online and on-site—is designed for experienced system developers aiming to construct, deploy, and fine-tune custom operators for AI models leveraging CANN’s TIK programming model and TVM compiler integration.
Upon completing this training, participants will achieve the following:
- Develop and test custom AI operators using the TIK DSL for Ascend processors.
- Embed custom operations into the CANN runtime and execution graph.
- Utilize TVM for operator scheduling, auto-tuning, and benchmarking tasks.
- Debug and optimize instruction-level performance tailored to specific computation patterns.
Course Format
- Interactive lectures combined with live demonstrations.
- Practical coding exercises involving operators via TIK and TVM pipelines.
- Testing and tuning performed on Ascend hardware or within simulator environments.
Customization Options for the Course
- For those seeking a tailored training experience for this course, please reach out to us to arrange it.
Migrating CUDA Applications to Chinese GPU Architectures
21 HoursChinese GPU architectures, including Huawei Ascend, Biren, and Cambricon MLUs, provide CUDA alternatives specifically designed for local AI and high-performance computing (HPC) markets.
This instructor-led live training, available online or onsite, targets advanced-level GPU programmers and infrastructure specialists looking to migrate and optimize existing CUDA applications for deployment on Chinese hardware platforms.
Upon completion of this training, participants will be able to:
- Evaluate the compatibility of existing CUDA workloads with alternative Chinese chipsets.
- Port CUDA codebases into Huawei CANN, Biren SDK, and Cambricon BANGPy environments.
- Compare performance metrics and identify optimization opportunities across different platforms.
- Address practical challenges related to cross-architecture support and deployment.
Course Format
- Interactive lectures and discussions.
- Hands-on labs for code translation and performance comparison.
- Guided exercises focusing on multi-GPU adaptation strategies.
Customization Options
- To request customized training based on your specific platform or CUDA project, please contact us to arrange a session.
Performance Optimization on Ascend, Biren, and Cambricon
21 HoursAscend, Biren, and Cambricon stand out as premier AI hardware platforms in China, each providing distinct acceleration and profiling capabilities designed for large-scale AI workloads in production environments.
This instructor-led training session, available either online or onsite, targets advanced AI infrastructure and performance engineers looking to enhance model inference and training workflows across various Chinese AI chip architectures.
Upon completing this course, participants will gain the ability to:
- Evaluate model performance on Ascend, Biren, and Cambricon systems.
- Diagnose system bottlenecks and identify inefficiencies in memory or compute resources.
- Implement optimizations at the graph, kernel, and operator levels.
- Configure deployment pipelines to maximize throughput and minimize latency.
Course Format
- Engaging lectures combined with interactive discussions.
- Practical application of profiling and optimization tools across different platforms.
- Structured exercises centered on real-world tuning scenarios.
Customization Options
- If you require a tailored training program aligned with your specific performance environment or model type, please contact us to make arrangements.