2
我想知道如何避免使用CUDA進行字符串搜索時的分支分歧,以及是否有一種好方法。避免CUDA字符串搜索中的分支分歧
目前我試圖將Knuth Morris Pratt改編成GPU,但我認爲有很多分歧,因爲每個主題都在尋找N個字母,並且每次比較這些字母是否對應於單詞I的第一個字母在尋找。
int tid = blockDim.x * blockIdx.x + threadIdx.x;
int startId = tid * 64;
int x = 0;
for(int i = 0; i < 64; i++){
if(array[startId + i] == 'C'){
x++;
}
}
,如果我用這個虛擬代碼找到字母「C」,但我還可以做第二次看,以尋找更多的字母爲好。
請顯示一些代碼。 – sgarizvi
@Anoracx:你的鏈接只包含一個簡單的串行實現。你的GPU代碼呢? – talonmies
這不是我的代碼,我只是試圖在GPU上實現它。 – Anoracx