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

Benchmark against popular frameworks #2

Closed
milancurcic opened this issue Jul 31, 2018 · 2 comments
Closed

Benchmark against popular frameworks #2

milancurcic opened this issue Jul 31, 2018 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@milancurcic
Copy link
Member

For example Keras + Tensorflow.

@milancurcic milancurcic added the help wanted Extra attention is needed label Jul 31, 2018
@Xenate
Copy link

Xenate commented Jun 20, 2019

Fortran is wildly faster and I would expect the same here

@milancurcic
Copy link
Member Author

Minimal serial benchmark against Keras + Tensorflow is my paper from earlier this year, and shows comparable serial performance in terms of elapsed time, and superior performance in terms of memory use: https://arxiv.org/abs/1902.06714.

This is highly encouraging because:

  1. neural-fortran still uses the simplest out-of-the-box implementation (standard matmul, no special tricks for optimization etc.), while Tensorflow is mature and highly optimized.
  2. It wasn't obvious how to control the number of shared-memory cores for Tensorflow. Google and TF docs failed to provide immediate answers. While it was possible to contrain CPU use to 100%, allowing it to use more would always saturate to ~170%, even on a 12-core machine. In contrast, running neural-fortran on 1200% CPU was trivial thanks to its transparent parallel model.

Further improvement in performance can be done for example by taking a few approaches from #18. I will consider them for neural-fortran.

Closing this for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants