Содержание
- 2. Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ Содержание Трудно обнаруживаемые ошибки типа
- 3. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ Результат
- 4. Ошибка возникает при одновременном выполнении следующих условий: Две или более нитей обращаются к одной и той
- 5. Использование различных компиляторов (различных опций оптимизации, включение/отключение режима отладки при компиляции программы), применение различных стратегий планирования
- 6. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define
- 7. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define
- 8. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ file1.c
- 9. Директива threadprivate threadprivate – переменные сохраняют глобальную область видимости внутри каждой нити #pragma omp threadprivate (Var)
- 10. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ file1.c
- 11. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define
- 12. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define
- 13. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define
- 14. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ void
- 15. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ void
- 16. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ void
- 17. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ void
- 18. Распределение циклов с зависимостью по данным. Организация конвейерного выполнения цикла. for(int i = 1; i for(int
- 19. Распределение циклов с зависимостью по данным. Организация конвейерного выполнения цикла. Технология параллельного программирования OpenMP : Функциональная
- 20. 001 Модель памяти в OpenMP Нить Кэш общих переменных Общая память Private-переменные Threadprivate-переменные 001 Нить Кэш
- 21. 001 Нить 0 Общая память 001 Нить 1 static int i = 0; … = i
- 22. Консистентность памяти в OpenMP Корректная последовательность работы нитей с переменной: Нить0 записывает значение переменной - write(var)
- 23. Распределение циклов с зависимостью по данным. Организация конвейерного выполнения цикла. Технология параллельного программирования OpenMP : Функциональная
- 24. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define
- 25. Конфликт доступа к данным Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define
- 26. Взаимная блокировка нитей Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define N
- 27. Семафоры в OpenMP Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #include #define
- 28. Семафоры в OpenMP Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #include #define
- 29. Взаимная блокировка нитей Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #pragma omp
- 30. Взаимная блокировка нитей Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #pragma omp
- 31. Неинициализированные переменные Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define N 100
- 32. Неинициализированные переменные Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ #define N 100
- 33. Неинициализированные переменные Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ int tmp =
- 34. Неинициализированные переменные Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ static int counter;
- 35. Неинициализированные переменные Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ static int counter;
- 36. Автоматизированный поиск ошибок. Intel Thread Checker (Intel Parallel Inspector) Москва, 2012 г. Технология параллельного программирования OpenMP
- 37. Автоматизированный поиск ошибок. Intel Thread Checker Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка
- 38. Пакет тестов SPLASH-2 (Stanford Parallel Applications for Shared Memory) на 4-х ядерной машине Москва, 2012 г.
- 39. Автоматизированный поиск ошибок. Sun Thread Analyzer Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка
- 40. Автоматизированный поиск ошибок. Sun Thread Analyzer Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка
- 41. Intel Thread Checker и Sun Thread Analyzer Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная
- 47. Спасибо за внимание! Вопросы? Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ
- 48. Отладка эффективности OpenMP-программ. Следующая тема Москва, 2012 г. Технология параллельного программирования OpenMP : Функциональная отладка OpenMP-программ
- 50. Скачать презентацию