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