NVIDIA выпустила cuDSS: решение инженерных задач на GPU ускоряется до 10 раз
NVIDIA объявила о полноценном релизе библиотеки cuDSS из набора CUDA-X — она переносит на GPU решение разреженных систем уравнений, лежащее в основе инженерных и научных симуляций. Первые результаты от Applied Materials и ZEISS SMT показывают кратный прирост скорости по сравнению с CPU.

Первоисточник: blogs.nvidia.com
NVIDIA объявила о general availability (GA, то есть о переходе из тестового режима в статус полноценного коммерческого релиза) библиотеки cuDSS — ещё одного компонента набора CUDA-X, который компания развивает для переноса типовых вычислительных задач с CPU на GPU. cuDSS отвечает за решение больших разреженных систем линейных уравнений — этап, который присутствует почти в любой инженерной или научной симуляции и часто становится узким местом всего расчёта.
Что такое разреженные системы и почему их решение — проблема
Разреженная система — это набор уравнений, в матрице которой подавляющее большинство коэффициентов равно нулю. Такие системы возникают, когда физическую модель — деталь конструкции, микросхему, поток жидкости — разбивают на множество мелких элементов методом конечных элементов или аналогичными подходами: каждый элемент взаимодействует лишь с ближайшими соседями, а не со всеми остальными сразу. По данным NVIDIA, именно решение этих систем — самый тяжёлый по вычислениям и при этом повторяющийся шаг в инженерных и научных симуляциях, и он нередко ограничивает, сколько вариантов проекта инженеры успевают проверить за разумное время.
cuDSS, по описанию компании, переносит этот этап на GPU и должен сокращать время получения результата, увеличивать пропускную способность расчётов и позволять работать с более крупными и детализированными моделями при тех же затратах. Это заявления производителя: независимой проверки методики измерений источник не приводит.
Ускорение до 10 раз у Applied Materials и 4 раза у ZEISS SMT
Applied Materials применяет cuDSS в платформе Ginestra — системе физически обоснованного моделирования, которая, в частности, используется для анализа дефектов в полупроводниковых материалах. По сообщению NVIDIA, решение разреженных систем в Ginestra на GPU ускорилось до 10 раз по сравнению с расчётами только на CPU, что должно ускорить исследование материалов и оценку надёжности устройств.
ZEISS SMT тестировала cuDSS в COMSOL Multiphysics — пакете инженерного моделирования — на задаче симуляции плазмы для EUV-литографии. В этом бенчмарке компания получила измеренное ускорение в 4 раза на ускорителях NVIDIA; полный расчёт при этом занял шесть дней и 14 часов.
Кто ещё интегрирует cuDSS
В список компаний, подключивших библиотеку к своим инструментам, NVIDIA включает ещё нескольких крупных поставщиков инженерного ПО:
- Cadence использует cuDSS в программе Celsius для расчётов нагрева, механических напряжений и деформаций в сложных чипах и 3D-сборках; по словам NVIDIA, клиенты Cadence — например, Nokia — благодаря этому быстрее анализируют сложные проекты
- Dassault Systèmes сообщает об ускорении в 8–10 раз в решателях Abaqus при структурных и электромагнитных расчётах
- Siemens применяет cuDSS в Simcenter STAR-CCM+ для ускорения расчётов конструкций в задачах взаимодействия жидкости и твёрдого тела
- Synopsys задействует библиотеку в симуляторе Sentaurus Device для ускорения моделирования современных логических чипов, чипов памяти и силовых чипов — в частности, это помогает Infineon быстрее моделировать сложные устройства
Как подключить cuDSS
Разработчики могут встроить cuDSS в собственные инженерные и научные приложения через интерфейсы на C, C++, Python и Fortran. По описанию NVIDIA, библиотека масштабируется «из коробки»: один и тот же код можно запускать как на отдельной рабочей станции, так и на крупном вычислительном кластере.