Designing a Scientific Computing System using OCaml
Buch, Englisch, 472 Seiten, Format (B × H): 178 mm x 254 mm, Gewicht: 909 g
ISBN: 978-1-4842-8852-8
Verlag: Apress
This unique open access book applies the functional OCaml programming language to numerical or computational weighted data science, engineering, and scientific applications. This book is based on the authors' first-hand experience building and maintaining Owl, an OCaml-based numerical computing library.
You'll first learn the various components in a modern numerical computation library. Then, you will learn how these components are designed and built up and how to optimize their performance. After reading and using this book, you'll have the knowledge required to design and build real-world complex systems that effectively leverage the advantages of the OCaml functional programming language.
What You Will Learn
- Optimize core operations based on N-dimensional arrays
- Design and implement an industry-level algorithmic differentiation module
- Implement mathematical optimization, regression, and deep neural network functionalities based on algorithmic differentiation
- Design and optimize a computation graph module, and understand the benefits it brings to the numerical computing library
- Accommodate the growing number of hardware accelerators (e.g. GPU, TPU) and execution backends (e.g. web browser, unikernel) of numerical computation
- Use the Zoo system for efficient scripting, code sharing, service deployment, and composition
- Design and implement a distributed computing engine to work with a numerical computing library, providing convenient APIs and high performance
Who This Book Is For
Those with prior programming experience, especially with the OCaml programming language, or with scientific computing experience who may be new to OCaml. Most importantly, it is for those who are eager to understand not only how to use something, but also how it is built up.
Zielgruppe
Professional/practitioner
Autoren/Hrsg.
Fachgebiete
- Mathematik | Informatik EDV | Informatik Daten / Datenbanken
- Mathematik | Informatik EDV | Informatik Informatik Theoretische Informatik
- Mathematik | Informatik EDV | Informatik Informatik Künstliche Intelligenz
- Mathematik | Informatik EDV | Informatik Angewandte Informatik
- Mathematik | Informatik EDV | Informatik EDV & Informatik Allgemein
Weitere Infos & Material
Chapter 1: Introduction.-Chapter 2: Core Optimization.- Chapter 3: Algorithm Differentiation.- Chapter 4: Mathematical Optimization.- Chapter 5: Deep Neural Networks.- Chapter 6: Computation Graph.- Chapter 7: Performance Accelerators.- Chapter 8: Compiler Backends.- Chapter 9: Composition and Deployment.- Chapter 10: Distributed Computing.- Chapter 11: Testing Framework.- Appendix A: Basic Analytics Examples.- Appendix B: System Conventions.- Appendix C: Metric Systems and Constants.- Appendix D: AlgoDiff Module.- Appendix E: Neural Network Module.- Appendix F: Actor System for Distributed Computing.- Bibliography.