Содержание
- 2. Параллелизм в рамках узла. Многопоточность. https://www.mkurnosov.net/teaching/docs/pct-spring-lec5.pdf
- 3. Системные вызовы. Разделение ресурсов. #include pid_t fork(void); Создание процессах-потомка посредством копирования с разделением ресурсов: Создание потомка
- 4. Разделение ресурсов. Процесс Нативные потоки Легкие потоки, сопрограммы и пр.
- 5. Потоки POSIX. pthread_t — идентификатор потока; pthread_attr_t — перечень атрибутов потока #include int pthread_create(pthread_t *thread, const
- 6. Поддержка многопоточности в современном C++.
- 7. #include #include // N N+1 N+2 ... M void thread_function(int N, int M, int64_t *sum) {
- 8. POSIX mutex pthread_mutex_t int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); int pthread_mutex_destroy(pthread_mutex_t *mutex); int pthread_mutex_lock(pthread_mutex_t *mutex); int
- 9. OpenMP - высокоуровневый API для многопоточного программирования на C, C++ и Fortran OpenMP 1.0 - октябрь
- 10. Как это выглядит? распараллеливание осуществляется с помощью директив компилятора: #pragma omp область действия директивы - блок
- 11. (не)последовательность исполнения в OpenMP
- 12. Наиболее используемый функционал OpenMP Tim Mattson, The OpenMP Common Core: A hands on exploration, Intel Corp.
- 13. Пример 1. Последовательная сумма массива (редукция).
- 14. Пример 2. Редукция с parallel for.
- 15. Пример 3. Редукция с parallel for и критической секцией.
- 16. Пример 4. Редукция с omp parallel for и reduction.
- 17. Сравнение производительности. Закон Амдала. Масштабируемость.
- 18. Домашнее Задание 1. Параллельное умножение матриц (DGEMM) Реализовать параллельную реализацию умножения матриц DGEMM (Double precision General
- 19. Домашнее Задание 1. Замечания. alpha = 1 и beta = 0; элементы A, B и C
- 20. Домашнее Задание 1. Замечания. ДЗ1 должно быть реализовано на языке C; код должен быть оформлен в
- 22. Скачать презентацию