Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
High-Performance Computing with Python 3.x
Rating: 4.0 out of 5(174 ratings)
1,187 students

High-Performance Computing with Python 3.x

Build high-performance, distributed, and concurrent applications in Python
Last updated 3/2019
English

What you'll learn

  • Use lambda expressions, generators, and iterators to speed up your code.
  • A solid understanding of multiprocessing and multithreading in Python.
  • Optimize performance and efficiency by leveraging NumPy, SciPy, and Cython for numerical computations.
  • Load large data using Dask in a distributed setting.
  • Leverage the power of Numba to make your Python programs run faster.
  • Build reactive applications using Python.

Course content

8 sections44 lectures4h 11m total length
  • The Course Overview5:55

    This video provides an overview of the entire course.

  • Exploring Python Datatypes10:16

    Before moving ahead, we need to understand the various data types available in Python and how we can use them efficiently.

       •  Explore how to create List, Tuple, Set and Dictionary

       •  Look at the various built-in functions for these datatypes

       •  Learn how these datatypes are different from each other in terms of their functionality

  • Using Lambda Expressions9:14

    Lambda expressions allow us to create function on the go, making our code more efficient. In this section, we will explore how we can use lambda expressions in Python.

       •  Understand what are lambda expressions

       •  Implement anonymous functions using lambda expressions

       •  Combine lambda expressions with other functions for improved functionality

  • Comprehensions for Speedups6:22

    It provides a significant speed boost to our code. In this video, we explore how we can implement them in Python to speed up our programs.

       •  Explore the concept of List and Dictionary comprehensions

       •  Implement the List and Dictionary comprehensions in Python

       •  Perform time analysis of the code we have implemented

  • Generators and Iterators9:51

    We explore Iterators and Generators in Python, and how they utilize lazy evaluation to work with large data.

       •  Understand what are Iterators and the Iterator Protocol

       •  Implement Iterators in Python

       •  Implement Generators in Python using the yield keyword

  • Using Decorators for Time Analysis8:22

    Decorators are a powerful tool available in Python. We explore the various ways through which we can implement decorators in Python in order to enhance our existing code.

       •  Understand the concept of Decorators

       •  Use @notation for decorators and passing arguments using Decorators

       •  Use Decorator for time analysis of our existing functions

Requirements

  • Familiar with basic Python programming to extend their skillset

Description

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.

About The Author

Mohammed Kashif works as a Data Scientist at Nineleaps, India, dealing mostly with graph data analysis. Prior to this, he was working as a Python developer at Qualcomm. He completed his Master's degree in computer science from IIIT Delhi, with specialization in data engineering. His areas of interest include recommender systems, NLP, and graph analytics. In his spare time, he likes to solve questions on StackOverflow and help debug other people out of their misery. He is also an experienced teaching assistant with a demonstrated history of working in the higher-education industry.

Who this course is for:

  • This course will help Python Programmers, Data Analysts and aspiring Data Science professionals.