Опис послуги
ПерекладЯ GPU-розробник і змушую важкі чисельні задачі лічити в рази швидше, переносячи їх на відеокарту. Коли симуляція, обробка сигналів або ML-пайплайн годинами тримає процесор завантаженим на сто відсотків, я профілюю, куди справді йде час, перебудовую гарячу ділянку під тисячі паралельних потоків і переписую її у вигляді CUDA-ядер, які завантажують усі потокові мультипроцесори без простою. Мене цікавить не тільки коректність, але й пропускна спроможність: як дані ходять по глобальній, розділюваній і реєстровій пам'яті, наскільки когерентні варпи і яку частку теоретичної смуги ядро справді вибирає на живому залізі.
Більшість проектів починаються з уже наявного CPU-коду, який просто виріс зі свого часу виконання. Я переношу цю логіку на GPU крок за кроком, звіряючи результат з оригіналом на кожному етапі, щоб цифри не поплили, а потім підіймаю занятість, об'єднаний доступ до пам'яті й перекриття потоків, поки прискорення не стане реальним і вимірюваним. Вільно працюю з CUDA Toolkit і супутніми бібліотеками — cuBLAS, cuFFT, Thrust — і спираюся на Nsight і профілювальники, щоб доводити, де саме вузьке місце, а не гадати. Чи то науковий HPC, обробка сигналів чи навчання й інференс у машинному навчанні, я відам ядра задокументованими, відтворювальними й готовими вбудуватися в вашу збірку.
Якщо код повільний і ви упираєтесь саме в процесор, опишіть завдання й де болить — я чесно скажу, скільки зможе відіграти GPU і як я до цього прийду.
— Розробка й оптимізація CUDA-ядер
— Перенос алгоритмів з CPU на GPU
— Налаштування пам'яті й пропускної спроможності (глобальна, розділювана, регістри)
— Інтеграція cuBLAS, cuFFT, Thrust
— Профілювання Nsight й аналіз вузьких місць
— Мультi-GPU й конкуренція на потоках
— Прискорення HPC і навчання/інференсу ML
Більшість проектів починаються з уже наявного CPU-коду, який просто виріс зі свого часу виконання. Я переношу цю логіку на GPU крок за кроком, звіряючи результат з оригіналом на кожному етапі, щоб цифри не поплили, а потім підіймаю занятість, об'єднаний доступ до пам'яті й перекриття потоків, поки прискорення не стане реальним і вимірюваним. Вільно працюю з CUDA Toolkit і супутніми бібліотеками — cuBLAS, cuFFT, Thrust — і спираюся на Nsight і профілювальники, щоб доводити, де саме вузьке місце, а не гадати. Чи то науковий HPC, обробка сигналів чи навчання й інференс у машинному навчанні, я відам ядра задокументованими, відтворювальними й готовими вбудуватися в вашу збірку.
Якщо код повільний і ви упираєтесь саме в процесор, опишіть завдання й де болить — я чесно скажу, скільки зможе відіграти GPU і як я до цього прийду.
— Розробка й оптимізація CUDA-ядер
— Перенос алгоритмів з CPU на GPU
— Налаштування пам'яті й пропускної спроможності (глобальна, розділювана, регістри)
— Інтеграція cuBLAS, cuFFT, Thrust
— Профілювання Nsight й аналіз вузьких місць
— Мультi-GPU й конкуренція на потоках
— Прискорення HPC і навчання/інференсу ML