0
可以說我malloc
一些結構在內核中,我執行了一些計算。然後我想返回這些變量,但是當我初始化內核時,它們並沒有作爲指針發送,所以如果我想返回這些值。我會怎麼做呢?下面的示例代碼。我如何有效地返回內核malloc數據回到CPU
我只是問這是一個普遍的問題,不解決下面的代碼。我遇到過其他問題,我不知道怎麼去解決這個問題。我明白,你可以拋出一個指針並將結果複製到它上面。然而,如果結果的大小不是預先確定的,那麼這將非常困難。所以我在問是否有更好的方法。
__global__ void addKernel()
{
int* c = (int*)malloc(sizeof(int) * 32);
#pragma unroll
for (int i = 0; i < 32; i++){
c[i] += 1;
}
}
我已經閱讀過這個部分,但並沒有準備好放棄這個想法:)我正在考慮使用uva和一個標題來指示數據是否被gpu和cpu操縱繼續掃描位置。這是個好主意嗎?如果你想讓我把代碼寫出來,我會在家以後做。 –
我想你應該提供一些關於你正試圖解決的問題的更多信息。有許多不同的策略可以用來處理輸出可變數據量的內核,您通常不需要設備端malloc。 –