ROCm for Windows Training Course
ROCm is an open-source platform designed for GPU programming, supporting AMD GPUs while also offering compatibility with CUDA and OpenCL. This platform exposes hardware details to developers, granting them complete control over the parallelization process. However, this level of control necessitates a solid understanding of device architecture, memory models, execution models, and optimization strategies.
ROCm for Windows is a recent advancement that enables users to install and operate ROCm on the Windows operating system, a system widely adopted for both personal and professional use. This version empowers users to harness the power of AMD GPUs for a variety of applications, including artificial intelligence, gaming, graphics, and scientific computing.
This instructor-led live training (available online or onsite) targets beginner to intermediate-level developers who want to install and utilize ROCm on Windows to program AMD GPUs and leverage their parallel processing capabilities.
Upon completing this training, participants will be able to:
- Establish a development environment comprising the ROCm Platform, an AMD GPU, and Visual Studio Code on Windows.
- 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 carry out common tasks and operations.
- Optimize data transfers and memory access by using ROCm and HIP memory spaces, such as global, shared, constant, and local.
- Control threads, blocks, and grids that define parallelism using ROCm and HIP execution models.
- Debug and test ROCm and HIP programs using tools like ROCm Debugger and ROCm Profiler.
- Optimize ROCm and HIP programs through 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 it.
Course Outline
Introduction
- What is ROCm?
- What is HIP?
- ROCm vs CUDA vs OpenCL
- Overview of ROCm and HIP features and architecture
- ROCm for Windows vs ROCm for Linux
Installation
- Installing ROCm on Windows
- Verifying the installation and check the device compatibility
- Updating or uninstall ROCm on Windows
- Troubleshooting common installation issues
Getting Started
- Creating a new ROCm project using Visual Studio Code on Windows
- Exploring the project structure and files
- Compiling and run the program
- Displaying the output using printf and fprintf
ROCm API
- Using ROCm API in the host program
- Querying device information and capabilities
- Allocating and deallocate device memory
- Copying data between host and device
- Launching kernels and synchronize threads
- Handling errors and exceptions
HIP Language
- Using HIP language in the device program
- Writing kernels that execute on the GPU and manipulate data
- Using data types, qualifiers, operators, and expressions
- Using built-in functions, variables, and libraries
ROCm and HIP Memory Model
- Using different memory spaces, such as global, shared, constant, and local
- Using different memory objects, such as pointers, arrays, textures, and surfaces
- Using different memory access modes, such as read-only, write-only, read-write, etc.
- Using memory consistency model and synchronization mechanisms
ROCm and HIP Execution Model
- Using different execution models, such as threads, blocks, and grids
- Using thread functions, such as hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, etc.
- Using block functions, such as __syncthreads, __threadfence_block, etc.
- Using grid functions, such as hipGridDim_x, hipGridSync, cooperative groups, etc.
Debugging
- Debugging ROCm and HIP programs on Windows
- 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
- Optimizing ROCm and HIP programs on Windows
- Using coalescing techniques to improve memory throughput
- Using caching and prefetching techniques to reduce memory latency
- Using shared memory and local memory techniques to optimize memory accesses and bandwidth
- Using 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
- 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 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.
ROCm for Windows Training Course - Booking
ROCm for Windows Training Course - Enquiry
ROCm for Windows - Consultancy Enquiry
Upcoming Courses
Related Courses
Developing AI Applications with Huawei Ascend and CANN
21 HoursHuawei Ascend is a family of AI processors designed for high-performance inference and training.
This instructor-led, live training (online or onsite) is aimed at intermediate-level AI engineers and data scientists who wish to develop and optimize neural network models using Huawei’s Ascend platform and the CANN toolkit.
By the end of this training, participants will be able to:
- Set up and configure the CANN development environment.
- Develop AI applications using MindSpore and CloudMatrix workflows.
- Optimize performance on Ascend NPUs using custom operators and tiling.
- Deploy models to edge or cloud environments.
Format of the Course
- Interactive lecture and discussion.
- Hands-on use of Huawei Ascend and CANN toolkit in sample applications.
- Guided exercises focused on model building, training, and deployment.
Course Customization Options
- To request a customized training for this course based on your infrastructure or datasets, please contact us to arrange.
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 who want to efficiently deploy trained AI models to Huawei Ascend hardware using the CANN toolkit and tools like MindSpore, TensorFlow, or PyTorch.
Upon completing this training, participants will be able to:
- Grasp the CANN architecture and its function within the AI deployment pipeline.
- Convert and adapt models from leading frameworks into formats compatible with Ascend.
- Utilize tools such as ATC, OM model conversion, and MindSpore for cloud and edge inference.
- Identify deployment challenges and optimize performance on Ascend hardware.
Course Format
- Interactive lectures and live demonstrations.
- Practical lab sessions using CANN tools alongside Ascend simulators or devices.
- Real-world deployment scenarios featuring actual AI models.
Course Customization Options
- To request a customized training session for this course, please contact us to make arrangements.
AI Inference and Deployment with CloudMatrix
21 HoursCloudMatrix serves as Huawei’s unified platform for developing and deploying AI solutions, specifically engineered to support scalable, production-ready inference pipelines.
This live training session, facilitated by an expert instructor and available either online or at your facility, targets 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 capable of:
- Leveraging CloudMatrix for model packaging, deployment, and serving.
- Converting and optimizing models for Ascend hardware.
- Configuring pipelines to handle both real-time and batch inference workloads.
- Monitoring deployments and optimizing performance within production environments.
Course Format
- Interactive lectures and group discussions.
- Practical exercises using CloudMatrix in real-world deployment scenarios.
- Guided activities centered on model conversion, optimization, and scaling.
Customization Options
- To arrange a customized version of this course tailored to your specific AI infrastructure or cloud environment, please reach out to us.
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 processors optimized for inference and training in both edge computing and data center environments.
This instructor-led, live training (available online or onsite) is designed for intermediate developers seeking to build and deploy AI models using the BANGPy framework and Neuware SDK on Cambricon MLU hardware.
Upon completion 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 the Neuware runtime.
- Integrate machine learning workflows with MLU-specific acceleration features.
Course Format
- Interactive lectures and discussions.
- Hands-on development and deployment using BANGPy and Neuware.
- Guided exercises focused on optimization, integration, and testing.
Customization Options
- To request customized training 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, available both online and onsite, is tailored for beginner-level AI developers who want to grasp how CANN integrates into the model lifecycle—from training to deployment—and how it interfaces with frameworks such as MindSpore, TensorFlow, and PyTorch.
Upon completing this training, participants will be capable of:
- Understanding the purpose and architecture of the CANN toolkit.
- Configuring a development environment utilizing CANN and MindSpore.
- Converting and deploying a basic AI model onto Ascend hardware.
- Acquiring foundational knowledge to support future CANN optimization or integration initiatives.
Course Format
- Interactive lectures and discussions.
- Practical hands-on labs focused on simple model deployment.
- A step-by-step walkthrough of the CANN toolchain and its integration points.
Customization Options
- To arrange customized training for this course, please contact us.
CANN for Edge AI Deployment
14 HoursHuawei's Ascend CANN toolkit facilitates robust AI inference on edge devices, including the Ascend 310. CANN offers critical tools for compiling, optimizing, and deploying models in environments where compute power and memory are limited.
This instructor-led, live training session (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 completion of this training, participants will be able to:
- Prepare and convert AI models for the Ascend 310 using CANN tools.
- Construct lightweight inference pipelines with MindSpore Lite and AscendCL.
- Optimize model performance in environments with restricted compute and memory resources.
- Deploy and monitor AI applications in real-world edge scenarios.
Course Format
- Interactive lectures and demonstrations.
- Hands-on lab work featuring edge-specific models and scenarios.
- Live deployment examples on virtual or physical edge hardware.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Understanding Huawei’s AI Compute Stack: From CANN to MindSpore
14 HoursHuawei’s AI stack — ranging 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 training, available either online or on-site, is designed for technical professionals at beginner to intermediate levels who want to understand how the CANN and MindSpore components collaborate to manage the AI lifecycle and support infrastructure decisions.
Upon completion of this training, participants will be able to:
- Grasp the layered architecture of Huawei’s AI compute stack.
- Recognize how CANN facilitates model optimization and hardware-level deployment.
- Evaluate the MindSpore framework and its toolchain in comparison 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 covering the model flow from MindSpore to CANN.
Course Customization Options
- To request customized training for this course, please contact us to arrange it.
Optimizing Neural Network Performance with CANN SDK
14 HoursThe CANN SDK (Compute Architecture for Neural Networks) serves as Huawei's foundational AI compute platform, empowering developers to fine-tune and maximize the efficiency of neural networks deployed on Ascend AI processors.
This instructor-led training session, available either online or in-person, is designed for advanced AI developers and system engineers looking to boost inference performance through CANN’s sophisticated toolset, 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 its 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 based on real-world edge-case deployment scenarios.
Customization Options
- To arrange a tailored training version of this course, please reach out to us.
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, with a particular focus on Huawei Ascend hardware.
This instructor-led live training, available online or onsite, is tailored for intermediate-level AI professionals 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 seamlessly integrate them into live pipelines.
- Enhance 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.
Course Format
- Interactive lectures combined with demonstrations.
- Practical labs focused on model deployment and performance profiling.
- Live pipeline design exercises using real-world CV and NLP use cases.
Customization Options
- For information on requesting customized training for this course, please get in touch with us to make arrangements.
Building Custom AI Operators with CANN TIK and TVM
14 HoursCANN TIK (Tensor Instruction Kernel) and Apache TVM provide the tools necessary for advanced optimization and customization of AI model operators on Huawei Ascend hardware.
This instructor-led, live training (available online or onsite) is designed for advanced system developers who want to build, deploy, and tune custom operators for AI models using TIK’s programming model and TVM’s compiler integration within the CANN ecosystem.
Upon completion of this training, participants will be able to:
- Write and test custom AI operators using the TIK DSL for Ascend processors.
- Integrate custom operators into the CANN runtime and execution graph.
- Leverage TVM for operator scheduling, auto-tuning, and benchmarking.
- Debug and optimize instruction-level performance for custom computation patterns.
Course Format
- Interactive lectures and live demonstrations.
- Practical coding exercises for operators using TIK and TVM pipelines.
- Testing and tuning on Ascend hardware or simulators.
Customization Options
- For inquiries regarding customized training for this course, please contact us to make arrangements.
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 domestic AI and HPC markets.
This instructor-led live training (available online or on-site) is designed for advanced GPU programmers and infrastructure specialists looking to migrate and optimize their existing CUDA applications for deployment on Chinese hardware platforms.
Upon completion of this training, participants will be able to:
- Assess the compatibility of current CUDA workloads with Chinese chip alternatives.
- Port CUDA codebases to Huawei CANN, Biren SDK, and Cambricon BANGPy environments.
- Compare performance and identify optimization opportunities across different platforms.
- Resolve 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.
Course Customization Options
- To request customized training for this course tailored to your specific platform or CUDA project, please contact us to arrange details.
Performance Optimization on Ascend, Biren, and Cambricon
21 HoursAscend, Biren, and Cambricon are prominent AI hardware platforms in China, providing distinct acceleration and profiling tools for AI workloads at scale.
This instructor-led live training, available online or onsite, targets advanced AI infrastructure and performance engineers seeking to optimize model inference and training workflows across various Chinese AI chip architectures.
Upon completion, participants will be able to:
- Evaluate models on Ascend, Biren, and Cambricon platforms.
- Pinpoint system bottlenecks and memory or compute inefficiencies.
- Implement graph-level, kernel-level, and operator-level optimizations.
- Refine deployment pipelines to enhance throughput and reduce latency.
Course Format
- Interactive lectures and discussions.
- Practical application of profiling and optimization tools on each platform.
- Guided exercises centered on real-world tuning scenarios.
Customization Options
- For tailored training based on your specific performance environment or model type, please contact us to make arrangements.