Image for post
Image for post

A Rust Neural Network library for the Edge

By Mathieu Poumeyrol and Joseph Dureau

After open sourcing Snips-NLU a year ago, Snips now shares Tract, a new piece of its embedded voice platform. Tract is Snips’ neural network inference engine.


Image for post
Image for post

Snips engineering team works on shipping vocal assistants to mobile platforms (iOS and android) and a growing diversity of single board computers (Raspberry-Pi and the like). 2017 is the year we went “all-in” about Rust: all code running on these smallish platforms has been authored in Rust.

We are very, very happy about it. But we don’t start from scratch : we do have to ship a significant number of third-party dependencies, most of them written in either C or C++ .

For those we have had noticed a wide disparity in the “cross-compilation awareness” of the -sys libraries across…


…and an open-source Rust implementation

Image for post
Image for post

Today we’re happy to open source our Secure Distributed Aggregator (or SDA), and for several reasons: not only do we believe that cryptography should be out in the open, we would also love to see a world moving away from centralised storage of sensitive information, benefitting not only users but also companies — we hope this can be a push in that direction.

Analytics and surveys

Analytics plays a big part in our digital world today, ranging from small startups trying to understand how users behave in their app, to big advertising companies building detailed user profiles.

Most often this is done by…


Snips uses Rust to develop libraries that run on mobile devices. We developed dinghy, a tool to streamline testing and benching of libraries on the phones themselves. We are now sharing this with the Rust community at large, hoping many library developers will want to try and make their work portable.

Image for post
Image for post

TL;DR

  • Run cargo test and cargo bench on your phone.
  • A dinghy is a small boat that a big ship, like a cargo (!) ship, carries or
    tows around.
  • https://github.com/snipsco/dinghy

Rust for Snips

At Snips, we believe in Artificial Intelligence and Privacy. And we believe even stronger that a user should not have…


Image for post
Image for post
http://xkcd.com/26/

The Threshold Secret Sharing library is the first venture at Snips into the Rust world. Snips uses multiple technologies and languages, so adding one to the mix was not necessarily an obvious decision. We will show here how great a tool Rust can be when having to mix high-level programming concepts with bit-fiddling tricks.

Rust

Snips develops mobile applications and technologies. Android and iOS, the two leading platforms, are both offering high level languages to application developers: Apple is putting Swift center front, Android is supporting various languages from the Java ecosystem, like Scala or Kotlin. …

Mathieu Poumeyrol

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store