0

我遇到了想要使用Android Renderscript進行並行化的問題。爲此,我必須將我的輸入數據分配給renderscript並將其分配回去。我想要做大矩陣乘法,大小爲8x8或64x64矩陣。有兩個問題: 1)我不能分配二維數組。 2)forEach按照分配的大小執行循環。例如。輸入向量有10個元素,循環將執行10次。 要找到我編碼的解決方案。所以我的矩陣是隨機生成的一個字節數組。這個字節數組將被編碼成行或列到整數數組。所以我把二維數組放在長度爲一維的數組中。另一方面(Renderscript),我必須對它們進行解碼,計算結果並將後面的分配放在後面。我想避免編碼並加速應用程序。有人知道我的問題更好的解決方案?如何在高度或寬度爲1d的陣列中呈現2d陣列

array [a] [b] - > vector [a]或vector [b]但不是vector [a * b]存在一個可能的解決方案嗎?

回答

0

我不確定我是否完全理解您的問題。

讓我試着根據我的理解提出一般性建議。

您可以創建一個包裝類,通過getters和setter將輸入索引轉換爲內部索引,該包裝也可以實現java.lang.Iterable。

0

爲了幫助解決問題的第二部分,請分別將矩陣分配綁定到Renderscript,並將rsForEach另一個分配的大小設置爲您要執行的操作數。您可以使用此分配中設置的值和/或root()函數的x參數來幫助您找到矩陣數據的操作位置。

我的回答for operating per row/column of an image給出了更多細節。