Найдите ошибку в следующем фрагменте программы:#define - Ответ на вопрос по ППсOpenMP №1239440
-42%
Вопрос
Найдите ошибку в следующем фрагменте программы:#define N 10int A[N],B[N], sum;#pragma omp parallel default(shared) num_threads(10){ int iam=omp_get_thread_num(); if (A[iam] > 0) { #pragma omp critical (update_a) sum +=A[iam]; } if (B[iam] > 0) { #pragma omp critical (update_b) sum +=B[iam]; }}- изменение общей переменной sum внутри критических секций update_a и update_b может выполняться одновременно несколькими нитями, поскольку названия критических секций отличаются
- в данном фрагменте программы ошибки нет
- чтение общих переменных А[iam] и B[iam] в операторах вида A[iam]>0 и B[iam]>0 выполняется без какой-либо синхронизации
Ответ
Этот вопрос в коллекциях
-20%
Коллекция: Параллельное программирование с OpenMP
490 390 руб.

🎓 Поможем сдать всё — тесты, практику, экзамены, курсовые, дипломы, отчёты! Закроем долги под ключ 🔑 Ведём от первой сессии до диплома 🏆 Работаем с Синергией, МЭИ и другими вузами 🤝 Гарантия результата или возврат денег 💰 Пиши! 🚀















