В современной индустрии высокопроизводительных вычислений и искусственного интеллекта растущая потребность в быстрой и надежной коммуникации между графическими процессорами (GPU) становится одной из ключевых технологических задач. Сложные модели машинного обучения требуют масштабных распределенных вычислений, где эффективный обмен данными между GPU становится решающим фактором для производительности. В этом контексте UCCL (Ultra and Unified Collective Communication Library) служит высоким стандартом и инновационным подходом в области программных транспортных слоев для GPU-сетей. Эта библиотека знаменует собой новый этап в развитии средств связи для вычислительных систем, предоставляя расширяемые и универсальные возможности для обработки коллективных операций, точка-точка (P2P) передачи и обмена напрямую с помощью аппаратных средств, таких как RDMA и различные NIC (сетевые интерфейсные карты). UCCL разработан с фокусом на максимальную производительность, гибкость и портативность, что позволяет адаптироваться к быстро меняющимся требованиям современных ML-ворклоадов и разнородных аппаратных платформ.
Одним из ключевых компонентов этой технологии является UCCL-collective, который выступает как прямой заменитель NCCL и RCCL — стандартных библиотек для коллективных GPU операций. Это решение гарантирует совместимость с существующими приложениями без необходимости внесения изменений в код, обеспечивая при этом превосходные показатели как по задержкам, так и по пропускной способности. Сравнительный анализ показал устойчивое преимущество UCCL-collective в самых различных сценариях, что подтверждает его пригодность для обработки требовательных задач в масштабируемых вычислительных кластерах. Помимо коллективных операций, UCCL предлагает специализированные P2P интерфейсы – классический NCCL-стиль, а также инновационные NIXL-подобные API с инициаторно-целевыми трансферами. Такая архитектура позволяет эффективно использовать возможности новых сетевых технологий, включая 800 Гбит/с NIC с многопоточным движком передачи данных, что особенно актуально в эпоху широкого внедрения сверхскоростных сетей для межсоединения вычислителей в центрах обработки данных.
Важным аспектом является и UCCL-EP, который обеспечивает запуск DeepEP (Deep Execution Protocol) поверх различных аппаратных средств, в том числе AMD и Nvidia GPU, а также через RDMA NIC, включая AWS EFA и Broadcom. Одна из основных целей – снять нагрузку с вычислительных модулей GPU (Streaming Multiprocessors), делая DeepEP независимым от их ресурсов и оптимизируя общую производительность. Разработчики UCCL уделяют особое внимание совместимости с множеством различных сетевых адаптеров и платформ, включая как популярные решения от Nvidia и AMD, так и специализированные AWS EFA NIC и Broadcom. Такая универсальность обеспечивает гибкость внедрения в самых разных средах – от облачных дата-центров до научных суперкомпьютеров. Функциональность UCCL постоянно расширяется – в планах значится разработка более эффективных двигателей передачи KV-кэша, внедрение GPU-инициируемых P2P операций без использования потоковых мультипроцессоров, поддержка всех ведущих производителей NIC, масштабируемые и эффективные CPU-прокси, а также интеграция с языками программирования высокого уровня, например Triton, для написания платформенно-независимых ядер.
Важным преимуществом этого решения является активная открытая разработка и поддержка ведущих лабораторий и компаний, среди которых UC Berkeley Sky Computing Lab, UC Davis ArtSy lab, AMD, AWS и Google Cloud. Совместные усилия способствуют постоянному улучшению производительности, добавлению новых функций и обеспечению стабильности решения. Для пользователей UCCL очень прост в установке и применении. Процесс сборки учитывает особенности используемой аппаратной платформы и версию Python в окружении, что минимизирует возникающие проблемы и повышает удобство развёртывания. Поддержка как CUDA, так и ROCm, а также интеграция с экосистемой TheRock, расширяют поле применения и делают платформу универсальным инструментом в экосистеме глубокого обучения и HPC.
Ключевой особенностью UCCL является также полная поддержка современных стандартов безопасности и лицензионных требований, включая открытую лицензию Apache-2.0, что способствует широкому распространению и прозрачному развитию. На сегодняшний день UCCL уже успешно используется в нескольких коммерческих и исследовательских проектах, где необходимо быстрое и масштабируемое взаимодействие между GPU. Его возможности позволяют значительно снизить время обратной связи в распределенных алгоритмах, повысить общую пропускную способность вычислительных кластеров и оптимизировать загрузку ресурсов. Таким образом, UCCL представляет собой передовую платформу для объединения графических процессоров в эффективную сеть, способную справляться с самыми амбициозными задачами.
Инновационные методы передачи данных, трансляция аппаратных возможностей в гибкие и удобные для разработчиков API, широкая поддержка аппаратного обеспечения и открытость делают UCCL одним из наиболее перспективных инструментов будущего в области высокопроизводительных вычислений и машинного обучения. Для тех, кто стремится к оптимизации работы с большими моделями ИИ и расширению масштабов инфраструктуры, внедрение UCCL становится стратегическим преимуществом, способным открыть новые горизонты скорости, надежности и эффективности GPU-сетей.