Skip to content

Latest commit

 

History

History
29 lines (20 loc) · 1.65 KB

motivation.md

File metadata and controls

29 lines (20 loc) · 1.65 KB

🔥 Motivation

This library has been heavily inspired by PyTorch. A powerful deep learning framework that combines dynamic computation, performance and debugging freedom!

Popular deep learning frameworks like PyTorch and Tensorflow are heavy weight code bases which often do not carry with them the benefits of 'write once run everywhere'. This is especially true for dedicated Hardware!

On the state of Deep Learning outside of CUDAs walled garden.

This is due to the fact that the backends of these frameworks have been written in nvidia's cuda and C++. Which means that even developers willing to compile for all platforms would still be locked out of AMD, Intel, and ARM systems when it comes to performance.

For that reason Neureka is written in Java and OpenCl. Although performance will certainly be impacted by this choice, modularity, extensibility, uncomplicated cross platform deployment, and ease of use are the benefits. Additionally, the use of OpenCl even allows for FPGA utilization.

In general, the JVM ecosystem currently plays an underwhelming role in the Deep-Learning community despite the fact that it is among the most dominant platforms.

What Java needs for true Machine / Deep Learning support.

Neureka has been built for the JVM not for Java.