GPU Programming with OpenACC Training Course
OpenACC is an open standard for heterogeneous programming that enables a code to run on different platforms and devices, such as multicore CPUs, GPUs, FPGAs, and others.
This instructor-led, live training (online or onsite) is aimed at beginner-level to intermediate-level developers who wish to use OpenACC to program heterogeneous devices and exploit their parallelism.
By the end of this training, participants will be able to:
- Set up an OpenACC development environment.
- Write and run a basic OpenACC program.
- Annotate code with OpenACC directives and clauses.
- Use OpenACC API and libraries.
- Profile, debug, and optimize OpenACC programs.
Format of the Course
- Interactive lecture and discussion.
- Lots of 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 OpenACC?
- OpenACC vs OpenCL vs CUDA vs SYCL
- Overview of OpenACC features and architecture
- Setting up the development environment
Getting Started
- Creating an OpenACC project in Visual Studio Code
- Exploring project structure and files
- Compiling and running the program
- Displaying output with printf and fprintf
OpenACC Directives and Clauses
- Understanding OpenACC directives and clauses
- Using parallel directives for creating parallel regions
- Using kernels directives for compiler-managed parallelism
- Using loop directives for parallelizing loops
- Managing data movement with data directives
- Synchronizing data with update directives
- Improving data reuse with cache directives
- Creating device functions with routine directives
- Synchronizing events with wait directives
OpenACC API
- Understanding the role of OpenACC API
- Querying device information and capabilities
- Setting device number and type
- Handling errors and exceptions
- Creating and synchronizing events
OpenACC Libraries and Interoperability
- Understanding OpenACC libraries and interoperability
- Using math, random, and complex libraries
- Integrating with other models (CUDA, OpenMP, MPI)
- Integrating with GPU libraries (cuBLAS, cuFFT)
OpenACC Tools
- Understanding OpenACC tools in development
- Profiling and debugging OpenACC programs
- Performance analysis with PGI Compiler, NVIDIA Nsight Systems, Allinea Forge
Optimization
- Factors affecting OpenACC program performance
- Optimizing data locality and reducing transfers
- Optimizing loop parallelism and fusion
- Optimizing kernel parallelism and fusion
- Optimizing vectorization and auto-tuning
Summary and Next Steps
Requirements
- An understanding of C/C++ or Fortran 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 OpenACC to program heterogeneous devices and exploit their parallelism
- Developers who wish to write portable and scalable code that can run on different platforms and devices
- Programmers who wish to explore the high-level aspects of heterogeneous programming and optimize their code productivity
Need help picking the right course?
southafrica@nobleprog.co.za or +27 (0)10 005 5793
GPU Programming with OpenACC Training Course - Enquiry
Upcoming Courses
Related Courses
Developing AI Applications with Huawei Ascend and CANN
21 HoursHuawei Ascend refers to a range of AI processors engineered for superior training and inference performance.
This guided, live training session (available online or in-person) is designed for mid-level data scientists and AI engineers looking to build and optimise neural network models leveraging the CANN toolkit and Huawei’s Ascend platform.
Upon completing this course, learners will be capable of:
- Configuring and setting up the CANN development environment.
- Creating AI applications using CloudMatrix workflows and MindSpore.
- Enhancing Ascend NPU performance via tiling and custom operators.
- Deploying models into cloud or edge settings.
Course Format
- Interactive discussions and lectures.
- Practical application of the CANN toolkit and Huawei Ascend in sample projects.
- Directed exercises concentrating on model building, deployment, and training.
Customization Opportunities
- For bespoke training aligned with your specific infrastructure or datasets, kindly reach out to us to arrange a session.
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 deploying and optimising AI models on Ascend AI processors.
This instructor-led, live training—available either online or onsite—is tailored for intermediate-level AI developers and engineers who wish to efficiently deploy trained AI models onto Huawei Ascend hardware. Participants will utilize the CANN toolkit alongside tools such as MindSpore, TensorFlow, or PyTorch.
Upon completion of this training, participants will be able to:
- Grasp the CANN architecture and its pivotal role within the AI deployment pipeline.
- Convert and adapt models from popular frameworks into formats compatible with Ascend.
- Employ tools such as ATC, OM model conversion, and MindSpore for inference across both edge and cloud environments.
- Diagnose deployment challenges and optimise performance on Ascend hardware.
Course Format
- Interactive lectures combined with practical demonstrations.
- Hands-on laboratory sessions utilising CANN tools, Ascend simulators, or actual devices.
- Practical deployment scenarios based on real-world AI models.
Course Customisation Options
- To request customised training for 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.
By the end of this training, participants will be able to:
- Leverage CloudMatrix for model packaging, deployment, and serving.
- Convert and optimize models for Ascend chipsets.
- Establish 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 purpose-built AI processors designed to enhance inference and training capabilities in both edge computing and data centre environments.
This instructor-led live training, available either online or onsite, is tailored for intermediate developers looking to construct and deploy AI models leveraging the BANGPy framework and Neuware SDK on Cambricon MLU hardware.
Upon completing this training, participants will be equipped to:
- Configure and set up development environments for BANGPy and Neuware.
- Develop and refine Python and C++ models optimised for Cambricon MLUs.
- Deploy models onto edge and data centre devices running the Neuware runtime.
- Integrate machine learning workflows with MLU-specific acceleration features.
Course Format
- Interactive lectures and discussions.
- Practical application of BANGPy and Neuware for development and deployment.
- Guided exercises centred on optimization, integration, and testing.
Customisation Options
- To arrange bespoke training for this course, tailored to your specific Cambricon device model or use case, please contact us directly.
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 online or onsite) targets beginner-level AI developers who wish to understand how CANN integrates into the model lifecycle from training to deployment, and how it interacts with frameworks such as MindSpore, TensorFlow, and PyTorch.
By the end of this training, participants will be able to:
- Grasp the purpose and architecture of the CANN toolkit.
- Set up a development environment featuring CANN and MindSpore.
- Convert and deploy a basic AI model to Ascend hardware.
- Acquire foundational knowledge to support future CANN optimisation or integration projects.
Format of the Course
- Interactive lectures and discussions.
- Hands-on labs focused on simple model deployment.
- Step-by-step walkthroughs of the CANN toolchain and integration points.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
CANN for Edge AI Deployment
14 HoursHuawei's Ascend CANN toolkit empowers robust AI inference on edge devices like the Ascend 310. It offers critical tools for compiling, optimising, and deploying models in environments where compute power and memory are limited.
This instructor-led live training (available online or onsite) targets intermediate-level AI developers and integrators who want to deploy and optimise 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 using MindSpore Lite and AscendCL.
- Optimise model performance for constrained compute and memory environments.
- Deploy and monitor AI applications in real-world edge use cases.
Course Format
- Interactive lectures and demonstrations.
- Practical lab work involving edge-specific models and scenarios.
- Live deployment examples on virtual or physical edge hardware.
Course Customisation Options
- To request a customised 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 from the low-level CANN SDK to the high-level MindSpore framework — delivers a tightly integrated AI development and deployment environment, specifically optimised for Ascend hardware.
This instructor-led live training, available online or onsite, is designed for beginner to intermediate technical professionals wishing to comprehend how CANN and MindSpore components collaborate to support AI lifecycle management and infrastructure decisions.
By the conclusion of this training, participants will be able to:
- Grasp the layered architecture of Huawei’s AI compute stack.
- Identify how CANN facilitates model optimisation and hardware-level deployment.
- Evaluate the MindSpore framework and its toolchain in relation to industry alternatives.
- Position Huawei’s AI stack within enterprise or cloud/on-premises environments.
Format of the Course
- Interactive lectures and discussions.
- Live system demonstrations and case-based walkthroughs.
- Optional guided labs covering the model flow from MindSpore to CANN.
Course Customisation Options
- To request a customised 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 compute platform, empowering developers to fine-tune and optimise 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 looking to enhance inference performance through CANN’s sophisticated toolset, including the Graph Engine, TIK, and custom operator development.
Upon completion of this training, participants will be able to:
- Comprehend CANN's runtime architecture and performance lifecycle.
- Utilise profiling tools and the Graph Engine for effective performance analysis and optimisation.
- Develop and optimise custom operators using TIK and TVM.
- Address memory bottlenecks and boost model throughput.
Course Format
- Interactive lectures and discussions.
- Practical labs involving real-time profiling and operator tuning.
- Optimisation exercises using edge-case deployment examples.
Course Customisation Options
- To request a customised version of this course, please contact us to arrange your requirements.
CANN SDK for Computer Vision and NLP Pipelines
14 HoursThe CANN SDK (Compute Architecture for Neural Networks) offers robust deployment and optimisation 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 seeking to build, deploy, and optimise vision and language models using the CANN SDK for production environments.
Upon completion of this training, participants will be able to:
- Deploy and optimise CV and NLP models using CANN and AscendCL.
- Utilise CANN tools to convert models and integrate them into live pipelines.
- Optimise inference performance for tasks such as detection, classification, and sentiment analysis.
- Construct real-time CV/NLP pipelines for edge or cloud-based deployment scenarios.
Format of the Course
- Interactive lectures and demonstrations.
- Hands-on labs focusing on model deployment and performance profiling.
- Live pipeline design using practical CV and NLP use cases.
Course Customization Options
- To request a bespoke training session for this course, please contact us to arrange.
Building Custom AI Operators with CANN TIK and TVM
14 HoursLeveraging CANN TIK (Tensor Instruction Kernel) alongside Apache TVM allows for sophisticated optimization and customization of AI model operators tailored to Huawei Ascend hardware.
This instructor-led live training, available both online and on-site, targets advanced system developers keen on creating, deploying, and fine-tuning custom operators for AI models. The curriculum focuses on utilizing CANN's TIK programming model and integrating TVM compilers.
Upon completing this training, participants will be equipped to:
- Develop and test bespoke AI operators using the TIK DSL for Ascend processors.
- Seamlessly integrate custom operators into the CANN runtime and execution graph.
- Employ TVM for operator scheduling, auto-tuning, and performance benchmarking.
- Diagnose and optimize instruction-level performance for specific computation patterns.
Course Format
- Interactive lectures paired with live demonstrations.
- Practical coding exercises involving TIK and TVM pipelines.
- Hands-on testing and tuning performed on Ascend hardware or simulators.
Customization Options
- For personalized training arrangements, please get in touch with us.
Migrating CUDA Applications to Chinese GPU Architectures
21 HoursChinese GPU architectures, including Huawei Ascend, Biren, and Cambricon MLUs, provide tailored alternatives to CUDA for the local AI and HPC 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 completing 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 different 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 stand out as premier AI hardware platforms in China, each providing distinct acceleration and profiling capabilities tailored for large-scale AI production workloads.
This instructor-led live training, available either online or on-site, targets advanced AI infrastructure and performance engineers looking to streamline model inference and training processes across various Chinese AI chip architectures.
Upon completion of this training, participants will be equipped to:
- Conduct benchmarks for models running on Ascend, Biren, and Cambricon platforms.
- Pinpoint system bottlenecks alongside memory or compute inefficiencies.
- Implement optimizations at the graph, kernel, and operator levels.
- Refine deployment pipelines to enhance throughput and reduce latency.
Format of the Course
- Interactive lectures paired with group discussions.
- Practical application of profiling and optimization tools across each platform.
- Guided exercises designed around real-world tuning scenarios.
Course Customization Options
- To arrange customized training tailored to your specific performance environment or model type, please reach out to us.