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, targets intermediate-level developers aiming to build Python applications that execute in parallel on NVIDIA GPUs using CUDA.
Upon completing this training, participants will be able to:
- Leverage the Numba compiler to speed up Python applications on NVIDIA GPUs.
- Create, compile, and launch custom CUDA kernels.
- Effectively manage GPU memory.
- Transform CPU-based applications into GPU-accelerated solutions.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical practice.
- Hands-on implementation within a live-lab environment.
Course Customization Options
- To request customized training for this course, please contact us to arrange.
Course Outline
Introduction
- What is GPU programming?
- Why use CUDA with Python?
- Key concepts: Threads, Blocks, Grids
Overview of CUDA Features and Architecture
- GPU vs CPU architecture
- Understanding SIMT (Single Instruction, Multiple Threads)
- CUDA programming model
Setting up the Development Environment
- Installing 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
- Experience with NumPy (including ndarrays, ufuncs, etc.)
Audience
- Developers
Need help picking the right course?
uzbekistan@nobleprog.com or +919818060888
GPU Programming with CUDA and Python Training Course - Enquiry
GPU Programming with CUDA and Python - Consultancy 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, hands-on 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 hinting, concurrency models, architectural patterns, and deployment-ready workflows.
Delivered as instructor-led live training (available online or onsite), this program is designed for intermediate to advanced Python developers looking to adopt professional practices and patterns for production-grade Python systems.
Upon completing this training, participants will be able to:
- Enhance code reliability by applying Python typing, dataclasses, and type-checking.
- Structure robust applications using established design patterns and architectural principles.
- Correctly implement concurrency and parallelism using asyncio and multiprocessing.
- Create well-tested code through pytest, property-based testing, and CI pipelines.
- Profile, optimize, and harden Python applications for production environments.
- Package, distribute, and deploy Python projects utilizing modern tools and containerization.
Course Format
- Interactive lectures complemented by concise demonstrations.
- Hands-on labs and coding exercises conducted daily.
- A capstone mini-project that integrates patterns, testing, and deployment strategies.
Course Customization Options
- To request a customized training or focus area (data, web, or infrastructure), please contact us to arrange.
Agentic AI Engineering with Python — Build Autonomous Agents
21 HoursThis course imparts practical engineering skills for designing, building, testing, and deploying agentic (autonomous) systems using Python. Key topics include the agent loop, tool integrations, memory and state management, orchestration patterns, safety controls, and production-ready considerations.
This instructor-led live training is available online or on-site. It is designed for intermediate to advanced ML engineers, AI developers, and software engineers looking to construct robust, production-ready autonomous agents with Python.
Upon completing this training, participants will be capable of:
- Designing and implementing the agent loop and decision-making workflows.
- Integrating external tools and APIs to expand agent capabilities.
- Implementing short-term and long-term memory architectures for agents.
- Coordinating multi-step orchestrations and ensuring agent composability.
- Applying best practices for safety, access control, and observability in deployed agents.
Course Format
- Interactive lectures and discussions.
- Hands-on labs for building agents using Python and popular SDKs.
- Project-based exercises resulting in deployable prototypes.
Course Customization Options
- For customized training requests, please contact us to make arrangements.
Introduction to Data Science and AI using Python
35 HoursThis five-day course provides an introduction to Data Science and Artificial Intelligence (AI).
Instruction is delivered through practical examples and exercises using Python.
Artificial Intelligence with Python (Intermediate Level)
35 HoursArtificial Intelligence with Python involves building intelligent systems using Python’s rich ecosystem of AI and machine learning libraries.
This instructor-led, live training (available online or on-site) is designed for intermediate-level Python developers who aim to design, implement, and deploy AI solutions using Python.
By the end 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 optimize for accuracy and efficiency.
Course Format
- Interactive lectures and group discussions.
- Abundant hands-on exercises and practical practice.
- Real-time implementation in a live lab environment.
Customization Options
- To request a customized version of this training, please contact us to arrange.
Algorithmic Trading with Python and R
14 HoursThis instructor-led, live training in Uzbekistan (online or onsite) is aimed at business analysts who wish to automate trading using algorithmic methods, Python, and R.
By the end of this training, participants will be able to:
- Use algorithms to buy and sell securities rapidly at specialized increments.
- Reduce trading-related costs through the use of algorithmic trading.
- Automatically monitor stock prices and execute trades.
Applied AI from Scratch in Python
28 HoursDesigned as an intensive four-day program, this course provides a comprehensive introduction to Artificial Intelligence and its practical applications using Python. Upon completing the core curriculum, participants have the option to extend their learning by dedicating an additional day to a hands-on AI project.
AWS Cloud9 and Python: A Practical Guide
14 HoursThis instructor-led, live training in Uzbekistan (online or onsite) is designed for intermediate-level Python developers who want 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.
Python and Blockchain
28 HoursThis instructor-led live training in Uzbekistan (online or onsite) is designed for beginner to intermediate developers aiming to utilize Python for developing blockchain and cryptocurrency applications.
Upon completing this training, participants will be capable of:
- Creating and manipulating blockchain and cryptocurrency systems and data using Python.
- Leveraging Python libraries and frameworks, such as Flask, PyCrypto, and web3.py, to interact with blockchain and cryptocurrency networks and services.
- Implementing smart contracts, consensus algorithms, and cryptographic protocols for blockchain and cryptocurrency applications using Python.
- Developing and deploying decentralized applications (DApps) on blockchain and cryptocurrency platforms using Python.
- Performing data analysis and visualization on blockchain and cryptocurrency data using Python.
Building Chatbots in Python
21 HoursChatbots are computer programs that automatically simulate human responses via chat interfaces. Chatbots help organisations maximise operational efficiency by providing easier and faster options for user interactions.
In this instructor-led, live training, participants will learn how to build chatbots in Python.
By the end of this training, participants will be able to:
- Understand the fundamentals of building chatbots
- Build, test, deploy, and troubleshoot various chatbots using Python
Audience
- Developers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- To request a customised training for this course, please contact us to arrange.
Administration of CUDA
35 HoursThis instructor-led, live training in Uzbekistan (online or onsite) is designed for 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.
Scaling Data Analysis with Python and Dask
14 HoursThis instructor-led, live training in Uzbekistan (available online or on-site) is designed for data scientists and software engineers who wish to use Dask within the Python ecosystem to build, scale, and analyze large datasets.
By the end of this training, participants will be able to:
- Set up the environment to begin building big data processing solutions using 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 (including Numpy, SciPy, and Pandas) using Dask.
- Optimize the Dask environment to ensure high performance when handling large datasets.
Data Analysis with Python, Pandas and Numpy
14 HoursThis instructor-led, live training in Uzbekistan (online or on-site) is designed for intermediate-level Python developers and data analysts who aim to strengthen their skills in data analysis and manipulation using Pandas and NumPy.
By the end of this training, participants will be able to:
- Set up a development environment that includes Python, Pandas, and NumPy.
- Create a data analysis application using Pandas and NumPy.
- Perform advanced data wrangling, sorting, and filtering operations.
- Conduct aggregate operations and analyse time series data.
- Visualise data using Matplotlib and other visualisation libraries.
- Debug and optimise their data analysis code.
FARM (FastAPI, React, and MongoDB) Full Stack Development
14 HoursThis instructor-led live training, offered online or on-site, targets developers aiming to leverage the FARM (FastAPI, React, and MongoDB) stack for building dynamic, high-performance, and scalable web applications.
By the conclusion of this training, participants will be able to:
- Set up a 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 Uzbekistan (online or on-site) is designed for developers who want to use FastAPI with Python to build, test, and deploy RESTful APIs more efficiently and quickly.
By the end of this training, participants will be able to:
- Set up the required development environment for building APIs with Python and FastAPI.
- Create APIs faster and more easily 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 FastAPI tools.
- Build container images and deploy web APIs to a cloud server.
Accelerating Python Pandas Workflows with Modin
14 HoursThis instructor-led, live training in Uzbekistan (available online or on-site) is tailored for data scientists and developers who wish to utilize Modin to build and implement parallel computations with Pandas, thereby achieving faster data analysis.
By the end of this training, participants will be able to:
- Set up the necessary environment to begin developing scalable Pandas workflows with Modin.
- Understand the features, architecture, and advantages of Modin.
- Distinguish between Modin, Dask, and Ray.
- Execute Pandas operations more rapidly using Modin.
- Implement the full Pandas API and its functions.