在 EVMK2H12上、我使用了 Processor-SDK 中的"cblas _sgemm"来计算大矩阵。 我知道该接口已根据8个 DSP 内核上的 OpenCL 进行了优化。 但根据性能要求、结果不能满足。
我已经检查了 M=N=K=1000的性能、它的性能与 TI 说的一样(www.ti.com/.../linear-algebra-libraries.page)
但是、当值较大时、例如 M=10、N=200、000、K=30、则为0.277s。 嗯、这种计算可能已经达到了所有 DSP 内核的性能限制。 因此、我认为如果输入数据格式为短整型或 fp16 (半精度浮点)、则可以改进、其长度为2字节、而不是像浮点那样为4字节。
有人知道 SDK 是否支持具有2字节数据格式的 sgemm? 通过搜索 SDK 手册和 cblas.h 我找不到任何东西 如果没有、TI 是否有任何关于此主题的计划?
BTW、我在基于 NVIDIA 平台的矩阵计算上使用了 fp16数据格式、这显著提高了性能(NV 支持 CUDA 库中的 fp16)
非常感谢您对此主题的任何帮助!