DEV Labs C++. Как сократить цикл разработки параллельных приложений с помощью инструментов Intel
Разработка новых параллельных программ и распараллеливание существующих последовательных приложений часто осложняется нестабильным поведением кода и тестов и трудновоспроизводимыми дефектами. После того, как время на исправление этих дефектов потрачено и проведена оценка производительности приложения, может оказаться, что выбранный метод распараллеливания не привёл к желаемому ускорению. Причинами этого могут быть отсутствие предварительного анализа производительности последовательной версии программы, неверные допущения относительно размеров параллельных задач или накладных расходов на их создание и коммуникации, помещение слишком больших порций программы в критические секции или отсутствие данных о потенциальной масштабируемости данного параллельного кода. Попытки распараллеливания с постоянными исправлениями неработающего кода без уверенности в будущем росте производительности часто оказываются неэффективными и дорого обходится при написании ПО. В докладе предлагается с помощью инструментов Intel оценивать масштабируемость программы при увеличении числа вычислительных ядер, а также моделировать доступ к общим данным и взаимные блокировки на последовательной версии кода. Такие эксперименты с анализом последовательной версии приложения позволяют быстрее спроектировать корректный и масштабируемый параллельный код и сократить время на его реализацию.
Название:
DEV Labs C++. Как сократить цикл разработки параллельных приложений с помощью инструментов Intel
Категория:
Разное