из 26
Содержание
Директива MASTER
Директива CRITICAL
Директива ATOMIC
Семафоры
Директива BARRIER
Директива TASKWAIT
Директива FLUSH
Директива ORDERED
Директива master
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Взаимное исключение критических интервалов
Москва, 2009 г.
Результат зависит от порядка выполнения команд. Требуется взаимное исключение критических интервалов.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Взаимное исключение критических интервалов
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Вычисление числа π. Последовательная программа.
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Вычисление числа π на OpenMP с использованием критической секции
Москва, 2009 г.
#pragma omp critical [(name)]
структурный блок
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Директива critical
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Директива atomic
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Вычисление числа π на OpenMP с использованием директивы atomic
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Семафоры
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Семафоры в OpenMP
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Вычисление числа π на OpenMP с использованием семафоров
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Использование семафоров
Москва, 2009 г.
void skip(int i) {}
void work(int i) {}
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Использование семафоров
Москва, 2009 г.
void incorrect_example(pair *p)
{
#pragma omp parallel sections
{
#pragma omp section
incr_pair(p,1,2);
#pragma omp section
incr_b(p,3);
}
}
Deadlock!
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Использование семафоров
Москва, 2009 г.
void correct_example(pair *p)
{
#pragma omp parallel sections
{
#pragma omp section
incr_pair(p,1,2);
#pragma omp section
incr_b(p,3);
}
}
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Директива barrier
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Директива barrier
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Директива barrier
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Директива barrier
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Директива taskwait
Москва, 2009 г.
int main () {
int res;
#pragma omp parallel
{
#pragma omp single
{
int n;
scanf("%d",&n);
#pragma omp task shared(res)
res = fibonacci(n);
}
}
printf (“Finonacci number = %d\n”, res);
}
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Директива flush
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Контакты
Москва, 2009 г.
Параллельное программирование с OpenMP: Конструкции для синхронизации нитей © Бахтин В.А.
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть