0
각 실행에 대해 grad로 overall_grad를 합산하려고했습니다. 경주 조건을 막기 위해 원자를 사용했습니다. 그러나 컴파일러는 말한다 :omp to 고유 행렬
error: invalid expression type for ‘#pragma omp atomic’
코드
#pragma omp atomic
overall_grad.h += grad.h;
overall_grad.w += grad.w;
데이터 유형
struct Grad {
Eigen::MatrixXd h;
Eigen::MatrixXd w;
};
합니까 지원하는 OMP + =에만 원시 형 하시나요? 어떻게 고유 행렬을 여기서 요약 할 수 있습니까? 감사!
참고로 Eigen 라이브러리에서 제공하는 병렬 기능을 사용하지 않고 모든 샘플에 대해 병렬 처리를 실행하고 overall_grad를 업데이트합니다.
더 구체적으로 할 수 있습니까? 감사! – user2684645