Skip to content
/ furious.js Public

scientific computing package for JavaScript - inspired by NumPy

License

Notifications You must be signed in to change notification settings

amd/furious.js

Repository files navigation

License Build Status

Dependency Status OptionalDependency Status devDependency Status

Browser Support

Furious.js

Furious.js is a scientific computing package for JavaScript. Furious.js features:

  • Provides n-dimensional array (NDArray) class
  • Programming interface similar to NumPy
  • Works with all modern browsers and Node.js
  • Accelerates computation on Portable Native Client (PNaCl) and WebCL
  • Computes asynchronously, without stalling the GUI
  • Functionality covered with unit tests (Try it!)
  • Comes with extensive documentation

Backends

Currently Furious.js provides three computational backends:

  • JavaScript backend that works in all modern JS engines (Typed Array support required).
  • Portable Native Client that works in Google Chrome and other Chromium-based browsers.
  • WebCL backend that can be used with Node.js (via node-webcl) and WebKit-WebCL.

Normally Furious.js would automatically detect the optimal backend, but it is possible to specify it manually.

Development

System pre-requisites

  • Windows, Linux, or OS X operating systems.
  • Python 2.x (we recommend to use the latest 2.7 release).
  • Ninja build system. Add the directory with ninja (or ninja.exe) executable to the PATH environment variable. Add the misc directory with ninja_syntax.py to the PYTHONPATH environment variable.
  • Protocol Buffers compiler. Add the directory with protoc executable to the PATH environment variable.
  • Native Client SDK. Use the naclsdk/naclsdk.bat script to install one of the Pepper toolchains. For development, we recommend to use pepper_canary toolchain. For deployment, the current stable toolchain is recommended. Make an environment variable NACL_SDK_ROOT point to the toolchain directory (e.g. C:/naclsdk/pepper_canary if you use pepper_canary toolchain and the Native Client SDK is unpacked to C:/naclsdk)
  • Node.js and Node Package Manager (npm).

Cloning the repository

If you intend to develop Furious.js, we recommend that you fork the repository. Then clone your fork with

git clone https://github.com/<GITHUB-USERNAME>/furious.js.git

Building everything

grunt

Building the PNaCl backend only

python configure.py
ninja

About

scientific computing package for JavaScript - inspired by NumPy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •