|[eigen] Threaded EigenBLAS|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: [eigen] Threaded EigenBLAS
- From: Sameer Agarwal <sameeragarwal@xxxxxxxxxx>
- Date: Thu, 12 Mar 2015 20:56:07 +0000
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=Gw0pT8sD8KDm/6D3D1NYW8pgP96I7kpIA+q02Bsu+Ao=; b=V1HP8QLAm0inMbzjY11eIlU3offugjfUFwrgCIWmX4UCSi8HD9Yuc/w5Inm9u6qBYE j91l/okVDcfUjglcKwZKYG6T7QoDdDJuMw4EUVg6qlpx+CFzRybFNSmc32AfvnNiJOIG A2YygIeUp0KrjCgfZXCSuDZ1jTrhDyhNG6PRp7HsHQWjd+siU5uXzj/M2BythXeWNCDS IAeyv8H8AlyuSQYqvnEhgBRtLHWm0Fkxu0/LQ0pL01K7aUNIwVwTPUT32VV1uLq7ZLXh 3vRoAjEOTIDJkU78T1KcXtIElXNAUoO+AIeeM3VNXS5sLJR8xTPXznFD5GfkauhHCey4 rQaQ==
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.