|
| 1 | +# Java NdArray Repository |
| 2 | +| Status | Proposed | |
| 3 | +:-------------- |:---------------------------------------------------- | |
| 4 | +| **Author(s) ** | Karl Lessard ( [email protected]) | |
| 5 | +| **Sponsored ** | Joana Carrasqueira ( [email protected]), Rajagopal Ananthanarayanan ( [email protected]) | |
| 6 | +| **Updated** | 2020-07-29 | |
| 7 | + |
| 8 | +## Objective |
| 9 | + |
| 10 | +Create a new repository under the TensorFlow GitHub organization to host the code of the NdArray Java library used by TensorFlow and |
| 11 | +maintained by SIG JVM. |
| 12 | + |
| 13 | +## Motivation |
| 14 | + |
| 15 | +SIG JVM has developed a library called [`NdArray`](https://github.com/tensorflow/java/tree/master/ndarray) to improve the |
| 16 | +support of n-dimensional data structures on the JVM (e.g. tensors in TensorFlow). |
| 17 | + |
| 18 | +While this library is intensively used by the TensorFlow Java bindings, it does not have any dependency to the |
| 19 | +TensorFlow runtime itself, making it an interesting option for any Java developer interested in fast and efficient I/O accesses |
| 20 | +to continuous native memory in a n-dimensional space. |
| 21 | + |
| 22 | +To promote the adoption of this library beyond the scope of TensorFlow users, SIG JVM would like to move it into a distinct |
| 23 | +GitHub repository. |
| 24 | + |
| 25 | +## User Benefit |
| 26 | + |
| 27 | +N-dimensional memory access in Java is poorly supported by the JDK and while there are already a few initiatives involving different |
| 28 | +parties to standardize such API, it will take time before it gets released to the public. The NdArray Java Library is now a good option for |
| 29 | +all kind of Java projects and since it does not depend on the TensorFlow runtime, it is very lightweight and portable. |
| 30 | + |
| 31 | +Also, having a distinct repository for the NdArray Java Library development will simplify the task for its collaborators as they will not need |
| 32 | +anymore to checkout and build the whole TensorFlow Java project, a process which tends to be heavy since it also runs a Bazel build |
| 33 | +of the TensorFlow core sources that can take many hours. |
| 34 | + |
| 35 | +## Design Proposal |
| 36 | + |
| 37 | +The current request is for the creation of the following repository: `/tensorflow/java-ndarray` |
| 38 | + |
| 39 | +This new repository will only host the code of the NdArray Java Library, which will be moved out of `tensorflow/java`. |
| 40 | +Everything else related to TensorFlow Java depends on the TensorFlow runtime and shall remain under their actual |
| 41 | +repositories. |
| 42 | + |
| 43 | +The NdArray Java Library will now have its own release cycle and group of collaborators, independently from the TensorFlow Java bindings, while |
| 44 | +remaining under the jurisdiction of SIG JVM. |
0 commit comments