2016-06-01 5 views
-2

"#pragma omp parallel for"을 추가하여 루프를 병렬로 실행하려고하는데이 방법이이 루프를 병렬화 할 수있는 방법에 대한 제안이 없습니까?OpenMP에서이 for 루프를 병렬로 만드는 방법은 무엇입니까?

#pragma omp parallel for 
    for (p = split; *p != 0; p++) if (*p == ' ') *p = '0'; 
+1

빌드에 사용중인 환경을 추가하십시오. 컴파일과 같거나 정의가 올바르게 설정되지 않았습니다. – namar0x0309

+0

자바 태그를 스팸 한 이유가 무엇인가요? – Olaf

답변

5

OpenMP에서 루프를 병렬 처리하려면 루프 반복 횟수를 미리 결정할 수 있어야합니다. 이 특별한 경우에는, 먼저 문자열 길이를 결정해야 할 것 :

size_t len = strlen(split); 
#pragma omp for 
for (size_t p = 0 ; p < len; ++p) if (split[p] == ' ') split[p] = '0'; 

그것은 당신이 생각이, 예를 들어 병렬에서 어떤 성능 이점을 얻을 수 있습니다 매우 의심 스럽다.

관련 문제