몇 가지 간단한 OpenMp 알고리즘을 제공하는 페이지를 Google에서 검색하고있었습니다. 아마도 거대한 데이터 배열로부터 최소, 최대, 중앙값, 평균을 계산하는 예제가 있지만 그것을 찾을 수는 없습니다.최소, 최대, 중간, 평균에 대한 OpenMp C++ 알고리즘
적어도 나는 각 코어에 대해 하나의 청크로 배열을 분할하고 나중에 전체 배열에 대한 결과를 얻기 위해 경계 계산을 시도합니다.
나는 바퀴를 재발 명하고 싶지 않았습니다.
추가 비고 : 나는 간단한 감소와 함께 작동 예 수천이 있다는 것을 알고있다. 예 : PI 계산.
const int num_steps = 100000;
double x, sum = 0.0;
const double step = 1.0/double(num_steps);
#pragma omp parallel for reduction(+:sum) private(x)
for (int i=1;i<= num_steps; i++){
x = double(i-0.5)*step;
sum += 4.0/(1.0+x*x);
}
const double pi = step * sum;
그러나 이러한 종류의 알고리즘을 사용할 수없는 경우 알고리즘을 줄이기위한 예제가 거의 없습니다.
예, 동의합니다. openmp에 대한 자습서와 예제를 찾기가 어렵습니다 ... http://openmp.blogspot.com 어제를 가로 질러 왔을 때 유용 할 수 있습니다. .. 여기 그냥 공유 할 생각이었습니다. – anshu