Яндекс.Метрика
    Поиск по тегу

    parallel programming


    Найдено: 1 запись

    Песочница

    Ускоряем OpenMP в Visual C++ 2010

    Одним из популярных и дешёвых средств реализации многопоточных вычислений на языке C++ является OpenMP.

    Достоинства технологии очевидны: простота; малые, и легко отключаемые изменения в коде; поддержка от авторов самых популярных компиляторов:
    • Visual C++
    • GCC 4.2
    • Intel C++ Compiler
    Проверка боем проходит успешно, и вот распараллеленный код проникает в самые укромные уголки проекта, бьёт все рекорды производительности, выдавая шикарную статистику, подтверждающую успешность релиза.

    Проходит пара лет, вы успешно мигрируете на Visual Studio 2010,… и обнаруживаете себя сидящим в луже. Если вчера обработка большого массива данных на машинах с многоядерными процессорами проходила за считанные секунды, то сегодня наличие любого фонового приложения, занимающего собственными вычислениями одно или несколько ядер, практически вешает приложение.

    Почему так происходит, и как с этим бороться?