От C++ к Rust: Ускоряем визуализацию данных с помощью «бесстрашной» конкурентности
Тезисы
Когда популярные алгоритмы вроде UMAP и t-SNE не справляются со скоростью обработки больших датасетов, на сцену выходит NCVis — многообещающая альтернатива с одной проблемой: её эталонная реализация написана на C++ с непрозрачным параллелизмом через OpenMP.

В докладе речь пойдёт о полном переосмыслении этого алгоритма на Rust: от чтения научной статьи до создания production-ready библиотеки, которая работает быстрее оригинала. Вы узнаете, как осознанное использование unsafe в lock-free стратегии помогло добиться лучшего масштабирования, чем в C++, и почему явное управление конкурентностью в Rust оказалось ключом к архитектурным улучшениям. В финале — взгляд в будущее: как фреймворк CubeCL может вывести алгоритм на уровень GPU-ускорения и какие архитектурные вызовы стоят на этом пути.
Когда популярные алгоритмы вроде UMAP и t-SNE не справляются со скоростью обработки больших датасетов, на сцену выходит NCVis — многообещающая альтернатива с одной проблемой: её эталонная реализация написана на C++ с непрозрачным параллелизмом через OpenMP.

В докладе речь пойдёт о полном переосмыслении этого алгоритма на Rust: от чтения научной статьи до создания production-ready библиотеки, которая работает быстрее оригинала. Вы узнаете, как осознанное использование unsafe в lock-free стратегии помогло добиться лучшего масштабирования, чем в C++, и почему явное управление конкурентностью в Rust оказалось ключом к архитектурным улучшениям. В финале — взгляд в будущее: как фреймворк CubeCL может вывести алгоритм на уровень GPU-ускорения и какие архитектурные вызовы стоят на этом пути.
Информация о спикере
Денис Залетаев
ML Lead, Когнито
  • Денис Залетаев
    ML Lead, Когнито
Все доклады