有没有办法在renderscript中实现任意矩阵乘法?

时间:2014-09-16 08:30:16

标签: android matrix renderscript

有没有办法在mdersn和nxp的任何矩阵的renderscript乘法中实现? 从默认包中我发现只是一个大小为4x4,3x3,2x2的矩阵的硬编码实现。

以下是定义:http://developer.android.com/reference/renderscript/rs__types_8rsh_source.html 这里的实现:https://searchcode.com/codesearch/view/40545939/

我是RenderScript的新手,但从定义类型的方式看起来不可能。此外,如果使用Allocation,那么我看到的所有示例总是具有相等的inAllocation和outAllocation,等于vector(数组)大小。

也许有人可以对此有所了解?

编辑:

正如Tim所说,我开始直接使用2个输入分配和一个输出集。

rs_allocation gInA;
rs_allocation gInB;
rs_allocation gOut;
rs_script gScript;

void root( *v_out, uint32_t x, uint32_t y) {
// for every x, y on the out matrix calculate the multiply
// exp if x=y=1 do calc for row 1 from gInA and column 1 from gInB
// but what are the sizes from this matrices, or we also need to set // dose as variable?
}

void calculate() {
   // how we can call for each x, y of the predefined gOutMatrix?
    rsForEach(gOut, NULL);
}

也许小代码snipett会在你身边很好。 Tnx,Blaze

1 个答案:

答案 0 :(得分:1)

简单的方法是仅使用输出分配并使用getElementAt_<type>从不同大小的输入分配中读取。

我好奇 - 如果我们要将此作为内在添加,您是否只需要GEMM,或者您是否支持其他BLAS操作?