Skip to content

Native CPU backend  #3

@botev

Description

@botev

Whether this resolves to be in another repo or not does not matter.

The backends in general should support two modes:

  1. Source code generation - given the graph they generate a single shared library with a source code executing the whole computation, compile it externally and link as a dynamic library.
  2. On graph execution - given the graph they traverse it according to the ordering of the nodes and using the memory manager for requesting buffers can execute each computation in order.

The two are quite similar. Potentially 1 is much easier for debugging as there would be an actual source code which we can inspect when there is unexpected behaviour. However it has higher overhead on the initial stage (when it generates the source code and compiles it).

Main requirement here is to link at least BLAS.

Here porting parts of Leaf might be possible or not. In the long run this should support SIMD and parallel executions using Futures and things like Rayon.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions