Я определил это сокращение в OpenMP:
std::vector<FindAffineShapeArgs> v;
#pragma omp declare reduction(mergeFindAffineShapeArgs : std::vector<FindAffineShapeArgs> : omp_out.insert(omp_out.end(), omp_in.begin(), omp_in.end()))
#pragma omp parallel for collapse(2) schedule(dynamic,1) reduction(mergeFindAffineShapeArgs : findAffineShapeArgs)
for(int i=0; i<n; i++){
v.push_back(//something);
}
В нескольких словах операция сокращения добавляет каждую локальную версию v
к глобальному.
Я никогда не использовал TBB раньше, но я прочитал этот, этот а также этот учебник, но я даже не понимаю, возможно ли это даже в TBB.
Может кто-нибудь помочь мне с этим, пожалуйста?
Задача ещё не решена.
Других решений пока нет …