ROCm for Windows Training Course
ROCm is an open-source platform designed for GPU programming, supporting AMD GPUs while offering compatibility with CUDA and OpenCL. It provides developers with direct access to hardware details, granting full control over the parallelization process. However, this requires a solid grasp of device architecture, memory models, execution models, and optimization strategies.
The introduction of ROCm for Windows allows users to install and operate ROCm on the Windows operating system, a platform widely adopted for both personal and professional tasks. This integration enables users to harness the power of AMD GPUs for diverse 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 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 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.
- Use ROCm and HIP execution models to manage the threads, blocks, and grids that define parallelism.
- Debug and test ROCm and HIP programs using tools such as the ROCm Debugger and ROCm Profiler.
- Optimize ROCm and HIP programs using 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
- 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
- A solid 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 aiming to learn how to install and use ROCm on Windows to program AMD GPUs and exploit their parallelism
- Developers interested in writing high-performance, scalable code capable of running across various AMD devices
- Programmers looking to explore the low-level aspects of GPU programming and optimize 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 high-efficiency inference and training tasks.
This instructor-led live training, available either online or at your location, targets intermediate-level AI engineers and data scientists seeking to create and optimize neural network models via Huawei’s Ascend platform and the CANN toolkit.
Upon completion of this training, participants will be capable of:
- Establishing and configuring the CANN development environment.
- Creating AI applications utilizing MindSpore and CloudMatrix workflows.
- Enhancing performance on Ascend NPUs through custom operators and tiling techniques.
- Deploying models into cloud or edge computing environments.
Course Format
- Engaging lectures combined with interactive discussions.
- Practical application of Huawei Ascend and the CANN toolkit within sample projects.
- Supervised exercises centered on model construction, training, and deployment.
Customization Opportunities
- For customized training tailored to your specific infrastructure or datasets, please reach out to us to arrange a session.
Deploying AI Models with CANN and Ascend AI Processors
14 HoursCANN (Compute Architecture for Neural Networks) represents Huawei's AI compute stack, designed for deploying and optimizing AI models on Ascend AI processors.
This instructor-led live training, available online or on-site, targets intermediate-level AI developers and engineers seeking to efficiently deploy trained AI models to Huawei Ascend hardware. The course focuses on utilizing the CANN toolkit alongside tools such as MindSpore, TensorFlow, or PyTorch.
Upon completion, participants will be able to:
- Grasp the CANN architecture and its function within the AI deployment pipeline.
- Convert and adapt models from popular frameworks into Ascend-compatible formats.
- Utilize tools like ATC, OM model conversion, and MindSpore for both cloud and edge inference.
- Troubleshoot deployment issues and optimize performance on Ascend hardware.
Course Format
- Interactive lectures and demonstrations.
- Hands-on lab exercises using CANN tools and Ascend simulators or devices.
- Practical deployment scenarios based on real-world AI models.
Customization Options
- For a customized training version of this course, please contact us to make arrangements.
AI Inference and Deployment with CloudMatrix
21 HoursCloudMatrix is Huawei’s unified AI development and deployment platform designed to support scalable, production-grade inference pipelines.
This instructor-led, live training (online or onsite) is aimed at beginner-level to intermediate-level AI professionals who wish to deploy and monitor AI models using the CloudMatrix platform with CANN and MindSpore integration.
Upon completing this training, participants will be equipped to:
- Utilize CloudMatrix for model packaging, deployment, and serving.
- Convert and optimize models for Ascend chipsets.
- Configure pipelines for both real-time and batch inference tasks.
- Monitor deployments and tune performance in production settings.
Format of the Course
- Interactive lecture and discussion.
- Hands-on use of CloudMatrix with real deployment scenarios.
- Guided exercises focused on conversion, optimization, and scaling.
Course Customization Options
- To request a customized training for this course based on your AI infrastructure or cloud environment, please contact us to arrange.
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 to optimize inference and training tasks in both edge computing and data center environments.
This instructor-led live training, available online or on-site, is designed for intermediate-level developers looking to build and deploy AI models leveraging the BANGPy framework and Neuware SDK on Cambricon MLU hardware.
Upon completing this training, participants will be able to:
- Configure and set up the development environments for BANGPy and Neuware.
- Develop and optimize Python- and C++-based models for Cambricon MLUs.
- Deploy models to edge devices and data centers running the Neuware runtime.
- Integrate ML workflows with acceleration features specific to MLU hardware.
Course Format
- Interactive lectures and discussions.
- Practical, hands-on exercises using BANGPy and Neuware for development and deployment.
- Guided labs focusing on optimization, integration, and testing.
Customization Options
- For 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 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 seeking to understand the role of CANN within the model lifecycle, from training through deployment, and its integration with frameworks such as MindSpore, TensorFlow, and PyTorch.
Upon completion of this training, participants will be able to:
- Comprehend the purpose and architectural design of the CANN toolkit.
- Configure a development environment utilizing CANN and MindSpore.
- Convert and deploy a basic AI model onto Ascend hardware.
- Acquire foundational knowledge to support future CANN optimization or integration initiatives.
Course Format
- Interactive lectures and discussions.
- Practical hands-on labs featuring simple model deployment.
- Step-by-step guidance through the CANN toolchain and 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 like the Ascend 310. This suite offers vital tools for compiling, optimizing, and deploying models in environments where computational power and memory are limited.
This instructor-led, live training (available online or onsite) targets intermediate-level AI developers and integrators seeking to deploy and optimize models on Ascend edge devices using the CANN toolchain.
Upon completion of this training, participants will be capable of:
- Preparing and converting AI models for the Ascend 310 using CANN tools.
- Constructing lightweight inference pipelines with MindSpore Lite and AscendCL.
- Enhancing model performance within constrained compute and memory settings.
- Deploying and monitoring AI applications in real-world edge scenarios.
Course Format
- Interactive lectures and demonstrations.
- Practical lab exercises focusing on edge-specific models and scenarios.
- Live deployment examples on either virtual or physical edge hardware.
Course Customization Options
- For customized training options, please contact us to arrange.
Understanding Huawei’s AI Compute Stack: From CANN to MindSpore
14 HoursHuawei’s AI ecosystem — spanning from the low-level CANN SDK to the high-level MindSpore framework — delivers a cohesive environment for developing and deploying AI solutions, specifically optimized for Ascend hardware.
This instructor-led live training (available online or onsite) is designed for technical professionals ranging from beginner to intermediate skill levels who want to understand how CANN and MindSpore interact to facilitate AI lifecycle management and inform infrastructure choices.
Upon completion of this training, participants will be able to:
- Comprehend the layered structure of Huawei’s AI compute architecture.
- Recognize how CANN facilitates model optimization and hardware-level implementation.
- Assess the MindSpore framework and its toolchain against industry standards.
- Place Huawei's AI stack within the context of enterprise or cloud/on-premises environments.
Course Format
- Interactive lectures and discussions.
- Live system demonstrations and case-based walkthroughs.
- Optional guided labs focusing on the model flow from MindSpore to CANN.
Course Customization Options
- To arrange customized training for this course, please contact us.
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 refine and optimize the performance of neural networks deployed on Ascend AI processors.
This instructor-led training session, available online or onsite, targets advanced AI developers and system engineers eager to maximize inference performance utilizing CANN’s sophisticated toolkit. Key components include the Graph Engine, TIK, and custom operator development.
Upon completing this training, participants will be equipped to:
- Comprehend CANN's runtime architecture and its performance lifecycle.
- Leverage profiling tools and the Graph Engine for thorough performance analysis and optimization.
- Develop and optimize custom operators utilizing TIK and TVM.
- Address memory bottlenecks and enhance model throughput.
Course Format
- Engaging lectures paired with interactive discussions.
- Practical labs featuring real-time profiling and operator tuning.
- Optimization exercises based on edge-case deployment scenarios.
Customization Options
- To request a customized version of this course, please contact 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 designed 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, targets intermediate-level AI professionals looking to build, deploy, and optimize vision and language models using the CANN SDK for production scenarios.
Upon completion of this training, participants will be capable of:
- Deploying and optimizing CV and NLP models via CANN and AscendCL.
- Utilizing CANN tools to convert models and integrate them into active pipelines.
- Enhancing inference performance for tasks such as detection, classification, and sentiment analysis.
- Developing real-time CV/NLP pipelines suitable for edge or cloud deployment environments.
Course Format
- Interactive lectures paired with live demonstrations.
- Practical labs focused on model deployment and performance profiling.
- Designing live pipelines using real-world CV and NLP use cases.
Customization Options
- To arrange customized training for this course, please contact us.
Building Custom AI Operators with CANN TIK and TVM
14 HoursCANN TIK (Tensor Instruction Kernel) and Apache TVM provide powerful tools for the advanced optimization and customization of AI model operators tailored for Huawei Ascend hardware.
This instructor-led, live training session, available online or on-site, is designed for experienced system developers who aim to create, deploy, and refine custom operators for AI models utilizing CANN’s TIK programming model and TVM compiler integration.
Upon completing this training, participants will be capable of:
- Writing and testing custom AI operators using the TIK DSL for Ascend processors.
- Integrating custom operators into the CANN runtime and execution graph.
- Leveraging TVM for operator scheduling, auto-tuning, and benchmarking.
- Debugging and optimizing instruction-level performance for specific computation patterns.
Course Format
- Interactive lectures and demonstrations.
- Practical coding exercises involving operators within TIK and TVM pipelines.
- Testing and tuning on Ascend hardware or in simulator environments.
Customization Options for the Course
- For customized training requests for this course, please reach out to us to arrange details.
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 session (available online or onsite) targets advanced-level GPU programmers and infrastructure specialists seeking to migrate and optimize existing CUDA applications for deployment on Chinese hardware platforms.
Upon completion of this training, participants will be equipped 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 different platforms.
- Address practical challenges related to cross-architecture support and deployment.
Course Format
- Interactive lectures and discussions.
- Hands-on labs involving code translation and performance comparison.
- Guided exercises focusing on multi-GPU adaptation strategies.
Customization Options
- To request a customized training session tailored to your specific platform or CUDA project, please contact us to arrange it.
Performance Optimization on Ascend, Biren, and Cambricon
21 HoursAscend, Biren, and Cambricon stand as premier AI hardware platforms in China, providing distinct acceleration and profiling solutions tailored for large-scale AI workloads in production.
This instructor-led live training (available online or onsite) targets advanced AI infrastructure and performance engineers who aim to optimize model inference and training processes across various Chinese AI chip ecosystems.
Upon completion of this training, participants will be equipped to:
- Evaluate models on Ascend, Biren, and Cambricon platforms through benchmarking.
- Diagnose system bottlenecks and identify inefficiencies in memory and compute resources.
- Implement optimizations at the graph, kernel, and operator levels.
- Refine deployment pipelines to enhance both throughput and reduce latency.
Course Format
- Interactive lectures and discussions.
- Practical application of profiling and optimization tools specific to each platform.
- Guided exercises designed around real-world tuning scenarios.
Customization Options
- For customized training tailored to your specific performance environment or model requirements, please contact us to arrange.