[erlang-questions] Vector instructions, BLAS, FFI

jm jeffm@REDACTED
Tue Apr 8 14:16:18 CEST 2008


Alceste Scalas wrote:
> Il giorno mar, 08/04/2008 alle 16.13 +1000, jm ha scritto:
>> The reason I initially stated vec:add/3 as an example is that this could 
>> be implemented as a C-port module. Then if this proves successful the 
>> atomic could be rolled into the VM eventually and the rest moved to a 
>> normal library. At which point any changes needed to erlang syntax would 
>> be readily apparent.
>>
>> Where would you recommend starting? Any good references on parallel 
>> vector and matrix operations/algorithms?
> 
> Instead of reimplementing everything, I'd suggest to start here:
> 
>         http://www.netlib.org/blas/
>         http://math-atlas.sourceforge.net/

I knew of blas (from lapack) or rather had heard of it, but hadn't heard 
of math-atlas. Having never used it before I was browsing their website 
looking for a starting point to access its suitability. Trying to 
understand the wheel not re-invent it that is. The most I was hoping to 
do was the initial investigation and, at worst, write a thin bridge 
between Erlang and a suitable library. Any more than that and I was 
going to bow out.

Nice to see you have saved someone else a lot of work! Not being very 
familar with blas: Is the license compatible with Erlang? Assuming yes, 
are you in a position to make any of the code public? How well does it 
perform?

On the reimplementation front. There is something to be said for adding 
SIMD support at a lower level. After I asked the question about adding 
vector support I realised that my use of "vector" was too vague. There 
are actually two valid intepretation:

1) SIMD at the low level. This would mean changes to the language.
2) Vector and matrix operations. This can easily be done by calling an 
external library.

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

thanks, very informative.

Jeff.




More information about the erlang-questions mailing list