ROCm for Windows Training Course
ROCm is an open-source platform for GPU programming that supports AMD GPUs, offering compatibility with both CUDA and OpenCL. It provides developers with direct access to hardware details, granting 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.
ROCm for Windows is a recent advancement that enables users to install and utilize ROCm on the Windows operating system, a platform widely adopted for both personal and professional use. This integration allows users to harness the power of AMD GPUs for various applications, including artificial intelligence, gaming, graphics rendering, and scientific computing.
This instructor-led, live training (available online or onsite) is designed for beginner to intermediate-level developers who aim to install and use ROCm on Windows to program AMD GPUs and leverage their parallel processing capabilities.
By the end of this training, participants will be able to:
- Set up a development environment that includes the ROCm Platform, an AMD GPU, and Visual Studio Code on Windows.
- 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, copy data between host and device, launch kernels, and synchronize threads.
- Use 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 accesses by using ROCm and HIP memory spaces, including global, shared, constant, and local.
- Control the threads, blocks, and grids that define parallelism through ROCm and HIP execution models.
- Debug and test ROCm and HIP programs using tools such as ROCm Debugger and ROCm Profiler.
- Optimize ROCm and HIP programs using techniques such as coalescing, caching, prefetching, and profiling.
Format of the Course
- Interactive lecture and discussion.
- Ample 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
- 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 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 comprises a series of AI processors engineered for superior inference and training performance.
This instructor-led training, available both online and on-site, is tailored for intermediate AI engineers and data scientists aiming to create and optimize neural network models leveraging Huawei's Ascend platform alongside the CANN toolkit.
Upon completing this training, participants will be equipped to:
- Establish and configure the CANN development environment.
- Create AI applications utilizing MindSpore and CloudMatrix workflows.
- Enhance performance on Ascend NPUs through custom operators and tiling techniques.
- Deploy models within edge or cloud infrastructures.
Course Format
- Engaging lectures coupled with interactive discussions.
- Practical application of Huawei Ascend and the CANN toolkit in sample projects.
- Supervised exercises concentrating on model construction, training, and deployment.
Customization Opportunities
- For bespoke training aligned with your specific infrastructure or datasets, please get in touch with us to arrange.
Deploying AI Models with CANN and Ascend AI Processors
14 HoursCANN (Compute Architecture for Neural Networks) serves as Huawei's AI compute stack, designed for the efficient deployment and optimization of AI models on Ascend AI processors.
This instructor-led live training, available both online and onsite, targets intermediate-level AI developers and engineers seeking to deploy trained AI models effectively on Huawei Ascend hardware. Participants will learn to utilize the CANN toolkit alongside tools such as MindSpore, TensorFlow, or PyTorch.
Upon completing this training, participants will be equipped to:
- Grasp the CANN architecture and its critical role within the AI deployment pipeline.
- Convert and adapt models from widely used frameworks into Ascend-compatible formats.
- Utilize tools like 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.
- Practical hands-on lab exercises using CANN tools and Ascend simulators or physical devices.
- Real-world deployment scenarios based on actual AI models.
Course Customization Options
- For those interested in a customized training program, please get in touch with us to arrange it.
AI Inference and Deployment with CloudMatrix
21 HoursCloudMatrix represents Huawei’s consolidated platform for AI development and deployment, engineered to facilitate scalable, production-ready inference pipelines.
This instructor-led live training, available either online or onsite, is tailored for AI professionals at the beginner to intermediate level who aim to deploy and monitor AI models utilizing the CloudMatrix platform in conjunction with CANN and MindSpore integration.
Upon completing this training, participants will be equipped to:
- Utilize CloudMatrix for the packaging, deployment, and serving of models.
- Convert and optimize models specifically for Ascend chipsets.
- Establish pipelines capable of handling both real-time and batch inference tasks.
- Monitor deployments and fine-tune performance within production environments.
Course Format
- Interactive lectures complemented by group discussions.
- Practical application of CloudMatrix through real-world deployment scenarios.
- Guided exercises centered on conversion, optimization, and scaling techniques.
Customization Options for the Course
- For bespoke training sessions tailored to your specific AI infrastructure or cloud environment, please get in touch with us to make arrangements.
GPU Programming on Biren AI Accelerators
21 HoursBiren AI Accelerators are high-performance GPUs engineered for AI and HPC workloads, offering robust support for large-scale training and inference.
This instructor-led, live training (available online or onsite) is tailored for developers at intermediate to advanced levels 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 designed to optimize both inference and training tasks for edge computing and datacenter environments.
This instructor-led live training session, available online or onsite, targets intermediate-level developers looking to create and deploy AI models on Cambricon MLU hardware using the BANGPy framework and the Neuware SDK.
Upon completing this course, participants will be able to:
- Configure and set up the development environments for BANGPy and Neuware.
- Develop and optimize models written in Python and C++ specifically for Cambricon MLUs.
- Deploy models to edge devices and datacenters operating on the Neuware runtime.
- Integrate machine learning workflows with MLU-specific acceleration capabilities.
Course Format
- Interactive lectures and discussions.
- Practical application of BANGPy and Neuware for development and deployment.
- Guided exercises concentrating on optimization, integration, and testing.
Customization Options
- To arrange a customized training session tailored to your specific Cambricon device model or use case, please get in touch with us.
Introduction to CANN for AI Framework Developers
7 HoursCANN (Compute Architecture for Neural Networks) serves as Huawei’s AI computing toolkit, designed to compile, optimise, and deploy AI models on Ascend AI processors.
This instructor-led live training, available either online or onsite, is tailored for beginner-level AI developers. It aims to elucidate how CANN integrates into the model lifecycle, spanning from training through to deployment, and illustrates its interaction with prominent frameworks such as MindSpore, TensorFlow, and PyTorch.
Upon completion of this training, participants will be equipped to:
- Comprehend the purpose and architectural structure of the CANN toolkit.
- Configure a development environment incorporating both CANN and MindSpore.
- Convert and deploy a fundamental AI model onto Ascend hardware.
- Establish a foundational knowledge base for future CANN optimisation or integration initiatives.
Course Format
- Engaging lectures coupled with interactive discussions.
- Practical hands-on labs focused on simple model deployment.
- Guided, step-by-step exploration of the CANN toolchain and integration points.
Course Customization Options
- For those seeking a tailored training experience, please reach out to us to arrange a bespoke session.
CANN for Edge AI Deployment
14 HoursThe Huawei Ascend CANN toolkit empowers powerful AI inference on edge devices, including the Ascend 310. It offers essential tools for compiling, optimizing, and deploying models in environments with limited compute power and memory.
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 training, participants will be able to:
- Prepare and convert AI models for the Ascend 310 using CANN tools.
- Create lightweight inference pipelines using MindSpore Lite and AscendCL.
- Enhance model performance in environments with constrained compute and memory resources.
- Deploy and monitor AI applications in real-world edge scenarios.
Course Format
- Interactive lectures and demonstrations.
- Practical lab exercises 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 — spanning the low-level CANN SDK to the high-level MindSpore framework — provides a tightly integrated environment for AI development and deployment, optimized specifically for Ascend hardware.
This instructor-led, live training (available online or onsite) is designed for beginner to intermediate-level technical professionals seeking to understand 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:
- Gain an understanding of 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.
- 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 for the Course
- To request a customized training version of this course, please contact us to arrange details.
Optimizing Neural Network Performance with CANN SDK
14 HoursThe CANN SDK (Compute Architecture for Neural Networks) serves as Huawei's foundational AI compute layer, empowering developers to fine-tune and enhance the performance of deployed neural networks on Ascend AI processors.
This instructor-led live training, available both online and onsite, is designed for advanced AI developers and system engineers aiming to boost inference performance by leveraging CANN's sophisticated toolset, which includes the Graph Engine, TIK, and custom operator development capabilities.
Upon completing this training, participants will be able to:
- Comprehend CANN's runtime architecture and performance lifecycle.
- Utilise profiling tools and the Graph Engine for performance analysis and optimisation.
- Develop and optimise custom operators using TIK and TVM.
- Resolve memory bottlenecks and enhance model throughput.
Course Format
- Interactive lectures and discussions.
- Practical labs featuring real-time profiling and operator tuning.
- Optimisation exercises based on edge-case deployment scenarios.
Customisation Options
- To arrange bespoke training for this course, please contact us directly.
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 natural language processing, particularly on Huawei Ascend hardware.
This instructor-led live training, available online or onsite, is designed for intermediate-level AI professionals looking to develop, deploy, and optimize vision and language models using the CANN SDK for production environments.
Upon completion 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 active pipelines.
- Enhance inference performance for tasks such as detection, classification, and sentiment analysis.
- Construct real-time CV/NLP pipelines tailored 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 utilizing real-world CV and NLP use cases.
Customization Options
- To request a customized training session for this course, please get in touch with us to arrange details.
Building Custom AI Operators with CANN TIK and TVM
14 HoursCANN TIK (Tensor Instruction Kernel) and Apache TVM facilitate the advanced optimization and customization of AI model operators for Huawei Ascend hardware.
This instructor-led, live training (available online or onsite) is designed for advanced-level system developers who aim to build, deploy, and tune custom operators for AI models leveraging CANN’s TIK programming model and TVM compiler integration.
Upon completion of this training, participants will be able to:
- Write and test custom AI operators utilizing the TIK DSL for Ascend processors.
- Integrate custom operations into the CANN runtime and execution graph.
- Employ TVM for operator scheduling, auto-tuning, and benchmarking.
- Debug and enhance instruction-level performance for custom computation patterns.
Course Format
- Interactive lectures and demonstrations.
- Practical coding exercises for operators using TIK and TVM pipelines.
- Testing and tuning on Ascend hardware or simulators.
Course Customization Options
- For customized training requests, 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 alternatives to CUDA specifically designed for local AI and high-performance computing markets.
This instructor-led, live training (available online or onsite) is designed for advanced 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 Chinese chip alternatives.
- Port CUDA codebases to Huawei CANN, Biren SDK, and Cambricon BANGPy environments.
- Compare performance 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 focused on code translation and performance comparison.
- Guided exercises centered on multi-GPU adaptation strategies.
Customization Options
- To request customized training for this course tailored to your specific platform or CUDA project, please contact us to arrange.
Performance Optimization on Ascend, Biren, and Cambricon
21 HoursAscend, Biren, and Cambricon represent the forefront of AI hardware platforms in China, each providing distinct acceleration and profiling capabilities tailored for large-scale production AI workloads.
This instructor-led training, available either online or onsite, targets advanced AI infrastructure and performance engineers seeking to enhance model inference and training workflows across these diverse Chinese AI chip ecosystems.
Upon completion of this course, participants will be equipped to:
- Evaluate model performance on Ascend, Biren, and Cambricon platforms through benchmarking.
- Pinpoint system bottlenecks and inefficiencies related to memory and computation.
- Implement optimizations at the graph, kernel, and operator levels.
- Refine deployment pipelines to achieve superior throughput and reduced latency.
Course Format
- Engaging interactive lectures and discussions.
- Practical application of profiling and optimization tools on each specific platform.
- Guided exercises centered on real-world tuning scenarios.
Customization Options
- For customized training tailored to your specific performance environment or model architecture, please contact us to arrange a session.