Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

The Design of Functional Numerical Software - Dr. Richard Mortier, University of Cambridge

Alan Turing Institute via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the design and architecture of Owl, an OCaml library for scientific computing, in this comprehensive lecture by Dr Richard Mortier from the University of Cambridge. Delve into the library's unique features, including algorithmic differentiation, deep neural networks, data-flow programming, and parallel computing. Learn how Owl enables programmers to write concise yet fast code with advanced OCaml features like static type checking. Discover the library's versatility in running on various backends, including CPU, GPU, and even compiled into JavaScript for browser execution. Gain insights into current research focuses and future development plans, such as synchronous parallel machines and browser deployment. Examine the motivating application Databox, and understand Owl's core architecture, including indexing, slicing, and the functor stack. Investigate advanced topics like laziness, incremental computation, and GPGPU programming. Explore the library's expressiveness through examples like implementing Google Inception v3 in just 150 lines of code. Dive into actor-based parallel and distributed processing, with a focus on neural network examples and synchronous parallel machines. Analyze different synchronization methods, step distribution, and scalability considerations. Conclude with an overview of ongoing integration efforts with the App Development Kit.

Syllabus

Intro
Why, What, When, Where?
Motivating Application: Databox
Owl's Architecture
Indexing & Slicing
Core Functor Stack
Advanced Uses of Algorithmic Differentiation
Laziness & Dataflow
Incremental Computation
GPGPU Programming
Expressiveness
Google Inception v3 in 150 LOC
Actor, Parallel and Distributed Processing
Owl & Actor: Neural Network Example
Actor & the Synchronous Parallel Machine
Barrier Synchronisation
Three Main Schemes: A 10,000 Foot View
Simple Analytical Model
Decomposing Synchronous Parallel Machine
Key Insights from System Decomposition
Probabilistic Synchronous Parallel
Sampling Primitive
Adding the Completeness Dimension
Reducing Sample Size
Revisit System Decomposition
Comparing Synchronisation Methods
Step Distribution
Effect of Sample Size
Tightening Bounds
Scalability
Ongoing: Integration with App Development Kit

Taught by

Alan Turing Institute

Reviews

Start your review of The Design of Functional Numerical Software - Dr. Richard Mortier, University of Cambridge

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.