Наши первоначальные результаты превзошли наши самые оптимистичные ожидания. В качестве теста мы выбрали вычислительную задачу, которая, по нашим оценкам, требует около 900 часов времени с использованием ЦП серверного класса, или около 13, 000 часов ядра процессора. Мы обнаружили, что это можно сделать всего за 8 часов на одном графическом процессоре NVIDIA Tesla V100, или около 30 минут при использовании 16 графических процессоров, что могло бы сократить время выполнения анализа на несколько порядков. NVIDIA RTX 2080TI класса рабочей станции справится примерно за 12 часов ».
Игорь Сфилигой, Ведущий разработчик научного программного обеспечения SDSC для высокопроизводительных вычислений.
"Новый исполняемый файл также будет иметь огромное значение для исследовательской работы, поскольку набор данных EMP среднего размера, который раньше требовал 13 часов на ЦП серверного класса, теперь можно запустить чуть более чем за час на ноутбуке с мобильным графическим процессором NVIDIA GTX 1050, "добавил Сфилигой.
Сфилигой сотрудничал с Робом Найтом, директор-основатель Центра инноваций микробиома, и профессор педиатрии, Биоинженерия и информатика и инженерия в университете, и Дэниел Макдональд, научный руководитель Американского проекта кишечника. Микробиомы - это комбинированный генетический материал микроорганизмов в определенной среде, включая человеческое тело.
"Изначально эта работа не начиналась в рамках реагирования на COVID-19, - сказал Сфилигой. - Мы начали обсуждение такого ускорения задолго до этого, но UniFrac является неотъемлемой частью исследовательской программы COVID-19 ».
UniFrac сравнивает микробиомы друг с другом, используя дерево эволюции, которое связывает последовательности ДНК друг с другом. "UniFrac сыграл ключевую роль в проекте" Микробиом человека ", позволяя нам понять, как микробы связаны в наших телах, и в проекте "Микробиом Земли", позволяя нам понять, как микробы связаны на нашей планете, - сказал Найт. - Мы используем это, чтобы понять, как микробиом человека может сделать его более или менее восприимчивым к COVID-19, и какие микробы в окружающей среде - от медицинских учреждений до сточных вод и брызг океана - делают окружающую среду более или менее благоприятной для SARS-CoV-2, коронавирус, вызывающий COVID-19 ».
Найт отметил, что Сфилигой ускорил последнюю версию алгоритма, опубликовано менее двух лет назад в Методы природы , что само по себе уже представляет собой резкое улучшение скорости по сравнению с предыдущими реализациями.
"Поскольку данные о микробной последовательности растут экспоненциально, от десятков последовательностей до миллиардов, мы должны заново реализовать все алгоритмы, - сказал он. - Этот последний шаг действительно показывает, как оптимизация исследовательской инфраструктуры может значительно сократить время получения результата, сохраняя точность результатов и позволяя задавать совершенно новые масштабы вопросов ».
Конкретно, Sfiligoi использовал OpenACC, управляемый пользователем, модель параллельного программирования на основе директив для переноса существующей реализации Striped UniFrac на графические процессоры, поскольку это позволяет использовать единую кодовую базу для кода CPU и GPU. Дополнительное ускорение было получено за счет тщательного использования местоположения кэша. Также исследовалось использование математики с плавающей точкой низкой точности для эффективного использования графических процессоров потребительского уровня, которые обычно используются в настольных и портативных компьютерах.
UniFrac изначально разрабатывался и всегда реализовывался с использованием математики с более высокой точностью с плавающей запятой, часто называется кодовым путем fp64. Математика с плавающей запятой более высокой точности использовалась для максимальной надежности результатов. После реализации математики с плавающей запятой низкой точности, обычно называется кодовым путем fp32, исследователи наблюдали почти идентичные результаты, но со значительно меньшим временем вычислений.
«Мы увидели трехкратное ускорение пути кода fp32 для игровых графических процессоров, таких как 2080 Ti и мобильный 1050, и мы считаем, что точность должна быть достаточной для подавляющего большинства исследований, "объяснил Сфилигой.
Кроме того, Изменения кода, внесенные для ускорения вычислений на графическом процессоре, также значительно ускорили выполнение ресурсов ЦП. Вышеупомянутая вычислительная задача теперь может быть решена примерно за 200 часов на том же ЦП серверного класса, 4-кратное ускорение, по мнению исследователей.
"Делая вычисления доступными на персональных устройствах с графическим процессором, даже ноутбуки, устраняет большой барьер в ресурсной инфраструктуре для многих ученых, "сказал Сфилигой.