Описание услуги
Я GPU-разработчик и заставляю тяжёлые численные задачи считаться в разы быстрее, перенося их на видеокарту. Когда симуляция, обработка сигналов или ML-пайплайн часами держит процессор загруженным на сто процентов, я профилирую, куда реально уходит время, перестраиваю горячий участок под тысячи параллельных потоков и переписываю его в виде CUDA-ядер, которые загружают все потоковые мультипроцессоры без простоя. Меня интересует не только корректность, но и пропускная способность: как данные ходят по глобальной, разделяемой и регистровой памяти, насколько когерентны варпы и какую долю теоретической полосы ядро реально выбирает на живом железе.
Большинство проектов начинается с уже существующего CPU-кода, который просто перерос своё время выполнения. Я переношу эту логику на GPU шаг за шагом, сверяя результат с оригиналом на каждом этапе, чтобы числа не поплыли, а затем поднимаю занятость, объединённый доступ к памяти и перекрытие потоков, пока ускорение не станет реальным и измеримым. Свободно работаю с CUDA Toolkit и сопутствующими библиотеками — cuBLAS, cuFFT, Thrust — и опираюсь на Nsight и профилировщики, чтобы доказывать, где именно узкое место, а не гадать. Будь то научный HPC, обработка сигналов или обучение и инференс в машинном обучении, я отдаю ядра задокументированными, воспроизводимыми и готовыми встроиться в вашу сборку.
Если код медленный и вы упираетесь именно в процессор, опишите задачу и где болит — я честно скажу, сколько сможет отыграть GPU и как я к этому приду.
— Разработка и оптимизация CUDA-ядер
— Перенос алгоритмов с CPU на GPU
— Настройка памяти и пропускной способности (глобальная, разделяемая, регистры)
— Интеграция cuBLAS, cuFFT, Thrust
— Профилирование Nsight и анализ узких мест
— Мульти-GPU и конкуренция на потоках
— Ускорение HPC и обучения/инференса ML
Большинство проектов начинается с уже существующего CPU-кода, который просто перерос своё время выполнения. Я переношу эту логику на GPU шаг за шагом, сверяя результат с оригиналом на каждом этапе, чтобы числа не поплыли, а затем поднимаю занятость, объединённый доступ к памяти и перекрытие потоков, пока ускорение не станет реальным и измеримым. Свободно работаю с CUDA Toolkit и сопутствующими библиотеками — cuBLAS, cuFFT, Thrust — и опираюсь на Nsight и профилировщики, чтобы доказывать, где именно узкое место, а не гадать. Будь то научный HPC, обработка сигналов или обучение и инференс в машинном обучении, я отдаю ядра задокументированными, воспроизводимыми и готовыми встроиться в вашу сборку.
Если код медленный и вы упираетесь именно в процессор, опишите задачу и где болит — я честно скажу, сколько сможет отыграть GPU и как я к этому приду.
— Разработка и оптимизация CUDA-ядер
— Перенос алгоритмов с CPU на GPU
— Настройка памяти и пропускной способности (глобальная, разделяемая, регистры)
— Интеграция cuBLAS, cuFFT, Thrust
— Профилирование Nsight и анализ узких мест
— Мульти-GPU и конкуренция на потоках
— Ускорение HPC и обучения/инференса ML