GPU Programming with CUDA and Python Training Course
CUDA (Compute Unified Device Architecture) is a parallel computing platform and API developed by Nvidia.
This instructor-led, live training (available online or onsite) is designed for intermediate-level developers who want to leverage CUDA to build Python applications that execute in parallel on NVIDIA GPUs.
Upon completion of this training, participants will be able to:
- Utilize the Numba compiler to accelerate Python applications running on NVIDIA GPUs.
- Construct, compile, and launch custom CUDA kernels.
- Manage GPU memory effectively.
- Transform a CPU-based application into a GPU-accelerated one.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical activities.
- 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 GPU programming?
- Why use CUDA with Python?
- Key concepts: Threads, Blocks, Grids
Overview of CUDA Features and Architecture
- GPU versus CPU architecture
- Understanding SIMT (Single Instruction, Multiple Threads)
- CUDA programming model
Setting up the Development Environment
- Installing the CUDA Toolkit and drivers
- Installing Python and Numba
- Setting up and verifying the environment
Parallel Programming Fundamentals
- Introduction to parallel execution
- Understanding threads and thread hierarchies
- Working with warps and synchronization
Working with the Numba Compiler
- Introduction to Numba
- Writing CUDA kernels with Numba
- Understanding @cuda.jit decorators
Building a Custom CUDA Kernel
- Writing and launching a basic kernel
- Using threads for element-wise operations
- Managing grid and block dimensions
Memory Management
- Types of GPU memory (global, shared, local, constant)
- Memory transfer between host and device
- Optimizing memory usage and avoiding bottlenecks
Advanced Topics in GPU Acceleration
- Shared memory and synchronization
- Using streams for asynchronous execution
- Multi-GPU programming basics
Converting CPU-based Applications to GPU
- Profiling CPU code
- Identifying parallelizable sections
- Porting logic to CUDA kernels
Troubleshooting
- Debugging CUDA applications
- Common errors and how to resolve them
- Tools and techniques for testing and validation
Summary and Next Steps
- Review of key concepts
- Best practices in GPU programming
- Resources for continued learning
Requirements
- Experience with Python programming
- Familiarity with NumPy (ndarrays, ufuncs, etc.)
Audience
- Developers
Need help picking the right course?
southafrica@nobleprog.co.za or +27 (0)10 005 5793
GPU Programming with CUDA and Python Training Course - Enquiry
Testimonials (1)
Very interactive with various examples, with a good progression in complexity between the start and the end of the training.
Jenny - Andheo
Course - GPU Programming with CUDA and Python
Related Courses
Advanced Python: Best Practices and Design Patterns
28 HoursThis intensive, practical course explores advanced Python techniques, engineering best practices, and widely-used design patterns to help you build maintainable, testable, and high-performance Python applications. It focuses on modern tooling, type hints, concurrency models, architectural patterns, and deployment-ready workflows.
Delivered as instructor-led live training (online or onsite), this program is designed for intermediate to advanced Python developers who want to adopt professional practices and patterns for production-grade Python systems.
Upon completion of this training, participants will be able to:
- Apply Python typing, dataclasses, and type-checking to enhance code reliability.
- Utilise design patterns and architectural principles to structure robust applications.
- Implement concurrency and parallelism effectively using asyncio and multiprocessing.
- Write well-tested code using pytest, property-based testing, and CI pipelines.
- Profile, optimise, and harden Python applications for production environments.
- Package, distribute, and deploy Python projects using modern tools and containers.
Format of the Course
- Interactive lectures and short demonstrations.
- Hands-on labs and coding exercises each day.
- A capstone mini-project integrating patterns, testing, and deployment.
Course Customization Options
- To request a customized training session or focus on specific areas (data, web, or infrastructure), please contact us to arrange.
Agentic AI Engineering with Python — Build Autonomous Agents
21 HoursThis programme imparts practical engineering methodologies for designing, building, testing, and deploying agentic (autonomous) systems using Python. It encompasses the agent loop, tool integrations, memory and state management, orchestration patterns, safety controls, and production considerations.
This instructor-led, live training (available online or onsite) is targeted at intermediate to advanced ML engineers, AI developers, and software engineers who wish to construct robust, production-ready autonomous agents using Python.
Upon completion of this training, participants will be capable of:
- Designing and implementing the agent loop and decision-making workflows.
- Integrating external tools and APIs to extend agent capabilities.
- Implementing short-term and long-term memory architectures for agents.
- Coordinating multi-step orchestrations and agent composability.
- Applying safety, access control, and observability best practices for deployed agents.
Course Format
- Interactive lecture and discussion.
- Hands-on labs building agents with Python and popular SDKs.
- Project-based exercises that produce deployable prototypes.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Introduction to Data Science and AI using Python
35 HoursThis programme offers a hands-on exploration of Data Science and Artificial Intelligence through Python, empowering professionals with the capabilities to analyse data, develop machine learning models, and implement AI-driven solutions within commercial settings. The curriculum encompasses CRISP-DM methodologies, statistical analysis, supervised and unsupervised learning techniques, deep learning using TensorFlow, natural language processing, big data analytics via Spark, and data-driven storytelling. It is particularly suited for novices pursuing Python data science certification and practical analytics training to enhance career prospects.
Artificial Intelligence with Python (Intermediate Level)
35 HoursArtificial Intelligence with Python focuses on creating intelligent systems by leveraging Python's comprehensive ecosystem of AI and machine learning libraries.
This instructor-led live training, available both online and onsite, is tailored for intermediate-level Python programmers who aim to design, implement, and deploy AI solutions using Python.
Upon completion of this training, participants will be able to:
- Implement AI algorithms using Python’s core AI libraries.
- Work with supervised, unsupervised, and reinforcement learning models.
- Integrate AI solutions into existing applications and workflows.
- Evaluate model performance and optimise for accuracy and efficiency.
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.
Algorithmic Trading with Python and R
14 HoursThis instructor-led live training in Botswana (online or on-site) is intended for business analysts who wish to automate trading using algorithmic methods, Python, and R.
By the end of this training, participants will be able to:
- Utilise algorithms to buy and sell securities rapidly at specialised intervals.
- Reduce costs associated with trading through the use of algorithmic trading.
- Monitor stock prices automatically and place trades.
Applied AI from Scratch in Python
28 HoursThis four-day programme provides an introduction to Artificial Intelligence and its practical application using the Python programming language. Participants may opt to add an extra day to work on a capstone AI project after completing the core course.
AWS Cloud9 and Python: A Practical Guide
14 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at intermediate-level Python developers who wish to enhance their Python development experience using AWS Cloud9.
By the end of this training, participants will be able to:
- Set up and configure AWS Cloud9 for Python development.
- Understand the AWS Cloud9 IDE interface and features.
- Write, debug, and deploy Python applications in AWS Cloud9.
- Collaborate with other developers using the AWS Cloud9 platform.
- Integrate AWS Cloud9 with other AWS services for advanced deployments.
Administration of CUDA
35 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at beginner-level system administrators and IT professionals who wish to install, configure, manage, and troubleshoot CUDA environments.
By the end of this training, participants will be able to:
- Understand the architecture, components, and capabilities of CUDA.
- Install and configure CUDA environments.
- Manage and optimize CUDA resources.
- Debug and troubleshoot common CUDA issues.
Bespoke Applied Artificial Intelligence and LLM Engineering with Python
35 HoursCourse Overview
This practical training programme is tailored for data engineering professionals aiming to develop tangible skills in artificial intelligence, Python programming, and large language models. The curriculum centres on real-world applications, addressing model utilisation, prompt engineering, and the creation of AI-driven solutions. Participants will engage in a series of progressive exercises that transition from fundamental concepts to the development of deployable AI workflows.
Training Format
• In-person classroom-based training
• Instructor-led sessions featuring guided practice
• Interactive discussions and real-world case studies
• Daily hands-on exercises
Course Objectives
• Grasp core AI and machine learning concepts pertinent to contemporary applications
• Enhance Python proficiency for AI development and data workflows
• Comprehend the mechanics of large language models and their effective utilisation
• Design and optimise prompts for consistent and reliable outputs
• Construct end-to-end AI solutions utilising APIs and frameworks
• Integrate AI capabilities into data engineering pipelines
Scaling Data Analysis with Python and Dask
14 HoursThis instructor-led, live training in Botswana (online or onsite) is tailored for data scientists and software engineers who wish to leverage Dask within the Python ecosystem to build, scale, and analyze large datasets.
By the end of this training, participants will be able to:
- Configure the environment to begin building big data processing workflows with Dask and Python.
- Explore the features, libraries, tools, and APIs available in Dask.
- Understand how Dask accelerates parallel computing in Python.
- Learn how to scale the Python ecosystem (Numpy, SciPy, and Pandas) using Dask.
- Optimize the Dask environment to maintain high performance in handling large datasets.
Data Analysis with Python, Pandas and Numpy
14 HoursThis instructor-led, live training in Botswana (online or on-site) is designed for intermediate-level Python developers and data analysts who wish to enhance their skills in data analysis and manipulation using Pandas and NumPy.
Upon completion of this training, participants will be able to:
- Configure a development environment that includes Python, Pandas, and NumPy.
- Develop a data analysis application using Pandas and NumPy.
- Execute advanced data wrangling, sorting, and filtering operations.
- Perform aggregate operations and analyse time series data.
- Create data visualizations using Matplotlib and other visualization libraries.
- Debug and optimize their data analysis code.
FARM (FastAPI, React, and MongoDB) Full Stack Development
14 HoursThis instructor-led live training, offered online or on-site, is designed for developers who wish to leverage the FARM (FastAPI, React, and MongoDB) stack to create dynamic, high-performance, and scalable web applications.
By the end of this training, participants will be able to:
- Set up the necessary development environment that integrates FastAPI, React, and MongoDB.
- Understand the key concepts, features, and benefits of the FARM stack.
- Learn how to build REST APIs with FastAPI.
- Learn how to design interactive applications with React.
- Develop, test, and deploy applications (front end and back end) using the FARM stack.
Developing APIs with Python and FastAPI
14 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at developers who wish to use FastAPI with Python to build, test, and deploy RESTful APIs easier and faster.
By the end of this training, participants will be able to:
- Set up the necessary development environment to develop APIs with Python and FastAPI.
- Create APIs quicker and easier using the FastAPI library.
- Learn how to create data models and schemas based on Pydantic and OpenAPI.
- Connect APIs to a database using SQLAlchemy.
- Implement security and authentication in APIs using the FastAPI tools.
- Build container images and deploy web APIs to a cloud server.
Fraud Detection with Python and TensorFlow
14 HoursThis instructor-led, live training in Botswana (online or on-site) is aimed at data scientists who wish to use TensorFlow to analyse potential fraud data.
By the end of this training, participants will be able to:
- Create a fraud detection model in Python and TensorFlow.
- Build linear regressions and linear regression models to predict fraud.
- Develop an end-to-end AI application for analyzing fraud data.
Machine Learning with Python – 2 Days
14 HoursThis course aims to equip you with foundational skills for applying Machine Learning techniques in practical scenarios. Leveraging the Python programming language along with its extensive suite of libraries and numerous hands-on examples, the course demonstrates how to utilise the essential components of Machine Learning, make informed decisions regarding data modelling, interpret algorithmic outputs, and validate outcomes effectively.
Our objective is to empower you with the confidence to utilise core tools from the Machine Learning toolkit and help you steer clear of the common pitfalls associated with Data Science applications.