Вывод количества итераций, обработанных каждым потокомC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Вывод количества итераций, обработанных каждым потоком

Сообщение Anonymous »


У меня есть код, который обрабатывает матрицу параллельно и должен выводить информацию о том, сколько итераций обработал каждый поток, но он выводит информацию только для одного потока. Я не так давно начал изучать OpenMP и не понимаю, в чем дело.
int main() { интервал н; cout > п; int** A = новый int* [n]; int** B = новый int* [n]; int* C = новый int[n]; int* D = новый int[n]; for (int i = 0; i < n; i++) { A = новый int[n]; B = новый int[n]; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { А[j] = rand() % 100; B[j] = rand() % 100; } } интервал thread_num; интервал it_num; #pragma omp параллельный для расписания (статический, 4) num_threads (4) { auto start_time = хроно::high_разрешение_часов::сейчас(); for (int i = 0; i < n; i++) { интервал it_num = 0; int minA = A[0]; it_num++; for (int j = 1; j < n; j++) { если (A[j] < minA) { минА = А[j]; ++it_num; } } printf("поток %d обработал %d итераций\n", omp_get_thread_num(), it_num); С = минА; } auto end_time =хроно::high_разрешение_часов::сейчас(); автоматическая длительность = хроно::duration_cast(end_time - start_time).count(); cout
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»