Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native CPU backend #3

Open
botev opened this issue Jan 23, 2017 · 0 comments
Open

Native CPU backend #3

botev opened this issue Jan 23, 2017 · 0 comments
Milestone

Comments

@botev
Copy link
Contributor

botev commented Jan 23, 2017

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.

@botev botev added this to the Draft milestone Jan 23, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant