ROCm for Windows Training Course
ROCm is an open-source platform designed for GPU programming, offering support for AMD GPUs while maintaining compatibility with CUDA and OpenCL. It provides programmers with direct access to hardware specifics, 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 allows users to install and utilize ROCm on the Windows operating system, which is widely used for both personal and professional purposes. This enables 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) is tailored 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.
- Create a basic ROCm program that performs vector addition on the GPU and retrieves the results from GPU memory.
- Use 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.
- Utilize HIP built-in functions, variables, and libraries to perform common tasks and operations.
- Leverage ROCm and HIP memory spaces, such as global, shared, constant, and local, to optimize data transfers and memory accesses.
- Apply ROCm and HIP execution models to control threads, blocks, and grids that define parallelism.
- Debug and test ROCm and HIP programs using tools like the ROCm Debugger and ROCm Profiler.
- Optimize ROCm and HIP programs using techniques such as coalescing, caching, prefetching, and profiling.
Format of the Course
- Interactive lectures and discussions.
- Extensive exercises and hands-on practice.
- Practical 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 checking device compatibility
- Updating or uninstalling 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 running the program
- Displaying the output using printf and fprintf
ROCm API
- Using the ROCm API in the host program
- Querying device information and capabilities
- Allocating and deallocating device memory
- Copying data between host and device
- Launching kernels and synchronizing threads
- Handling errors and exceptions
HIP Language
- Using the HIP language in the device program
- Writing kernels that execute on the GPU and manipulate data
- Using data types, qualifiers, operators, and expressions
- Utilizing 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.
- Understanding memory consistency models 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 the Visual Studio Code debugger to inspect variables, breakpoints, call stacks, etc.
- Using the ROCm Debugger to debug ROCm and HIP programs on AMD devices
- Using the 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
- Applying caching and prefetching techniques to reduce memory latency
- Using shared memory and local memory techniques to optimize memory accesses and bandwidth
- Using profiling tools to measure and improve 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 aim to write high-performance and scalable code that can run on various AMD devices
- Programmers interested in exploring the low-level aspects of GPU programming and optimizing code performance
Need help picking the right course?
uzbekistan@nobleprog.com or +919818060888
ROCm for Windows Training Course - Enquiry
ROCm for Windows - Consultancy Enquiry
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 optimise 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.
- Optimise 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 Customisation Options
- To request a customised 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) is Huawei’s AI compute stack for deploying and optimizing AI models on Ascend AI processors.
This instructor-led, live training (online or onsite) is aimed at intermediate-level AI developers and engineers who wish to deploy trained AI models efficiently to Huawei Ascend hardware using the CANN toolkit and tools such as MindSpore, TensorFlow, or PyTorch.
By the end of this training, participants will be able to:
- Understand the CANN architecture and its role in the AI deployment pipeline.
- Convert and adapt models from popular frameworks to Ascend-compatible formats.
- Use tools like ATC, OM model conversion, and MindSpore for edge and cloud inference.
- Diagnose deployment issues and optimize performance on Ascend hardware.
Format of the Course
- Interactive lecture and demonstration.
- Hands-on lab work using CANN tools and Ascend simulators or devices.
- Practical deployment scenarios based on real-world AI models.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
AI Inference and Deployment with CloudMatrix
21 HoursCloudMatrix serves as Huawei's consolidated AI development and deployment platform, engineered to facilitate scalable, production-ready inference pipelines.
This instructor-led live training, available either online or onsite, targets beginner to intermediate-level AI professionals looking to deploy and monitor AI models using the CloudMatrix platform, integrated with CANN and MindSpore.
Upon completing this training, participants will be capable of:
- Utilizing 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 fine-tuning performance within production environments.
Course Format
- Interactive lectures and discussions.
- Practical application of CloudMatrix through real-world deployment scenarios.
- Guided exercises concentrating on conversion, optimization, and scaling.
Customization Options
- To request tailored training for this course based on your specific AI infrastructure or cloud environment, please reach out to us to arrange.
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 tasks.
This instructor-led, live training session (available online or on-site) is designed for intermediate to advanced developers seeking to program and optimise applications using Biren's proprietary GPU stack, with practical comparisons to CUDA-based environments.
Upon completion of this training, participants will be able to:
- Comprehend the Biren GPU architecture and its memory hierarchy.
- Configure the development environment and effectively utilise Biren's programming model.
- Translate and optimise CUDA-style code for deployment on Biren platforms.
- Apply advanced performance tuning and debugging techniques.
Course Format
- Interactive lectures and guided discussions.
- Hands-on application of the Biren SDK in real-world GPU workloads.
- Structured exercises focused on code porting and performance optimisation.
Course Customisation Options
- To request a customised training programme tailored to your specific application stack or integration requirements, please contact us to arrange a session.
Cambricon MLU Development with BANGPy and Neuware
21 HoursCambricon MLUs (Machine Learning Units) are specialized AI chips designed to accelerate inference and training processes in both edge computing and datacenter environments.
This instructor-led training session, available online or on-site, is designed for intermediate-level developers interested in creating and deploying AI models using the BANGPy framework and Neuware SDK on Cambricon MLU hardware.
Upon completion of this training, participants will be equipped to:
- Configure and establish the development environments for BANGPy and Neuware.
- Create and optimize Python and C++ models tailored for Cambricon MLUs.
- Deploy models onto edge and data center devices operating on the Neuware runtime.
- Enhance ML workflows by integrating MLU-specific acceleration capabilities.
Course Format
- Engaging lectures coupled with interactive discussions.
- Practical, hands-on experience using BANGPy and Neuware for development and deployment.
- Guided exercises targeting optimization, integration, and testing techniques.
Customization Options
- If you require a tailored training session aligned with your specific Cambricon device model or use case, please reach out to us to arrange details.
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 training, available online or onsite, is tailored for beginner-level AI developers seeking to understand how CANN integrates into the model lifecycle from training to deployment, and how it works alongside frameworks such as MindSpore, TensorFlow, and PyTorch.
Upon completing this training, participants will be able to:
- Grasp the purpose and architecture of the CANN toolkit.
- Configure a development environment using CANN and MindSpore.
- Convert and deploy a simple AI model to Ascend hardware.
- Acquire foundational knowledge for future CANN optimization or integration initiatives.
Course Format
- Interactive lectures and discussions.
- Practical labs focused on simple model deployment.
- Step-by-step guidance through the CANN toolchain and integration points.
Course Customization Options
- For customized training requests, please contact us to arrange details.
CANN for Edge AI Deployment
14 HoursHuawei’s Ascend CANN toolkit enables powerful AI inference on edge devices such as the Ascend 310. CANN provides essential tools for compiling, optimizing, and deploying models in environments with limited compute and memory resources.
This instructor-led, live training (delivered online or on-site) is designed for intermediate-level AI developers and integrators who aim to deploy and optimise models on Ascend edge devices using the CANN toolchain.
By the end of this training, participants will be able to:
- Prepare and convert AI models for the Ascend 310 using CANN tools.
- Build lightweight inference pipelines using MindSpore Lite and AscendCL.
- Optimise model performance for constrained compute and memory environments.
- Deploy and monitor AI applications in real-world edge scenarios.
Course Format
- Interactive lectures and live demonstrations.
- Hands-on lab sessions using edge-specific models and practical scenarios.
- Live deployment examples on virtual or physical edge hardware.
Course Customisation Options
- To request a customised version of this course, please contact us to arrange.
Understanding Huawei’s AI Compute Stack: From CANN to MindSpore
14 HoursHuawei’s AI stack — from the low-level CANN SDK to the high-level MindSpore framework — provides a tightly integrated AI development and deployment environment optimized for Ascend hardware.
This instructor-led, live training (online or onsite) targets beginner-level to intermediate-level technical professionals who want to understand how the CANN and MindSpore components work together to support AI lifecycle management and infrastructure decisions.
By the end of this training, participants will be able to:
- Understand the layered architecture of Huawei’s AI compute stack.
- Identify how CANN supports model optimization and hardware-level deployment.
- Evaluate the MindSpore framework and toolchain in relation to industry alternatives.
- Position Huawei's AI stack within enterprise or cloud/on-prem environments.
Format of the Course
- Interactive lecture and discussion.
- Live system demos and case-based walkthroughs.
- Optional guided labs on model flow from MindSpore to CANN.
Course Customization Options
- To request a customized training 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 computing platform, enabling developers to fine-tune and optimize the performance of neural networks deployed on Ascend AI processors.
This instructor-led live training, available both online and on-site, is designed for advanced AI developers and system engineers looking to enhance inference performance using CANN’s sophisticated tools, such as the Graph Engine, TIK, and custom operator development capabilities.
Upon completing this training, participants will be able to:
- Comprehend CANN’s runtime architecture and its performance lifecycle.
- Leverage profiling tools and the Graph Engine for performance analysis and optimization.
- Develop and optimize custom operators utilizing TIK and TVM.
- Address memory bottlenecks and boost model throughput.
Course Format
- Interactive lectures and discussions.
- Practical labs featuring real-time profiling and operator tuning.
- Optimization exercises based on edge-case deployment scenarios.
Customization Options
- To request a tailored version of this course, please contact us to arrange your specific needs.
CANN SDK for Computer Vision and NLP Pipelines
14 HoursThe CANN SDK (Compute Architecture for Neural Networks) offers powerful deployment and optimisation tools for real-time AI applications in computer vision and natural language processing (NLP), particularly on Huawei Ascend hardware.
This instructor-led, live training (available online or on-site) is designed for intermediate-level AI practitioners who aim to build, deploy, and optimise vision and language models using the CANN SDK for production-grade use cases.
By the end of this training, participants will be able to:
- Deploy and optimise computer vision (CV) and NLP models using CANN and AscendCL.
- Leverage CANN tools to convert models and integrate them into live pipelines.
- Optimise inference performance for tasks such as object detection, classification, and sentiment analysis.
- Construct real-time CV/NLP pipelines tailored for edge or cloud-based deployment scenarios.
Course Format
- Interactive lectures and demonstrations.
- Practical labs covering model deployment and performance profiling.
- Live pipeline design using real-world CV and NLP use cases.
Course Customisation Options
- To request a customised version of this course, please contact us to arrange the details.
Building Custom AI Operators with CANN TIK and TVM
14 HoursLeveraging CANN TIK (Tensor Instruction Kernel) and Apache TVM allows 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 looking to build, deploy, and tune custom operators for AI models using 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.
- Utilizing TVM for operator scheduling, auto-tuning, and benchmarking.
- Debugging and optimizing instruction-level performance for custom computational patterns.
Course Format
- Interactive lectures and demonstrations.
- Hands-on coding exercises for operators using TIK and TVM pipelines.
- Testing and tuning on Ascend hardware or simulators.
Customization Options
- To request a customized training session, 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 viable alternatives to CUDA, specifically designed for the local AI and high-performance computing (HPC) markets.
This instructor-led live training, available online or on-site, is designed for advanced 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:
- 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 metrics and identify key optimization opportunities across different platforms.
- Tackle 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
- For customized training tailored to 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 are leading AI hardware platforms in China, each offering unique acceleration and profiling tools for production-scale AI workloads.
This instructor-led, live training (online or onsite) is aimed at advanced-level AI infrastructure and performance engineers who wish to optimize model inference and training workflows across multiple Chinese AI chip platforms.
By the end of this training, participants will be able to:
- Benchmark models on Ascend, Biren, and Cambricon platforms.
- Identify system bottlenecks and memory/compute inefficiencies.
- Apply graph-level, kernel-level, and operator-level optimizations.
- Tune deployment pipelines to improve throughput and latency.
Course Format
- Interactive lectures and discussions.
- Hands-on experience with profiling and optimization tools on each platform.
- Guided exercises focused on practical tuning scenarios.
Course Customization Options
- To request a customized training session tailored to your performance environment or model type, please contact us to arrange.