ArrayFire 的矩阵乘法与整数输入

问题描述

我想通过向量乘法来执行矩阵,但是在整数类型的数组上执行矩阵以避免额外的转换(当双方都是 f32 类型时它工作正常);

对于整数类型,这种操作会抛出错误的类型异常,有什么解决方法吗?

解决方法

ArrayFire 在现有 BLAS 实现(例如 cuBLAS、clBLAS、CLBlast、FFTW3、Intel MKL 等)之上实现矩阵乘法,具体取决于后端。据我所知,BLAS API 不支持整数类型,因此不支持任何下游项目的整数类型。到目前为止,我们的项目页面上还没有任何对 matmul 整数支持的请求。欢迎您提出要求。

作为一种变通方法,您可以在传递给 array::as(f32) 函数之前在 arrayfire 数组上调用 matmul 方法。