Отчет о PAPA: помощник по параллельному программированию от IBM сочинение пример

ООО "Сочинения-Про"

Ежедневно 8:00–20:00

Санкт-Петербург

Ленинский проспект, 140Ж

magbo system

Сочинение на тему Отчет о PAPA: помощник по параллельному программированию от IBM

В то время как современные системы параллельных вычислений обеспечивают высокопроизводительные ресурсы, их использование в высшей степени требует передового опыта программирования. Программирование для параллельных вычислительных систем намного сложнее, чем программирование для последовательных систем. OpenMP является расширением языка программирования C ++, который позволяет выражать параллелизм с помощью директив компилятора. Хотя OpenMP облегчает параллельное программирование, сокращая количество строк кода, которые должен писать программист, решать, как и когда использовать эти директивы компилятора, решать программисту. Когнитивные вычисления показали впечатляющие результаты в различных областях, таких как здравоохранение или маркетинг. В этой статье мы опишем использование когнитивной системы IBM Watson для обучения начинающих параллельных программистов. Используя сервис диалога IBM Watson, мы разработали решение, которое помогает программисту избегать распространенных ошибок OpenMP. Чтобы оценить подход, мы провели опрос с несколькими начинающими параллельными программистами в университете Линнея и получили обнадеживающие результаты в отношении полезности этого подхода.

Введение

Современные параллельные вычислительные системы предоставляют возможность быстрее решать сложные вычислительные и инженерные задачи. Программирование для параллельных вычислительных систем намного сложнее, чем программирование для последовательных процессоров, потому что оно требует знания базовой параллельной архитектуры и библиотек моделей программирования (которые часто зависят от устройства) и учета большого количества специфических параметров конфигурации устройства (таких как , количество ядер, скорость ядра, уровень иерархии памяти, кэш, система времени выполнения и т. д.).

Что такое параллельные вычисления?

