Статьи

  • 32 подводных камня OpenMP при программировании на Си++

    20.11.2009
    С распространением многоядерных систем задача параллельного программирования становится все более и более актуальной. Данная область, однако, является новой даже для большинства опытных программистов. Существующие компиляторы и анализаторы кода позволяют находить некоторые ошибки, возникающие при разработке параллельного кода. Многие ошибки никак не диагностируются. В данной статье приводится описание ряда ошибок, приводящих к некорректному поведению параллельных программ, созданных на основе технологии OpenMP. Читать
  • Что такое "Parallel Lint"?

    08.06.2009
    Статья рассказывает о новом направлении в развитии статических анализаторов кода - верификации параллельных программ. В статье рассказывается о нескольких статических анализаторах, которые могут претендовать на звание "Parallel Lint". Читать
  • Технология OpenMP

    20.11.2009
    Статья содержит краткое описание технологии OpenMP. Читать

  • OpenMP и статический анализ кода

    20.11.2009
    В статье рассмотрены принципы, положенные в основу реализации статического анализатора кода VivaMP. Приведенный в статье набор логических условий проверки позволяет диагностировать ряд ошибок в параллельных программах, созданных на основе технологии OpenMP. Читать
  • Отладка и оптимизация многопоточных OpenMP-программ

    20.11.2009
    Задача знакомства программистов с областью разработки параллельных приложений становится все актуальней. Данная статья является кратким введением в создание многопоточных приложений, основанных на технологии OpenMP. Описаны подходы к отладке и оптимизации параллельных приложений. Читать
  • Неудачная попытка сравнить PVS-Studio (VivaMP) и Intel C/C++ ("Parallel Lint")

    07.10.2009
    Изначально статья должна была носить название "Сравнение диагностических возможностей PVS-Studio (VivaMP) и Intel C/C++ Compiler ("Parallel Lint"). Отсутствие на данный момент достаточного количества информации о "Parallel Lint" ограничило возможности автора, и статья представляет собой предварительный вариант сравнения. Полный вариант статьи с корректным сравнением будет доступен читателю в будущем. Обратите внимание, что содержание статьи актуально на момент публикации. В дальнейшем возможно изменение диагностических возможностей обоих продуктов. Читать
  • Многопроцессорным компьютерам - параллельные программы!

    04.02.2009
    Не хватает, скажем, человеку рук - он создает себе дубля, безмозглого, безответственного, только и умеющего что паять контакты, или таскать тяжести, или писать под диктовку, но зато уж умеющего это делать хорошо.. Читать
  • Тестирование параллельных программ

    02.11.2008
    Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии. Читать
  • Это сложно

    05.07.2008
    В статье рассматривается проблема превышения сроков создания программ, как результат самообмана, что программирование это просто, и даже еще проще. Читать
  • Применение технологии статического анализа кода при разработке параллельных программ

    16.02.2008
    В статье рассматривается вопрос применения статических анализаторов кода в современных процессах разработки параллельных программ. Появившись в 70-80-х годах как дополнение к компиляторам, статические анализаторы перестали пользоваться популярностью у разработчиков в 90-х годах. Вероятно, причиной этого стало повышение качества диагностики ошибок компиляторами. Однако, в 2000-х годах интерес к статическим анализаторам кода вновь начал расти. Это объясняется тем, что были созданы новые статические анализаторы кода, которые начали выявлять достаточно сложные ошибки в программах. Если статические анализаторы прошлого позволяли, например, обнаружить использование неинициализированной переменной, то современные статические анализаторы подходят к тому, чтобы обнаруживать небезопасный доступ к данным из нескольких потоков. Современным направлением развития статических анализаторов стало их применение для диагностики ошибок в параллельных программах. В работе рассмотрены ситуации, в которых применение таких инструментов позволяет существенно упростить создание параллельных программных решений. Читать
  • Введение в проблематику разработки параллельных программ

    21.01.2008
    В связи с тем, что разработка параллельного программного обеспечения на сегодняшний день представляется достаточно сложной задачей, крайнюю актуальность приобретают вопросы теоретической подготовки специалистов и изучение методологии проектирования таких систем. В рамках статьи приведена историческая и техническая информация, подготавливающая программиста к усвоению знаний в области разработки параллельных вычислительных систем. Читать