qmkl6 icon indicating copy to clipboard operation
qmkl6 copied to clipboard

/lib/aarch64-linux-gnu/libqmkl6.so: undefined symbol: drm_v3d_submit_csd

Open Hamidreza-Ramezani opened this issue 2 years ago • 5 comments

Hello,

I'm trying to use qmkl6 as numpy backend. I already installed py-videocore6 and libdrm_v3d.

After successfully installing numpy against qmkl6, when I'm importing numpy, I keep getting this error:

/lib/aarch64-linux-gnu/libqmkl6.so: undefined symbol: drm_v3d_submit_csd

Do you possibly have any idea how to fix this?

Hamidreza-Ramezani avatar May 18 '22 22:05 Hamidreza-Ramezani

What if -ldrm_v3d is added when linking your program?

Terminus-IMRC avatar May 23 '22 08:05 Terminus-IMRC

Thanks for the reply. That worked. But I got another error:

undefined symbol: cblas_zgemm

I guess that is because qmkl6 doesn't have all cblas functions. Am I right? Do you know any workaround?

Hamidreza-Ramezani avatar May 23 '22 22:05 Hamidreza-Ramezani

The only workaround is to implement the missing calls, which really is a hard work... c.f. single-precision gemm: src/sgemm_rnn.py. Or, I just came up with the idea to call other BLAS's (e.g. OpenBLAS) function if it is missing from QMKL6.

Terminus-IMRC avatar May 23 '22 23:05 Terminus-IMRC

Hello again,

Thanks for the reply.

Or, I just came up with the idea to call other BLAS's (e.g. OpenBLAS) function if it is missing from QMKL6.

Do you possibly know what is the easiest way to do this? I mean, how to tell numpy to use QMKL in some cases and use OpenBlas in some other.

Hamidreza-Ramezani avatar Jun 23 '22 21:06 Hamidreza-Ramezani

A lookup table-based approach with dlsym seems feasible.

Terminus-IMRC avatar Jun 26 '22 03:06 Terminus-IMRC