0
有誰知道cuda.jit修飾符的正確語法是如果你想寫一個返回多個數組的設備函數嗎?NumaPro Cuda設備功能 - 返回多個數組和本地內存
如果我的設備函數返回一個浮子,有兩個整型參數我的裝飾是:
@cuda.jit('float64(int64,int64)', device=True, inline=True)
現在,我想我的功能需要兩個整數paramters和兩個浮標和返回2列彩車和2所有長度相同(3到5之間)的整數數組,取決於輸入參數。我怎麼做? 這是正確:
@cuda.jit(restype=[float64[:], int64[:], float64[:], int64[:]], argtypes=[int64, int64, float64, float64], device=True, inline = True)
而且在我的功能我會創造我想要通過使用返回數組:cuda.local.array()
由於我使用內嵌=真我懷疑,這將工作和陣列將是唯一由相應的線程訪問,對吧?
謝謝你的回答!所以我唯一的選擇是事先傳遞數組作爲參數,但有幾個設備函數來計算這些數組的條目,併爲每個設備函數返回一個數組? – Escapado
@Escapado:從效率的角度來看,我不認爲這是非常明智的。爲什麼不將結果返回到同一個數組的不同切片中? – talonmies
這可能會更有意義。但我想出了一個完全不同的方案來解決我的問題,所以這在我的代碼中並不適用。但你可能是對的! – Escapado