Wrestling Python into LLVM Intermediate Representation
Offered By: EuroPython Conference via YouTube
Course Description
Overview
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 ProgrammingUniversity 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