Jump to page: 1 2
Thread overview
Netflix opensources its first D library: Vectorflow
Aug 02, 2017
Walter Bright
Aug 02, 2017
Joakim
Aug 03, 2017
Samuel Lampa
Aug 06, 2017
Joakim
Aug 03, 2017
Matt
Aug 03, 2017
Laeeth Isharc
Aug 03, 2017
Matt
Aug 03, 2017
Nicholas Wilson
Aug 03, 2017
Matt
Aug 03, 2017
Joakim
Aug 03, 2017
Matt
Aug 03, 2017
Joakim
Aug 03, 2017
Nicholas Wilson
Aug 08, 2017
Nordlöw
Aug 08, 2017
Nordlöw
Oct 19, 2017
Per Nordlöw
Oct 18, 2017
Stephan Dilly
Oct 19, 2017
Walter Bright
August 02, 2017
https://www.reddit.com/r/programming/comments/6r6dwp/netflix_opensources_its_first_d_library_vectorflow/
August 02, 2017
On Wednesday, 2 August 2017 at 21:31:19 UTC, Walter Bright wrote:
> https://www.reddit.com/r/programming/comments/6r6dwp/netflix_opensources_its_first_d_library_vectorflow/

No. 2 liked proggit link of the day, should be no. 1 soon:

https://www.reddit.com/r/programming/top/?time=day

Not doing well on HN though:

https://hn.algolia.com/?query=vectorflow
August 03, 2017
On Wednesday, 2 August 2017 at 21:31:19 UTC, Walter Bright wrote:
> https://www.reddit.com/r/programming/comments/6r6dwp/netflix_opensources_its_first_d_library_vectorflow/

Speakng of D in data science (where I think it can get traction), is there a standardized linear algebra library in D? Perhaps some hooks to Eigen?

I saw a few upstarts LA libraries, but none that I would consider "the one to use in D", like numpy in python or Eigen in C++
August 03, 2017
On Thursday, 3 August 2017 at 03:46:11 UTC, Matt wrote:
> On Wednesday, 2 August 2017 at 21:31:19 UTC, Walter Bright wrote:
>> https://www.reddit.com/r/programming/comments/6r6dwp/netflix_opensources_its_first_d_library_vectorflow/
>
> Speakng of D in data science (where I think it can get traction), is there a standardized linear algebra library in D? Perhaps some hooks to Eigen?
>
> I saw a few upstarts LA libraries, but none that I would consider "the one to use in D", like numpy in python or Eigen in C++

We're using D in finance.  D libraries are far from the maturity of Python, but they are developing quickly.

https://github.com/kaleidicassociates/lubeck Library we have open-sourced
https://github.com/libmir/mir-algorithm Mir library we sponsor

Other mir libraries:
https://github.com/libmir/mir-lapack
https://github.com/libmir/mir-blas
https://github.com/libmir/lapack
https://github.com/DlangScience/cblas

Performance matters:
http://blog.mir.dlang.io/glas/benchmark/openblas/2016/09/23/glas-gemm-benchmark.html


August 03, 2017
That seems like a good start. I'll probably start contributing within a few weeks.

In the long run the goal should probably be to have a "go-to" set of LA libraries, with appropriate data structures that have friendly bindings to GPU LA computations with DCompute.

August 03, 2017
Also note, one of the main advantages of Eigen is the whole lazy evaluation of expressions for compound operations.

I haven't dug in the source, but it's my understanding it's done through a lot of compile time C++ template hacking
August 03, 2017
On Thursday, 3 August 2017 at 04:37:30 UTC, Matt wrote:
> That seems like a good start. I'll probably start contributing within a few weeks.
>

Great, http://gitter.im/libmir is probably the best way to get in contact.

> In the long run the goal should probably be to have a "go-to" set of LA libraries, with appropriate data structures that have friendly bindings to GPU LA computations with DCompute.

That is the idea, https://github.com/libmir/mir-glas already provides a BLAS and I'll eventually get around to getting DCompute integration for it and ndslice.
August 03, 2017
On Thursday, 3 August 2017 at 04:40:05 UTC, Matt wrote:
> Also note, one of the main advantages of Eigen is the whole lazy evaluation of expressions for compound operations.

Yes, Mir does that too:

http://blog.mir.dlang.io/ndslice/algorithm/optimization/2016/12/12/writing-efficient-numerical-code.html

> I haven't dug in the source, but it's my understanding it's done through a lot of compile time C++ template hacking

Meanwhile, the blog post Laeeth gave you shows Mir doing better on matrix multiplication benchmarks than Eigen, significantly better when dealing with complex numbers.
August 03, 2017
On Thursday, 3 August 2017 at 04:40:05 UTC, Matt wrote:
> Also note, one of the main advantages of Eigen is the whole lazy evaluation of expressions for compound operations.
>
> I haven't dug in the source, but it's my understanding it's done through a lot of compile time C++ template hacking

Yep, there's a lot of operator overloading and other C++ black magic. DCompute should be able to do some of the out of the box with the lambda kernels to get some data locality. I'm also in the process of integrating Polly (LLVM's polyhedral optimiser) into LDC to get great loop optimisations.
August 03, 2017
> Meanwhile, the blog post Laeeth gave you shows Mir doing better on matrix multiplication benchmarks than Eigen, significantly better when dealing with complex numbers.

I mean by now we should all be jaded enough not to simply take toy benchmarks as gospel for which is actually fastest in a non-trivial application.

I don't doubt mir is really fast, though.
« First   ‹ Prev
1 2