Jodie Burchell
Vectorize all the things! Using linear algebra and NumPy to make your Python code lightning fast.
#1about 3 minutes
Why Python loops become slow at scale
Traditional loops over lists become a major performance bottleneck when processing large amounts of data.
#2about 5 minutes
Representing data with vectors, matrices, and NumPy arrays
Learn the fundamentals of linear algebra, where data points are vectors, datasets are matrices, and NumPy arrays provide the data structure.
#3about 3 minutes
A high-level overview of the KNN algorithm
The k-nearest neighbors algorithm classifies data points by finding the most common label among their closest neighbors in a vector space.
#4about 4 minutes
Coding a slow baseline KNN with Python lists
A walkthrough of an unoptimized k-nearest neighbors implementation demonstrates the severe performance issues caused by nested loops.
#5about 3 minutes
Vectorizing the distance calculation to remove a loop
Replace the inner loop for calculating Manhattan distance with a single vectorized subtraction operation on NumPy arrays.
#6about 9 minutes
Eliminating nested loops with NumPy array broadcasting
Use array reshaping and broadcasting to perform all pairwise distance calculations simultaneously, avoiding explicit replication and nested loops.
#7about 3 minutes
Optimizing neighbor selection with NumPy sorting and slicing
Gain final performance improvements by replacing Python's list sorting with NumPy's faster sorting algorithms and efficient array slicing.
#8about 6 minutes
How memory layout makes NumPy arrays so fast
NumPy arrays are faster because they store data in a contiguous block of memory, which is more efficient for the CPU to process than the scattered memory of Python lists.
#9about 22 minutes
Audience Q&A on performance and data science
Answers common questions about NumPy's underlying C implementation, hyperparameter tuning, memory management, and career paths in data science.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
16:22 MIN
Accelerating computations with the Vector API
Modern Java 25
17:39 MIN
Leveraging vernacular developers for faster innovation
Enterprise Python: Software That Lives Long And Prosper
12:39 MIN
Optimizing code with nvmath-python and a case study
Accelerating Python on GPUs
50:16 MIN
Gaining performance with the Vector API and elastic metaspace
The Cool Thing about Cool Things in Java 16 & 17 LTS
08:18 MIN
Using high-level frameworks like Rapids for acceleration
Accelerating Python on GPUs
05:50 MIN
Using NVIDIA libraries to easily accelerate applications
WWC24 - Ankit Patel - Unlocking the Future Breakthrough Application Performance and Capabilities with NVIDIA
28:27 MIN
A progressive approach to programming GPUs in Python
Accelerating Python on GPUs
01:12 MIN
Boosting Python performance with the Nvidia CUDA ecosystem
The weekly developer show: Boosting Python with CUDA, CSS Updates & Navigating New Tech Stacks
Featured Partners
Related Videos
A beginner’s guide to modern natural language processing
Jodie Burchell
Accelerating Python on GPUs
Paul Graham
CUDA in Python
Andy Terrel
WeAreDevelopers LIVE - Vector Similarity Search Patterns for Efficiency and more
Chris Heilmann, Daniel Cranney, Raphael De Lio & Developer Advocate at Redis
Overview of Machine Learning in Python
Adrian Schmitt
30 Golden Rules of Deep Learning Performance
Anirudh Koul
Catching up on the basics you don't really need that much code
Chris Heilmann
The Eventloop in JavaScript - How does it work?
Christian Woerz
Related Articles
View all articles.webp?w=240&auto=compress,format)



From learning to earning
Jobs that call for the skills explored in this talk.