В простейшем смысле параллельные вычисления – это одновременное использование нескольких вычислительных ресурсов для решения вычислительной задачи:

     

  • Проблема разбита на отдельные части, которые могут быть решены одновременно
  •  

  • Каждая часть разбита на серию инструкций
  •  

  • Инструкции из каждой части выполняются одновременно на разных процессорах
  •  

  • Используется общий механизм контроля / координации.
  •  

  • Вычислительная проблема должна быть в состоянии:

  •  

  • разбить на отдельные части работы, которые могут быть решены одновременно;

 

  • Выполнять несколько программных инструкций в любой момент времени;
  •  

  • Решаться за меньшее время с несколькими вычислительными ресурсами, чем с одним вычислительным ресурсом.
  • Когнитивные системы находятся на грани становления вехой из-за их способности обрабатывать обработку естественного языка (NLP). Это обеспечивает совершенно новый уровень взаимодействия между людьми и вычислительными системами, что может помочь людям принимать более правильные решения. IBM Watson – это когнитивная система, использующая естественный язык для получения и ответа на вопросы.

    Исследователи разработали приложение на основе сервисов IBM Watson, которое позволяет взаимодействовать с программистами на основе диалога во время разработки программ для параллельного программирования.

    Дизайн

    Наше приложение основано на службе IBM Watson Dialog, которая обеспечивает средства связи между пользователем и системой посредством обработки естественного языка с целью избежать распространенных ошибок OpenMP (Open Multi-Processing). OpenMP (Open Multi-Processing) – это интерфейс прикладных программ (API), который содержит набор директив компилятора, переменных и библиотечных функций для программирования параллельных вычислительных систем. OpenMP реализован как расширение языка C, C ++ и Fortran для параллельных вычислительных систем с общей памятью, а последние версии OpenMP также поддерживают гетерогенные вычислительные системы. Пользователи взаимодействуют с нашим приложением, используя интерфейс, который позволяет им писать вопросы в текстовом виде. Пользователь, который предположительно будет параллельным программистом, будет использовать интерфейс, чтобы задать вопрос, связанный с параллельным программированием. Интерфейс отправляет пользовательский ввод в наше приложение, которое подключено к Watson Dialog Service. Служба диалогов анализирует вопросы и собирает информацию, необходимую для предоставления наиболее подходящего ответа для пользователя. Чтобы расширить функциональность нашего приложения, можно подключить приложение к дополнительным услугам, таким как услуги преобразования речи в текст. Приложение подключено к серверной системе, которая отвечает за отображение ответа на вопрос пользователю. На данный момент, приложение имеет ответ для пользователя. Существует два сценария: (1) вопрос был понят и приложение дает правильный ответ пользователю, и (2) вопрос не был понят и сообщение по умолчанию, говорящее «Извините; Я не понял твоего вопроса. Пожалуйста, попробуйте другой вопрос. »Предоставляется пользователю.

    Служба диалога предоставляет средства для связи между компьютерами и пользователями в режиме вопросов и ответов через естественный язык. Чтобы воспользоваться этой услугой, сначала должны быть собраны и подготовлены данные об обучении экспертом. Собранные данные должны быть переведены в диалоговые модели, которые являются частью процесса проектирования диалогового потока. Например, распространенная ошибка OpenMP, когда программисты переопределяют количество потоков в параллельном цикле, будет переведена в диалоговом режиме, где ввод будет выглядеть так: Могу ли я изменить переменную внутри цикла pragma omp? Push live для пользователей позволяет подключать службу диалога с пользовательским интерфейсом и отслеживать разговоры. Последний компонент позволяет динамически учиться на реальных взаимодействиях, настраивая существующий контент и добавляя новый, основываясь на активности пользователя.

    Оценка

    Чтобы оценить полезность нашего подхода, IBM провела анонимный опрос в кампусе Университета Линнея. Целью данного опроса является изучение того, помогут ли такие интерактивные инструменты начинающим программистам решать проблемы параллельного программирования, а также определить пути улучшения нашего инструмента. Чтобы измерить качество работы нашего инструмента, мы использовали систему шкал Лайкерта, чтобы респонденты могли оценить качество нашего инструмента, где участники могли выбирать ответы от одной до 5 звезд, где одна звезда означает «Полностью не согласен», две звезды – «Отчасти» Не согласен, Три звезды означают Ни согласен, ни не согласен, Четыре звезды означают В некоторой степени согласны, а Пять звезд означают Полностью согласен. Результаты опроса изображены на рисунке. Ось X указывает звезды, тогда как ось Y показывает набранные баллы, так что если вопрос 4 получил 3 балла за 5 звезд, это означает, что 3 участника полностью согласились с тем, что было бы полезно улучшить наш инструмент с возможностью извлечения документов. как ответ. Мы можем наблюдать, что большинство вопросов получили более трех звезд. Например, когда его спросили, является ли наш инструмент более полезным, чем использование поисковых систем или бумажных ресурсов, 3 участника не согласились или не согласились, три других участника согласились в некоторой степени, и четверо из них полностью согласились. Когда спрошено, были ли ответы, полученные из нашего инструмента, точными, один из участников был в некоторой степени не согласен, два участника были нейтральными, два участника согласились в некоторой степени, и три из них полностью согласились. Шесть участников полностью согласились, один согласился в некоторой степени, а другой – в какой-то степени не согласился с тем, что наш инструмент полезен, поскольку он может отвечать на вопросы, заданные на разных языках. Два участника были в какой-то степени не согласны, а двое других – в некоторой степени, другой был нейтральным, а три других полностью согласились с тем, что расширение нашего инструмента возможностью извлечения бумаги в качестве ответа будет полезным.

    Результаты показывают, что приложение будет успешным среди студентов, поскольку они хотели бы иметь приложение, которое может помочь им в параллельном программировании с использованием естественного языка. В первом вопросе 87,5% от общего балла соответствует 4 звездам или более, что означает, что респонденты полностью согласны с полезностью приложения. Во втором вопросе 62,5% от общего балла соответствует 4 или более звездочек, что означает, что респонденты полностью согласны с полезностью приложения. В третьем вопросе 87. 5% от общего числа участников оценили наличие многоязычной поддержки в этом приложении. В последнем вопросе 62,5% пользователей считают, что расширение нашего инструмента возможностью извлекать документы в качестве ответов полезно.

    Заключение

    Когнитивные системы, такие как IBM Watson, могут учиться с помощью пользовательского ввода и обучаться у экспертов. Приложение, использующее эту технологию, может стать вехой в той области, в которой оно используется, из-за того, что сообщество может быть создано для улучшения приложений, обмена новыми идеями и обнаружения функций, о которых раньше никто не думал. Полезность таких систем была продемонстрирована в различных областях, таких как здравоохранение, где врачи могут лучше лечить своих пациентов благодаря предыдущему опыту с распространенными заболеваниями. Исследователи использовали диалоговую службу IBM Watson для обеспечения взаимодействия между пользователем и системой диалоговым способом с использованием естественного языка. Наше приложение обучено отвечать на вопросы, связанные с распространенными ошибками, которые совершают начинающие программисты при использовании OpenMP, что помогает им избежать таких ошибок, пишет код, который дает правильный результат и работает быстрее. Кроме того, такие системы могут сократить временные затраты, необходимые для изучения параллельного программирования. Так как Watson может учиться на собранном пользователями вводе, приложение может быть улучшено по мере его использования. Предлагаемый инструмент может ответить на вопросы, которые может задать пользователь, но он не будет ни генерировать код, ни обнаруживать ошибки кода. Дальнейшие исследования будут направлены на расширение нашего решения дополнительными сервисами IBM Watson, которые обеспечивают автоматический ввод данных из существующих источников знаний в области параллельного программирования.

    Зарегистрируйся, чтобы продолжить изучение работы

      Поделиться сочинением
      Ещё сочинения
      Нет времени делать работу? Закажите!

      Отправляя форму, вы соглашаетесь с политикой конфиденциальности и обработкой ваших персональных данных.