Skip to content
This repository was archived by the owner on Jul 10, 2025. It is now read-only.

Commit 3b22c3d

Browse files
authored
Merge pull request #284 from karllessard/ndarray-repo
[RFC] New repository for TensorFlow Java NdArray
2 parents ddbdeac + b2ea452 commit 3b22c3d

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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

Comments
 (0)