AMD GPU Programming Training Course
ROCm is an open-source GPU programming platform that supports AMD GPUs while also offering compatibility with CUDA and OpenCL. It provides programmers with direct access to hardware details, granting full control over parallelization processes. However, this approach demands a solid understanding of device architecture, memory models, execution models, and optimization strategies.
HIP is a C++ runtime API and kernel language that enables the creation of portable code executable on both AMD and NVIDIA GPUs. Acting as a thin abstraction layer over native GPU APIs like ROCm and CUDA, HIP allows developers to leverage existing GPU libraries and tools.
This instructor-led, live training (available online or onsite) is designed for beginner to intermediate developers looking to utilize ROCm and HIP to program AMD GPUs and harness their parallel computing capabilities.
Upon completing this training, participants will be able to:
- Configure a development environment featuring 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 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.
- Optimize data transfers and memory access by utilizing ROCm and HIP memory spaces, including global, shared, constant, and local.
- Control the threads, blocks, and grids that define parallelism using ROCm and HIP execution models.
- Debug and test ROCm and HIP programs using tools such as ROCm Debugger and ROCm Profiler.
- Enhance ROCm and HIP program performance through techniques like coalescing, caching, prefetching, and profiling.
Format of the Course
- Interactive lecture and discussion.
- Extensive exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a 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
- An understanding of 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 who wish to write high-performance and scalable code that can run on different AMD devices
- Programmers who wish to explore the low-level aspects of GPU programming and optimize their 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 online or in-person, targets intermediate AI engineers and data scientists looking to develop and optimize neural network models through Huawei’s Ascend platform and the CANN toolkit.
Upon completing this training, participants will be capable of:
- Configuring and setting up the CANN development environment.
- Building AI applications leveraging MindSpore and CloudMatrix workflows.
- Enhancing performance on Ascend NPUs via custom operators and tiling techniques.
- Deploying models to either cloud or edge environments.
Course Format
- Interactive lectures accompanied by discussions.
- Practical application of the Huawei Ascend platform and CANN toolkit within sample applications.
- Guided exercises concentrating 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 to facilitate the deployment and optimization of AI models on Ascend AI processors.
This instructor-led live training session, available either online or on-site, is designed for intermediate-level AI developers and engineers aiming to efficiently deploy trained AI models onto Huawei Ascend hardware. The curriculum utilizes the CANN toolkit along with tools like MindSpore, TensorFlow, and PyTorch.
Upon completion of this training, participants will be able to:
- Gain a comprehensive understanding of the CANN architecture and its critical role within the AI deployment pipeline.
- Convert and adapt models from leading frameworks into formats compatible with Ascend processors.
- Utilize tools such as ATC, OM model conversion utilities, and MindSpore for both edge and cloud inference tasks.
- Troubleshoot deployment challenges and optimize performance on Ascend hardware.
Course Format
- Interactive lectures combined with live demonstrations.
- Practical lab exercises utilizing CANN tools and Ascend simulators or physical devices.
- Real-world AI model deployment scenarios for hands-on experience.
Course Customization Options
- For tailored training needs related to this course, please reach out to us to make arrangements.
AI Inference and Deployment with CloudMatrix
21 HoursCloudMatrix is Huawei’s unified platform for AI development and deployment, engineered to support scalable, production-grade inference pipelines.
This instructor-led training, available both online and onsite, targets beginner to intermediate AI professionals aiming to deploy and monitor AI models utilizing the CloudMatrix platform integrated with CANN and MindSpore.
Upon completion of this course, participants will be capable of:
- Leveraging CloudMatrix for model packaging, deployment, and serving.
- Converting and optimizing models for Ascend chipsets.
- Establishing pipelines for both real-time and batch inference tasks.
- Monitoring deployments and optimizing performance in production environments.
Course Format
- Interactive lectures and discussions.
- Practical, hands-on experience with CloudMatrix in real-world deployment scenarios.
- Guided exercises focusing on conversion, optimization, and scaling.
Customization Options
- For customized training tailored to your specific AI infrastructure or cloud environment, please contact us to arrange a session.
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:
- Understand Biren GPU architecture and memory hierarchy.
- Set up the development environment and use Biren’s programming model.
- Translate and optimize CUDA-style code for Biren platforms.
- Apply 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 optimized inference and training in both edge and data center environments.
This instructor-led live training (available online or onsite) is designed for intermediate-level developers who want to create 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 Python and C++ models for Cambricon MLUs.
- Deploy models to edge and data center devices utilizing the Neuware runtime.
- Integrate ML workflows with acceleration features specific to MLU.
Course Format
- Interactive lectures and discussions.
- Practical application of BANGPy and Neuware for development and deployment.
- Guided exercises focusing on optimization, integration, and testing.
Customization Options
- To request a customized training session 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) is Huawei's specialized AI computing toolkit designed to compile, optimize, and deploy artificial intelligence models on Ascend AI processors.
This instructor-led live training session, available either online or on-site, targets beginner-level AI developers. The course explores how CANN integrates into the entire model lifecycle—from training through to deployment—and demonstrates its compatibility with popular frameworks such as MindSpore, TensorFlow, and PyTorch.
Upon completing this training, participants will be equipped to:
- Comprehend the purpose and architectural design of the CANN toolkit.
- Configure a development environment utilizing both CANN and MindSpore.
- Convert and deploy a basic AI model onto Ascend hardware.
- Acquire foundational insights necessary for future projects involving CANN optimization or integration.
Course Format
- Engaging lectures paired with interactive discussions.
- Practical, hands-on labs focused on simple model deployment.
- Detailed, step-by-step guidance through the CANN toolchain and its integration points.
Customization Options
- For tailored training sessions regarding this course, please reach out to us to arrange details.
CANN for Edge AI Deployment
14 HoursHuawei's Ascend CANN toolkit empowers developers to execute high-performance AI inference on edge devices like the Ascend 310. By providing essential tools for compiling, optimizing, and deploying models in environments with limited compute and memory resources, CANN addresses the unique challenges of edge computing.
This instructor-led live training, available online or onsite, is designed for intermediate-level AI developers and integrators looking to deploy and optimize models on Ascend edge devices using the CANN toolchain.
Upon completing this course, 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.
- Enhance model performance within constrained compute and memory environments.
- Deploy and monitor AI applications in real-world edge scenarios.
Course Format
- Interactive lectures paired with live demonstrations.
- Practical lab exercises featuring edge-specific models and use cases.
- Live deployment examples on both virtual and physical edge hardware.
Customization Options
- For tailored training options, please reach out to us to arrange your personalized session.
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, specifically optimized for Ascend hardware.
This instructor-led live training, available either online or onsite, targets technical professionals at beginner to intermediate levels who want to understand how CANN and MindSpore components collaborate to support AI lifecycle management and infrastructure decisions.
Upon completing this training, participants will be able to:
- Comprehend the layered architecture of Huawei’s AI compute stack.
- Identify 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 exploring the model flow from MindSpore to CANN.
Course Customization Options
- For customized training requests for this course, please contact us to arrange.
Optimizing Neural Network Performance with CANN SDK
14 HoursThe CANN SDK (Compute Architecture for Neural Networks) serves as Huawei’s foundational AI compute platform, enabling developers to refine and optimize the performance of neural networks deployed on Ascend AI processors.
This instructor-led live training (available online or onsite) targets advanced AI developers and system engineers seeking to boost inference performance through CANN’s sophisticated toolkit, which includes the Graph Engine, TIK, and custom operator development capabilities.
Upon completing this training, participants will be equipped to:
- Comprehend CANN’s runtime architecture and its performance lifecycle.
- Utilize profiling tools and the Graph Engine to analyze and enhance performance.
- Develop and optimize custom operators leveraging TIK and TVM.
- Address memory bottlenecks and elevate model throughput.
Course Format
- Interactive lectures accompanied by group discussions.
- Practical labs featuring real-time profiling and operator tuning.
- Optimization exercises based on deployment scenarios with edge-case constraints.
Customization Options
- For personalized training arrangements, please contact us.
CANN SDK for Computer Vision and NLP Pipelines
14 HoursThe CANN SDK (Compute Architecture for Neural Networks) offers robust deployment and optimization solutions for real-time AI applications in computer vision and NLP, particularly on Huawei Ascend hardware.
This instructor-led training, available online or onsite, targets intermediate-level AI practitioners looking to develop, deploy, and optimize vision and language models using the CANN SDK for production scenarios.
By the conclusion of this training, participants will be able to:
- Deploy and optimize CV and NLP models utilizing CANN and AscendCL.
- Leverage CANN tools to convert models and seamlessly integrate them into live pipelines.
- Enhance inference performance for tasks such as detection, classification, and sentiment analysis.
- Construct real-time CV/NLP pipelines tailored for edge or cloud deployment environments.
Course Format
- Interactive lectures combined with live demonstrations.
- Practical labs focusing on model deployment and performance profiling.
- Live pipeline design exercises using real-world CV and NLP scenarios.
Course Customization Options
- For customized training requests, please contact us to arrange details.
Building Custom AI Operators with CANN TIK and TVM
14 HoursLeveraging CANN TIK (Tensor Instruction Kernel) alongside Apache TVM facilitates the sophisticated optimization and customization of AI model operators tailored for Huawei Ascend hardware.
This instructor-led, live training session, available in both online and onsite formats, is designed for advanced system developers looking to construct, deploy, and fine-tune custom operators for AI models. The curriculum focuses on utilizing CANN’s TIK programming model in conjunction with TVM compiler integration.
Upon completion of this training, participants will be equipped to:
- Author and validate custom AI operators employing the TIK DSL specifically for Ascend processors.
- Seamlessly integrate custom operators into the CANN runtime and execution graph.
- Utilize TVM for operator scheduling, automatic tuning, and performance benchmarking.
- Debug and enhance instruction-level performance to address custom computation patterns.
Course Format
- Engaging lectures coupled with practical demonstrations.
- Practical coding exercises involving operators via TIK and TVM pipelines.
- Testing and optimization performed on Ascend hardware or simulated environments.
Course Customization Options
- For bespoke training arrangements, please reach out to us to coordinate your specific requirements.
Migrating CUDA Applications to Chinese GPU Architectures
21 HoursChinese GPU architectures, including Huawei Ascend, Biren, and Cambricon MLUs, provide CUDA alternatives specifically designed for the local AI and HPC markets.
This instructor-led, live training (available online or onsite) targets advanced-level GPU programmers and infrastructure specialists who aim to migrate and optimize existing CUDA applications for deployment on Chinese hardware platforms.
By the conclusion of this training, participants will be able to:
- Evaluate the compatibility of existing CUDA workloads with Chinese chip alternatives.
- Port CUDA codebases to Huawei CANN, Biren SDK, and Cambricon BANGPy environments.
- Compare performance metrics and identify optimization opportunities across various platforms.
- Address practical challenges related to cross-architecture support and deployment.
Format of the Course
- Interactive lecture and discussion.
- Hands-on code translation and performance comparison labs.
- Guided exercises focused on multi-GPU adaptation strategies.
Course Customization Options
- To request a customized training for this course based on your specific platform or CUDA project, please contact us to arrange.
Performance Optimization on Ascend, Biren, and Cambricon
21 HoursAscend, Biren, and Cambricon represent leading AI hardware platforms in China, each providing distinct acceleration and profiling tools tailored for large-scale AI workloads.
This instructor-led live training, available online or onsite, targets advanced AI infrastructure and performance engineers aiming to optimize model inference and training processes across these diverse Chinese AI chip ecosystems.
Upon completion of this training, participants will be equipped to:
- Evaluate model performance on Ascend, Biren, and Cambricon platforms.
- Pinpoint system bottlenecks and inefficiencies in memory and compute resources.
- Implement optimizations at the graph, kernel, and operator levels.
- Refine deployment pipelines to enhance throughput and reduce latency.
Course Format
- Interactive lectures and discussions.
- Practical application of profiling and optimization tools across each platform.
- Guided exercises centered on real-world tuning scenarios.
Customization Options
- To arrange customized training tailored to your specific performance environment or model type, please contact us.