1
我想優化我的C++代碼,我不知道是否有方法在GPU中使用CUDA-C存儲表格。在表中的C++當前代碼是:如何在CUDA中實現壓縮表?
double m_alpha = 0.5;
unsigned char* compressionTable = new unsigned char[65536];
double denom = exp(m_alpha * log(65535.0))/255.0;
for (unsigned int i = 0; i < 65536; ++i)
compressionTable[i] = exp(m_alpha * log(i))/denom;
後我訪問這個表在一個循環爲:
bmode[i][j] = compressionTable[round(abs(sH[i][j]))];
SH是希爾伯特變換(複雜數組)的數組的獲得短int類型數據(壓縮表2的存儲器)。訪問的循環不是一個小問題,但我的主要問題是快速實施壓縮表。我會感謝任何幫助。
爲什麼不在主機CPU上創建表格,然後將其放入GPU常量內存中(假設您沒有在常量內存中存儲其他任何內容?)。 –
或者預計算並將其綁定到紋理或表面? – talonmies