1
OpenMP를 사용하고 잘못된 결과에 문제가 있습니다. 왜 wrond 결과를 얻고, 당신은 어떻게 생각하십니까OpenMP 중첩 루프 병렬 처리
#pragma omp parallel shared(L,nthreads,chunk) private(tid,i,j){
tid = omp_get_thread_num();
if (tid == 0)
{
nthreads = omp_get_num_threads();
printf("Starting matrix multiple example with %d threads\n",nthreads);
printf("Initializing matrices...\n");
}
#pragma omp for schedule (static, chunk)
for(i=0; i<SIZE_A;i++){
for(j=0; j<SIZE_B;j++){
if(A[i]==B[j]){
if(i==0 || j==0)
L[i][j]=1;
else
L[i][j] = L[i-1][j-1] + 1;
}
// or reset the matching score to 0
else
L[i][j]=0;
}
}
}
: 여기
코드인가? 무엇을 변경해야합니까?고마워요!
흠 ... 그것은 일부 인텔의 사람들이 해결 한 가장 일반적인 공통 문자열 문제이며, 변경하려고 시도했지만 재귀 적 솔루션은 매우 느리고 최적화는 잘 설명되지 않았습니다 ... 도움을 주셔서 감사합니다. Hristo :) – vanste25