Главная /
Intel Parallel Programming Professional (Introduction) /
Имеется следующий код на OpenMP double a = 10.0; #pragma omp parallel private(a) { ... } Можно ли средствами OpenMP сделать так, чтобы локальные копии переменной а в каждом потоке имели то же значение, что и исходная переменная a?
Имеется следующий код на OpenMP
double a = 10.0;
#pragma omp parallel private(a)
{
...
}
Можно ли средствами OpenMP сделать так, чтобы локальные копии переменной а в каждом потоке имели то же значение, что и исходная переменная a
?
вопрос
Правильный ответ:
да, это будет сделано автоматически
да, нужно заменить параметр private на параметр
firstprivate
нет, такого способа не существует
Сложность вопроса
23
Сложность курса: Intel Parallel Programming Professional (Introduction)
54
Оценить вопрос
Комментарии:
Аноним
Это очень простой тест по интуиту.
23 ноя 2018
Аноним
Зачёт сдал. Мчусь кутить отмечать халяву с тестами интуит
21 сен 2017
Другие ответы на вопросы из темы программирование интуит.
- # В каких случаях возможно возникновение гонок (races) при использовании несколькими потоками одного объекта данных?
- # Рассмотрим задачу использования кольцевого буфера (задача "поставщик-потребитель"). Функции AddItemToBuffer и RemoveItemFromBuffer модифицируют структуру данных, разделяемую поставщиком и потребителем, и не используют синхронизацию. Предположим, что программа может выполняться как на однопроцессорных, так и на многопроцессорных системах, и одновременно могут выполняться несколько потоков-поставщиков и потоков-потребителей. Укажите, является ли решение корректным (всегда работает), или (2) некорректным (никогда не работает), или (3) опасным (в одних случаях работает, в других – нет). Semaphore Empty = N; // Буфер содержит N записейFull = 0;() { Empty.P(); AddItemToBuffer(); Full.V(); }() { Full.P(); RemoveItemFromBuffer(); Empty.V(); }
- # Пусть написана следующая параллельная программа: int sum = 0; #pragma omp parallel for for(int i = 0; i < 100; i++) sum++; Какие проблемы могут наблюдаться при выполнении параллельной программы?
- # Пусть написана следующая параллельная программа: omp_set_num_threads(4)(“%d”, omp_get_num_threads()); #pragma omp parallel { … } Что выдаст программа на экран?
- # Реализуйте метод Гаусса без выбора ведущего элемента. Экспериментально оцените погрешность. Сравните полученную погрешность с погрешностью, которая получается при выборе ведущего элемента по столбцу и по строке.