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

Add support for loading native code: Rust, C++ #55

Open
mandar2812 opened this issue Dec 19, 2016 · 0 comments
Open

Add support for loading native code: Rust, C++ #55

mandar2812 opened this issue Dec 19, 2016 · 0 comments

Comments

@mandar2812
Copy link
Member

mandar2812 commented Dec 19, 2016

This issue/task is quite large in terms of scope and implications. One can consider several capabilities that can be seen as objectives which the native interface/connection will need to achieve

Objectives

  1. Optimising kernel computations; more specifically of classes implementing LocalScalarKernel[I]. This should ideally be done at the level of the evaluate(x: I, y: I) function of the common kernel implementations like RBFKernel, FBMKernel, PolynomialKernel and others.

  2. Implementing models in native code and connecting them to the DynaML Model[T, Q, R] trait.

Languages

In order of preference.

  1. Rust
  2. C++

Compatibility Layers

A number of java compatibility interfaces can be considered and with some deliberation one of them can be finalised.

  1. JNI: Java Native Interface
  2. JNA: Java Native Access, with [BridJ] backend
  3. FFI: Java Abstracted Foreign Function Layer

Resources

  1. Java-Rust-FFI
  2. Java-Rust-Example
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant