1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-09-20 09:15:38 +01:00

Hadrons: automatically resize output in MKL A2A matrix kernels

This commit is contained in:
Antonin Portelli 2018-11-08 17:40:57 +00:00
parent 1ff1422e07
commit 7cd9914f0e

View File

@ -213,6 +213,10 @@ public:
{ {
static const ComplexD one(1., 0.), zero(0., 0.); static const ComplexD one(1., 0.), zero(0., 0.);
if ((res.rows() != a.rows()) or (res.cols() != b.cols()))
{
res.resize(a.rows(), b.cols());
}
if (Mat<ComplexD, Opts...>::Options == Eigen::RowMajor) if (Mat<ComplexD, Opts...>::Options == Eigen::RowMajor)
{ {
cblas_zgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, a.rows(), b.cols(), cblas_zgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, a.rows(), b.cols(),
@ -234,6 +238,10 @@ public:
{ {
static const ComplexF one(1., 0.), zero(0., 0.); static const ComplexF one(1., 0.), zero(0., 0.);
if ((res.rows() != a.rows()) or (res.cols() != b.cols()))
{
res.resize(a.rows(), b.cols());
}
if (Mat<ComplexF, Opts...>::Options == Eigen::RowMajor) if (Mat<ComplexF, Opts...>::Options == Eigen::RowMajor)
{ {
cblas_cgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, a.rows(), b.cols(), cblas_cgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, a.rows(), b.cols(),