Representing the control flow of a computer program as a computation graph can bring many benefits in a broad variety of domains where performance is critical. This technique is a core component of most major numerical libraries (TensorFlow, PyTorch, Theano, MXNet,...) and is successfully used to speed up and optimise many computationally-intensive tasks. However, different design choices in each of these libraries lead to noticeable differences in efficiency and in the way an end user writes efficient code. In this report, we detail the implementation and features of the computation graph support in OCaml's numerical library Owl, a recent entry in the world of scientific computing.
翻译:将计算机程序的控制流程作为计算图,可以在业绩至关重要的广泛领域带来许多好处。 这一技术是大多数主要数字图书馆(TensorFlow, PyTorch, Theano, MXNet,...)的核心组成部分,并成功地用于加速和优化许多计算密集型任务。然而,这些图书馆的不同设计选择导致效率和终端用户撰写高效代码的方式上明显不同。我们在本报告中详细介绍了Ocaml数字图书馆Owl的计算图支持的实施情况和特点,Owl是科学计算领域最近的一个条目。