[erlang-questions] Vector instructions, BLAS, FFI

Alceste Scalas <>
Wed Apr 9 10:18:29 CEST 2008

Il giorno mar, 08/04/2008 alle 22.16 +1000, jm ha scritto:
> Not being very familar with blas: Is the license compatible with
> Erlang?

BLAS is just a standardized API, with several implementations.  Some

      * NetLib reference implementation: http://www.netlib.org/blas/
      * ATLAS: http://math-atlas.sourceforge.net/
      * AMD Core Math Library: http://developer.amd.com/acml.jsp
      * Intel Math Kernel Library:
      * nVIDIA CUDA: http://developer.nvidia.com/object/cuda.html

Each implementation comes with its own license (Netlib and ATLAS are
released under BSD-like, GPL-compatible licenses).  They are usually
binary compatible, so you can switch between them without recompiling
(as long as you use dynamic linking and don't depend on some
non-standard API extensions).

> Assuming yes, are you in a position to make any of the code
> public?

I hope I'll be able to release the code, but it depends on the FFI
patches --- so it may not be very useful, unless the FFI EEP is approved
in some form.

>  How well does it perform?

We tried several ways to integrate BLAS and Erlang.  The current
FFI-based implementation is slightly slower than dedicated BIFs, but
definitely faster than a linked-in driver (and definitely easier to
develop, since all the linked-in driver boilerplate code went away).

I can't provide the benchmarks data right now, but we plan to submit a
paper for the next Erlang Workshop.

> Lastly, what are the "distributed numerical applications" that Erlang is 
> being investigated for?

Simulation of mechanical and thermodynamical systems.


Alceste Scalas <>
CRS4 - http://www.crs4.it/

More information about the erlang-questions mailing list