Распараллеливание вычислений

Распараллеливание вычислений
Главная Услуги

Компания «Т-Платформы», ведущий российский разработчик и производитель высокопроизводительных решений, предлагает своим клиентам дополнительные услуги, направленные на ускорение работы приложений при использовании суперкомпьютеров.

В настоящее время во многих высокопроизводительных вычислительных системах используются ускорители NVIDIA Tesla на базе графических чипов GF1x0. Системы компании «Т-Платформы» TB2-TL, T-Blade V 20хF и T-Mini P205F также поддерживают один или два ускорителя на каждый вычислительный узел, и это не просто дань моде или номинальная попытка увеличить пиковую производительность систем. Данные ускорители способны гораздо эффективнее производить вычисления с двойной точностью по сравнению со стандартными микропроцессорами x86 общего назначения. Однако существующие приложения зачастую не используют весь потенциал вычислительной системы, в целом, и ускорителей, в частности.

Компания «Т-Платформы» предлагает услуги по портированию и оптимизации приложений на массово-параллельные гетерогенные платформы на базе традиционных процессоров и графических ускорителей NVIDIA.

Поддержка технологий программирования CUDA или OpenCL позволяет распараллеливать вычисления и, благодаря использованию 512 или 1024 вычислительных ядер NVIDIA GF1x0 на каждом узле, добиваться существенного прироста производительности решения.

Адаптация существующих приложений под GPU

Компания «Т-Платформы» предлагает портирование приложений клиента на современные вычислительные платформы с гибридной архитектурой на базе графических процессоров.

Вычислительные кластеры на базе гибридной архитектуры появились на рынке относительно недавно. Они позволяют существенно сократить время решения наиболее ресурсоемких вычислительных задач и обладают рядом других преимуществ. Однако в настоящее время далеко не все прикладные пакеты, разработанные для систем на базе архитектур х86, способны использовать потенциал таких решений в полном объеме. Специалисты «Т-Платформы» обладают богатым опытом портирования и оптимизации различных научно-исследовательских приложений и программ суперкомпьютерного моделирования для работы в гибридных системах. Это позволяет с минимальными затратами адаптировать программный код уже действующих приложений, обеспечив таким образом наиболее эффективное использование ресурсов графической подсистемы кластера.

Оптимизация существующих CUDA/OpenCL-программ

Оптимизация кода GPGPU-приложений позволяет многократно повысить скорость их работы на гибридных системах и сократить время решения вычислительных задач.

При портировании приложений на гибридные вычислительные комплексы зачастую применяются алгоритмы, характерные для традиционных систем, построенных на базе архитектур х86. В результате ресурсы графической подсистемы комплекса используются неполностью либо неэффективно, и скорость работы GPGPU-приложений возрастает незначительно. Это увеличивает сроки возврата инвестиций и компрометирует саму идею применения гибридных систем. Компания «Т-Платформы» предлагает адаптацию кода таких приложений для максимального использования возможностей современных графических ускорителей. Оптимизация доступа приложений к различным классам памяти ускорителя и использование расширенных возможностей технологий CUDA/OpenCL (асинхронного копирования данных, динамического выделения разделяемой памяти, отображения системной памяти в адресное пространство ускорителя и иных «тонкостей») на порядок увеличивают скорость работы портированных приложений. Помимо этого возможна адаптация программного пакета к особенностям архитектуры конкретной вычислительной системы для повышения скорости его работы еще на 20-50%.

Разработка CUDA- и OpenCL- программ

При отсутствии необходимого прикладного ПО специалисты «Т-Платформы» разработают его «с нуля» с учетом специфики стоящих перед клиентом задач и всех особенностей его вычислительной системы.

Нередко возникают ситуации, когда необходимое прикладное ПО отсутствует или не поддерживает гибридные архитектуры вычислительных комплексов, а его портирование с традиционных систем невозможно или экономически нецелесообразно. В таких случаях предлагается разработка нового программного решения, наиболее полно отвечающего задачам клиента и использующего возможности графической подсистемы кластера. Специалисты департамента программного обеспечения компании «Т-Платформы» разрабатывают прикладное ПО «с нуля», ориентируясь на стоящие перед клиентом задачи и особенности архитектуры применяемого для их решения вычислительного кластера.

Консультационная поддержка

Аудит программного обеспечения и разработанные на его основе рекомендации позволяют создать технологически и экономически эффективную стратегию внедрения гибридных вычислительных комплексов в бизнес-процессы клиента.

Прирост производительности различных приложений при их портировании на вычислительные платформы с гибридной архитектурой не одинаков и варьируется от единиц до сотен раз. Методики компании «Т-Платформы» позволяют с достаточной точностью определить потенциальный экономический и практический эффект от портирования конкретного приложения. В результате будет выбрана оптимальная стратегия портирования, которая позволит перенести в новую среду лишь те программные компоненты, скорость работы которых на гибридных вычислительных системах возрастет наиболее существенно.

Помощь в отображении алгоритма на архитектуру GPU

Формализация алгоритма, выполняемая специалистами «Т-Платформы», сокращает временные и финансовые затраты при портировании приложения на гибридные системы.

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

Решение технических проблем, связанных с использованием NVIDIA CUDA и OpenCL

Сложность современных инструментов разработки приложений для гибридных вычислительных систем предъявляет особые требования к квалификации системных архитекторов и программистов. Инженеры «Т-Платформы» помогут решить проблемы, связанные с написанием программ, наиболее эффективно использующих все ресурсы кластеров.

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

Решение проблем интеграции существующего ПО с новыми технологиями

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

Причинами некорректной работы программного обеспечения, портируемого на вычислительные комплексы с гибридной архитектурой, может стать несовместимость с ней исходного кода библиотек сторонних разработчиков. При этом причины ошибок, возникающих в процессе работы программы, оказываются очевидны далеко не всегда. Адаптация программного кода унаследованных на уровне библиотек приложений, выполненная специалистами «Т-Платформы», позволяет гибко интегрировать их в системы на базе гибридной архитектуры. Таким образом, сокращаются сроки портирования приложения, гарантируется максимальная скорость и стабильность его работы в новой вычислительной среде.

Системные утилиты для упрощения программирования под CUDA и OpenCL

Системные утилиты, объединенные в библиотеку ttgLib, обеспечивают максимальную скорость работы приложений клиента на любых вычислительных платформах.

Прикладное ПО, разработанное для решения определенных задач на базе высокопроизводительных вычислительных комплексов, обеспечивает неоднородную производительность различных расчетных модулей. Для обеспечения максимальной скорости решения всех задач таким приложениям необходима оптимизация, реализованная с учетом специфики исходных данных, числа потоковых процессоров и пропускной способности памяти. Библиотека ttgLib, разработанная компанией ttgLabs, партнером «Т-Платформы», производит динамическую адаптацию программ в процессе их работы с учетом специфики используемого оборудования и исходных данных. Благодаря этому достигается максимальная скорость работы расчетных модулей во всех режимах, а также оптимизируется доступ приложения к памяти.