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 on-site) is designed for intermediate-level developers who want to utilize CUDA to build Python applications that run in parallel on NVIDIA GPUs.
By the end of this training, participants will be able to:
- Use the Numba compiler to speed up Python applications running on NVIDIA GPUs.
- Create, compile, and launch custom CUDA kernels.
- Manage GPU memory effectively.
- Transform a CPU-based application into a GPU-accelerated one.
Format of the Course
- Interactive lecture and discussion sessions.
- Ample 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 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
- Python programming experience
- Experience with NumPy (ndarrays, ufuncs, etc.)
Audience
- Developers
Need help picking the right course?
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
Administration of CUDA
35 HoursThis instructor-led, live training in Uzbekistan (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.
Scaling Data Analysis with Python and Dask
14 HoursThis instructor-led, live training in Uzbekistan (online or onsite) is aimed at data scientists and software engineers who wish to use Dask with 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 start building big data processing 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 Uzbekistan (online or onsite) is aimed at intermediate-level Python developers and data analysts who wish to enhance 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 analyze time series data.
- Visualize data 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 in (online or onsite) is aimed at developers who wish to use the FARM (FastAPI, React, and MongoDB) stack to build 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 Uzbekistan (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.
Machine Learning with Python – 2 Days
14 HoursThe objective of this course is to equip participants with a foundational proficiency in applying Machine Learning techniques in real-world scenarios. Utilizing the Python programming language and its diverse libraries, and through a range of practical examples, the course instructs on how to effectively use the key components of Machine Learning. It covers making informed data modeling decisions, interpreting algorithm outputs, and validating results.
Our aim is to provide you with the skills to confidently understand and utilize the most essential tools from the Machine Learning toolkit, while also helping you avoid common pitfalls in Data Science applications.
Machine Learning with Python – 4 Days
28 HoursThe objective of this course is to equip participants with a comprehensive understanding of applying Machine Learning techniques in real-world scenarios. By utilizing the Python programming language and its diverse libraries, and through a range of practical examples, this course will guide you on how to effectively use key components of Machine Learning, make informed data modeling decisions, interpret algorithm outputs, and validate results.
Our aim is to provide you with the skills to confidently utilize the essential tools from the Machine Learning toolkit, while also helping you avoid common pitfalls in Data Science applications.
Accelerating Python Pandas Workflows with Modin
14 HoursThis instructor-led, live training in Uzbekistan (online or onsite) is aimed at data scientists and developers who wish to use Modin to build and implement parallel computations with Pandas for faster data analysis.
By the end of this training, participants will be able to:
- Set up the necessary environment to start developing Pandas workflows at scale with Modin.
- Understand the features, architecture, and advantages of Modin.
- Know the differences between Modin, Dask, and Ray.
- Perform Pandas operations faster with Modin.
- Implement the entire Pandas API and functions.
Python for Natural Language Generation (NLG)
21 HoursIn this instructor-led, live training in Uzbekistan, participants will learn how to use Python to produce high-quality natural language text by building their own NLG system from scratch. Case studies will also be examined and the relevant concepts will be applied to live lab projects for generating content.
By the end of this training, participants will be able to:
- Use NLG to automatically generate content for various industries, from journalism, to real estate, to weather and sports reporting.
- Select and organize source content, plan sentences, and prepare a system for automatic generation of original content.
- Understand the NLG pipeline and apply the right techniques at each stage.
- Understand the architecture of a Natural Language Generation (NLG) system.
- Implement the most suitable algorithms and models for analysis and ordering.
- Pull data from publicly available data sources as well as curated databases to use as material for generated text.
- Replace manual and laborious writing processes with computer-generated, automated content creation.
Advanced Machine Learning with Python
21 HoursIn this instructor-led, live training in Uzbekistan, participants will learn the most relevant and cutting-edge machine learning techniques in Python as they build a series of demo applications involving image, music, text, and financial data.
By the end of this training, participants will be able to:
- Implement machine learning algorithms and techniques for solving complex problems.
- Apply deep learning and semi-supervised learning to applications involving image, music, text, and financial data.
- Push Python algorithms to their maximum potential.
- Use libraries and packages such as NumPy and Theano.
Python: Automate the Boring Stuff
14 HoursThis instructor-led, live training in Uzbekistan is based on the popular book, "Automate the Boring Stuff with Python", by Al Sweigart. It is aimed at beginners and covers essential Python programming concepts through practical, hands-on exercises and discussions. The focus is on learning to write code to dramatically increase office productivity.
By the end of this training, participants will know how to program in Python and apply this new skill for:
- Automating tasks by writing simple Python programs.
- Writing programs that can do text pattern recognition with "regular expressions".
- Programmatically generating and updating Excel spreadsheets.
- Parsing PDFs and Word documents.
- Crawling web sites and pulling information from online sources.
- Writing programs that send out email notifications.
- Use Python's debugging tools to quickly resolve bugs.
- Programmatically controlling the mouse and keyboard to click and type for you.
Python Programming for Finance
35 HoursPython is a programming language that has gained significant popularity in the financial sector. It has been adopted by major investment banks and hedge funds for developing a variety of financial applications, from core trading systems to risk management tools.
In this instructor-led, live training, participants will learn how to use Python to develop practical applications that address specific finance-related challenges.
By the end of this training, participants will be able to:
- Understand the fundamentals of the Python programming language
- Download, install, and maintain the best development tools for creating financial applications in Python
- Select and utilize the most appropriate Python packages and programming techniques to organize, visualize, and analyze financial data from various sources (CSV, Excel, databases, web, etc.)
- Build applications that solve problems related to asset allocation, risk analysis, investment performance, and more
- Troubleshoot, integrate, deploy, and optimize a Python application
Audience
- Developers
- Analysts
- Quants
Format of the course
- Part lecture, part discussion, exercises, and extensive hands-on practice
Note
- This training aims to provide solutions for some of the primary challenges faced by finance professionals. However, if you have a specific topic, tool, or technique that you would like to add or explore further, please contact us to arrange.
Advanced Python - 4 Days
28 HoursThis instructor-led, live training in Uzbekistan (online or onsite) is aimed at developers who wish to learn advanced Python programming techniques, including how to apply this versatile language to solve problems in areas such as distributed applications, data analysis and visualization, UI programming and maintenance scripting.
Python Programming - 4 days
28 HoursThis course is tailored for individuals interested in mastering the Python programming language. The focus is on understanding Python, its core libraries, and selecting the most effective and useful libraries developed by the Python community. Python is widely utilized across businesses and by researchers globally—it ranks among the most favored programming languages.
The curriculum utilizes the latest version of Python 3.x, with practical exercises that fully leverage its capabilities. The course can be conducted on any operating system, including various versions of UNIX (such as Linux and Mac OS X), and Microsoft Windows.
Approximately 70% of the course is dedicated to hands-on activities, while the remaining 30% includes demonstrations and presentations. Participants are encouraged to engage in discussions and ask questions throughout the session.
Note: The training can be customized according to specific requirements upon advance request prior to the scheduled course date.
Test Automation with Selenium and Python
14 HoursSelenium is an open-source framework designed for automating the testing of web applications across various browsers. With the release of Selenium 4, it now offers enhanced WebDriver APIs, native relative locators, and improved grid support. Python, known for its simplicity and robust integration with testing frameworks like Pytest, makes it a powerful choice for developing scalable and maintainable test automation suites.
This instructor-led, live training (available both online and onsite) is tailored for beginner to intermediate testers and developers who are looking to use Selenium with Python to automate web application testing in real-world scenarios.
By the end of this training, participants will be able to:
- Install and configure Selenium with Python in a test environment.
- Develop robust test automation scripts using Selenium WebDriver and Pytest.
- Implement Page Object Model (POM) for creating maintainable test frameworks.
- Execute tests across multiple browsers using Selenium Grid.
- Integrate automated tests into CI/CD pipelines.
- Troubleshoot common issues and apply best practices to ensure automation stability.
Format of the Course
- Interactive lecture and discussion sessions.
- Numerous exercises and practical activities.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.