Build high-performance, distributed, and concurrent applications in Python
About This Video
Master using NumPy, SciPy, and Cython to speed up your numerical computations.
Leverage the power of multiprocessing and multithreading in Python for parallelism.
Master using Dask to handle large data in a distributed setting and reactive applications in Python.
In Detail
Python is a versatile programming language. Many industries are now using …
High-Performance Computing with Python 3.x
Video description
Build high-performance, distributed, and concurrent applications in Python
About This Video
Master using NumPy, SciPy, and Cython to speed up your numerical computations.
Leverage the power of multiprocessing and multithreading in Python for parallelism.
Master using Dask to handle large data in a distributed setting and reactive applications in Python.
In Detail
Python is a versatile programming language. Many industries are now using Python for high-performance computing projects.
This course will teach you how to use Python on parallel architectures. You'll learn to use the power of NumPy, SciPy, and Cython to speed up computation. Then you will get to grips with optimizing critical parts of the kernel using various tools. You will also learn how to optimize your programmer using Numba. You'll learn how to perform large-scale computations using Dask and implement distributed applications in Python; finally, you'll construct robust and responsive apps using Reactive programming.
By the end, you will have gained a solid knowledge of the most common tools to get you started on HPC with Python.
Audience
This course will help Python Programmers, Data Analysts and aspiring Data Science professionals familiar with basic Python programming to extend their skillset so as to scale their code and improve their code performance.
Chapter 1 : Getting Started with Faster and Efficient Python Code
The Course Overview
Exploring Python Datatypes
Using Lambda Expressions
Comprehensions for Speedups
Generators and Iterators
Using Decorators for Time Analysis
Chapter 2 : Parallel Programming in Python
Introduction to the Threading Module
Using Threads with Locks
Global Interpreter Lock
Multiprocessing in Python
Using a Pool of Workers
Chapter 3 : Using NumPy and SciPy to Speedup Computations
Introduction to NumPy
Exploring NumPy Arrays
Indexing in NumPy Arrays
Operations and Broadcasting on NumPy Arrays
Performance Comparison of NumPy Arrays
Combining SciPy with NumPy
Chapter 4 : Optimizing Python Code Using Cython
Introduction to Cython
Implement a Program Using Cython
Time Analysis of a Cython Program
Cython Data Types
Using Cython Functions
Combining NumPy and Cython
Chapter 5 : Speeding Up Your Python Code Using Numba
Introduction to Numba
Setting Up Numba
Creating Your First Program with Numba
Digging Deeper into Numba
Threading Using Numba
Performance Comparison with Numba
Chapter 6 : Distributed Computing Using Python
Introduction to Synchronous Programming
Understanding Asynchronous Programming
Asynchronous Programming in Python
Distributed Systems Architecture
Chapter 7 : Distributed Programming Using Dask
Introduction to Dask
Setting Up Dask
Blocked Algorithms and Dask Arrays
Writing Your First Program Using Dask
Using @delayed to Parallelize Code
Performance Comparison with Dask
Chapter 8 : Reactive Programming Using Python
Introduction to Reactive Programming
Observables and Observers
Overview of Data Operators
Reactive Programming in Python Using RxPy
Using Data Operators with RxPy
Start your Free Trial Self paced Go to the Course We have partnered with providers to bring you collection of courses, When you buy through links on our site, we may earn an affiliate commission from provider.
This site uses cookies. By continuing to use this website, you agree to their use.I Accept