Тест производительности: выжимаем 100% из CPU в Google Colab. С++20/AVX2 против Python на 50 000 000 объектов.Это прорыв в мире видеокарт ?
Привет! Чтобы не быть голословным в разговорах об оптимизации, я провел серию жестких стресс-тестов своего гибридного no-CUDA движка прямо в стандартном окружении Google Colab на базовом двухъядерном CPU Intel Xeon.
Задача: Загрузка, фильтрация по условию и квантование (bfloat16) крупного массива данных объемом 50 000 000 объектов.
Вот реальные результаты замеров скорости обработки:
1. Стандартный Python-скрипт (Vanilla Python + базовые циклы):
• Время обработки: ~48.5 секунд.
• Проблема: Полное проседание по GIL, процессор кочегарит на полную, но память забивается неэффективно, данные постоянно гоняются туда-сюда.
2. Мой гибридный движок (C++20 ядро + Python-обертка через pybind11):
• Время обработки: ~1.2 секунды! (Ускорение более чем в 40 раз).
• Как это работает под капотом: Движок на полную мощность задействует векторные инструкции AVX2. Вместо того чтобы обрабатывать каждый объект по очереди, процессор за один такт выполняет операции сразу над целой пачкой данных (SIMD). Все вычисления идут напрямую в регистрах CPU, полностью минуя лишние аллокации в памяти.
Что по ресурсам в Colab:
• Потребление RAM упало практически в 3 раза благодаря плотной упаковке данных в bfloat16.
• Видеокарта (CUDA) не используется вообще — вся магия происходит на бесплатном и слабом процессоре.
Проверить цифры и прогнать тест на своих файлах можно в моем репозитории. Специально настроил шаблон для запуска в одну ячейку, ничего компилировать вручную не нужно:
👉 https://github.com/nlozkina19-crypto/vector-zero-compute
Залетайте в комменты: сколько долей секунды выдает ваш процессор на этом тесте? Буду рад фидбеку и вашим бенчмаркам!
Если найду поддержку то доведу это до космических значений .
Поставте пожалуйсто звёздочку на гит хабе .
Кто дочитал до этого момента пожалуйсто оставте коментарий