Re: [eigen] Threaded EigenBLAS

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]



Hi,

On Thu, Mar 12, 2015 at 9:56 PM, Sameer Agarwal <sameeragarwal@xxxxxxxxxx> wrote:
Hi Guys,

I was poking around the BLAS implementation in Eigen and I noticed that it cannot use OpenMP even if the compiler supports it because when it calls
general_matrix_matrix_product::run in level3_impl.h it does so with  GemmParallelInfo<> * info = 0, which forces the code into the single threaded implementation.

I am curious as to why this is the case. Was it just a matter of convenience at the time level3 BLAS API was implemented that threading was ignored or is there a fundamental problem with using the threaded general matrix-matrix product here.

that's indeed just a matter of convenience because to enable multithreading we cannot directly call general_matrix_matrix_product but either manage the thread generation in *gemm itself, or find a way to call internal::parallelize_gemm with minimal effort. This would probably require to implement one wrapper for each of the 9 cases listed in level3_impl.h/gemm.

gael
 

Sameer




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/