我正在尝试沿着
线计算一个二维多项式方程out = b[0]*X + b[1]*Y + b[2]*X*X + ... etc
其中X和Y是2d矩阵。系数由GPU上的一系列矩阵乘法计算得出,并因此存储为GpuMat。幼稚的方法将需要直接访问b
中的元素,据我所知这是不可能的。取而代之的是,我提出了三种可能的解决方案,这些解决方案似乎都不具有吸引力。
b
,这将允许直接访问。这似乎效率很低,因为这些值基本上是在上载后才再次传回的。但是,b非常小,只有14个值,因此传输时间可以忽略不计。N x M x 14
(14是矩阵的数量),然后使用整形和重复创建N x M x 14
的{{1}}矩阵,从而允许逐元素相乘。然后,可以沿其通道拆分以求和,也可以使用b
求和(尽管我认为不可能,但如果我错了,请纠正我)。当然,这需要大量的内存分配。与上载时间相比,使用重复创建〜200万个向量副本的速度也很慢。所有这些合并为两个问题: