Boost logo

Boost :

Subject: Re: [boost] interest in an asynchronous linear algebra library?
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2015-11-22 11:44:11


> On 2015-11-21 06:12, Sebastian Schaetz wrote:
> > Hi Oswin,
> >
> > On Thursday, November 19, 2015 at 9:56:13 AM UTC-5, Oswin Krause
> > wrote:
> >
> >> I would like to propose a new library to boost: asynchronous blas.
> >
> > asynchrony and optimization of the AST are very interesting techniques
> > that the DL community should leverage. There is a lot of existing
> > knowledge and code in this area so in addition to looking at standard
> > proposals I would recommend you look into advanced expression template
> > libraries like NT2 [0] or Eigen [1] when researching previous work. I
> > would also recommend you look into HPX [2].
>
>
> Hi Sebastian (and others),
>
> I am a bit confused by the replies. Is this a "yes, there is interest
> but do some proper research beforehand"?
>
> Of course I do know Eigen, Armadillo and NT2 as I had to do some
> research in the past for the linked library. For the CPU part i was
> indeed planning a system with an interface similar to HPX,but I can not
> rely on HPX because It would then be a mandatory external library - and
> distributed computations are currently not in the scope of the
> project(honestly, I do not have enough experience with distributed
> computing to start such an endeavor).

<rant>
Why do people fall into the trap of the NIH syndrome over and over again?
*sigh*
</rant>

Anyways, while HPX supports distributed computing, you don't have to use it
for this. HPX can be used just fine for SMP style (local only) applications
as well. In fact we have shown that by simply switching from
std::async/std::future to hpx::async/hpx::future you can achieve a speedup
of up to a factor of 3-4 (depending on the application). That does not
entail utilizing some of the more sophisticated features HPX provides you
with (extending futures like proposed by the Concurrency TS, dataflow,
parallel algorithms, task regions, GPU integration, etc.). Those usually
give you an additional benefit in terms of speedup, readability, and
maintainability.

Regards Hartmut
---------------
http://boost-spirit.com
http://stellar.cct.lsu.edu


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk