C++
간단한 루프 병렬화(vs2017)
xaida
2017. 11. 12. 12:53
void loop_test(int u) { #pragma loop(hint_parallel(8)) //숫자가 생성할 스레드 갯수 for (int i=0; i<u; ++i) A[i] = B[i] * C[i]; }
모든 pragma 지시문과 마찬가지로 대체 pragma 구문 __pragma(loop(hint_parallel(n)))
도 지원됩니다.
루프문에 함수 호출 때마다 값이 바뀌는 것 처럼 특정할 수 없는 값이 있으면 사용할 수 없습니다.
모든 pragma 지시문과 마찬가지로 대체 pragma 구문 __pragma(loop(no_vector))
도 지원됩니다.
자동 평행화 도우미를 사용할 때처럼 성공적으로 벡터화된 루프만 보고하거나(/Qvec-report:1) 또는 성공적으로 벡터화된 루프와 벡터화가 실패한 루프를 모두 보고하도록(/Qvec-report:2) /Qvec-report(자동 벡터화 도우미 보고 수준) 명령줄 옵션을 지정할 수 있습니다.
https://msdn.microsoft.com/ko-kr/library/hh872235.aspx