DIP80: phobos additions

Ilya Yaroshenko via Digitalmars-d digitalmars-d at puremagic.com
Sun Jun 14 11:49:19 PDT 2015


On Sunday, 14 June 2015 at 18:05:33 UTC, Ola Fosheim Grøstad 
wrote:
> On Sunday, 14 June 2015 at 15:15:38 UTC, Ilya Yaroshenko wrote:
>>
>>> A naive basic matrix library is simple to write, I don't need 
>>> standard library support for that + I get it to work the way 
>>> I want by using SIMD registers directly... => I probably 
>>> would not use it if I could implement it in less than 10 
>>> hours.
>>
>> A naive std.algorithm and std.range is easy to write too.
>
> I wouldn't know. People have different needs. Builtin 
> for-each-loops, threads and SIMD support are more important to 
> me than iterators (ranges).
>
> But the problem with linear algebra is that you might want to 
> do SIMD optimized versions where you calculate 4 equations at 
> the time, do reshuffling etc. So a library solution has to 
> provide substantial benefits.

Yes, but it would be hard to create SIMD optimised version.

What do you think about this chain of steps?

1. Create generalised (only type template and my be flags) BLAS 
algorithms (probably  slow) with CBLAS like API.
2. Allow users to use existing CBLAS libraries inside generalised 
BLAS.
3. Start to improve generalised BLAS with SIMD instructions.
4. And then continue discussion about type of matrixes we want...



More information about the Digitalmars-d mailing list