O usłudze
PrzetłumaczoneJestem programistą GPU i sprawiam, że ciężkie zadania numeryczne działają wielokrotnie szybciej, przenosząc je na kartę graficzną. Gdy symulacja, przetwarzanie sygnałów lub pipeline ML obciążają CPU na pełnych obrotach przez godziny, profiluję, gdzie czas rzeczywiście ucieka, restrukturyzuję gorącą sekcję dla tysięcy równoległych wątków i przepisuję ją jako jądra CUDA, które obciążają wszystkie multiprocesory strumieniowe bez czasu bezczynności. Dbam nie tylko o poprawność, ale także o przepustowość: jak dane przepływają przez pamięć globalną, współdzieloną i rejestry, jak spójne są warpy i jaka część teoretycznej przepustowości jest rzeczywiście wykorzystywana przez jądro na żywym sprzęcie.
Większość projektów zaczyna się od istniejącego kodu CPU, który po prostu przestał być aktualny. Przenoszę tę logikę na GPU krok po kroku, weryfikując wyniki w porównaniu do oryginału na każdym etapie, aby liczby się nie rozjeżdżały, a następnie zwiększam zajętość, skojarzone dostępy do pamięci i nakładanie się wątków, aż przyspieszenie stanie się rzeczywiste i mierzalne. Pracuję płynnie z zestawem narzędzi CUDA i bibliotekami towarzyszącymi — cuBLAS, cuFFT, Thrust — i polegam na Nsight i profilerach, aby dokładnie udowodnić, gdzie jest wąskie gardło, a nie zgadywać. Niezależnie od tego, czy chodzi o naukowe HPC, przetwarzanie sygnałów czy trening i wnioskowanie ML, dostarczam jądra udokumentowane, reprodukowalne i gotowe do integracji z Twoim projektem.
Jeśli kod jest wolny i napotykasz na ścianę procesora, opisz zadanie i gdzie boli — szczerze powiem Ci, ile GPU może zyskać i jak tam dotrę.
— Rozwój i optymalizacja jąder CUDA
— Przenoszenie algorytmów z CPU na GPU
— Dostosowywanie pamięci i przepustowości (globalna, współdzielona, rejestry)
— Integracja cuBLAS, cuFFT, Thrust
— Profilowanie Nsight i analiza wąskich gardeł
— Współbieżność wielu GPU i wątków
— Przyspieszanie HPC i przyspieszanie treningu/wnioskowania ML
Większość projektów zaczyna się od istniejącego kodu CPU, który po prostu przestał być aktualny. Przenoszę tę logikę na GPU krok po kroku, weryfikując wyniki w porównaniu do oryginału na każdym etapie, aby liczby się nie rozjeżdżały, a następnie zwiększam zajętość, skojarzone dostępy do pamięci i nakładanie się wątków, aż przyspieszenie stanie się rzeczywiste i mierzalne. Pracuję płynnie z zestawem narzędzi CUDA i bibliotekami towarzyszącymi — cuBLAS, cuFFT, Thrust — i polegam na Nsight i profilerach, aby dokładnie udowodnić, gdzie jest wąskie gardło, a nie zgadywać. Niezależnie od tego, czy chodzi o naukowe HPC, przetwarzanie sygnałów czy trening i wnioskowanie ML, dostarczam jądra udokumentowane, reprodukowalne i gotowe do integracji z Twoim projektem.
Jeśli kod jest wolny i napotykasz na ścianę procesora, opisz zadanie i gdzie boli — szczerze powiem Ci, ile GPU może zyskać i jak tam dotrę.
— Rozwój i optymalizacja jąder CUDA
— Przenoszenie algorytmów z CPU na GPU
— Dostosowywanie pamięci i przepustowości (globalna, współdzielona, rejestry)
— Integracja cuBLAS, cuFFT, Thrust
— Profilowanie Nsight i analiza wąskich gardeł
— Współbieżność wielu GPU i wątków
— Przyspieszanie HPC i przyspieszanie treningu/wnioskowania ML