YoVDO

Wrestling Python into LLVM Intermediate Representation

Offered By: EuroPython Conference via YouTube

Tags

EuroPython Courses Data Structures Courses Memory Management Courses Compiler Design Courses Type Inference Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a 26-minute conference talk from EuroPython 2016 that delves into the process of translating Python into LLVM Intermediate Representation (LLVM-IR). Learn about the LLVM Project's platform-independent IR and its potential applications for Python. Discover the speaker's approach to creating a simple, static one-pass compiler called PyLLVM, which focuses on compiling a subset of Python for use in the TupleWare analytical framework. Gain insights into compiler design, LLVM-IR features, and implementation challenges such as types, scoping, and memory management. Compare PyLLVM to Numba, another Python-to-LLVM compiler, and get a glimpse into the future developments of PyLLVM.

Syllabus

Intro
Outline
Motivation: Tupleware
Motivation: The LLVM Compiler Infrastructure Project
Mission: Python and Tupleware
Example Tupleware Usage
Tupleware Library Implementation
PYLLVM: Overview of Design
Static Single Assignment
Scoping and Variables
Inferring Types
Numerical Values
Vectors
Lists (WIP)
Strings
Function Definitions
Function Arguments
Intrinsic Functions
Analysis: Usability
Analysis: Benchmarking
Analysis: Executable Runtime
Results
Conclusion
Acknowledgements


Taught by

EuroPython Conference

Related Courses

Heterogeneous Parallel Programming
University of Illinois at Urbana-Champaign via Coursera
Advanced Operating Systems
Georgia Institute of Technology via Udacity
計算機程式設計 (Computer Programming)
National Taiwan University via Coursera
Introduction to Operating Systems
Georgia Institute of Technology via Udacity
Android Performance
Google via Udacity