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.
Read more
The Design of Functional Numerical Software - Dr. Richard Mortier, University of Cambridge