Toolverse
Wszystkie skille

add-cuda-kernel

autor: flashinfer-ai

Krok po kroku: dodaj własne jądra CUDA do FlashInfer i optymalizuj obliczenia na GPU

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend

O skillu

Poradnik do dodawania nowych jąder CUDA do biblioteki FlashInfer. Nauczysz się, jak zaimplementować operację skalowania tensorów (mnożenie każdego elementu przez skalar) wspierającą wiele typów danych: FP16, BF16 i FP32. Tutorial pokazuje pełny przepływ pracy: definicję jądra CUDA w nagłówkach, launcher do uruchomienia na GPU oraz integrację z frameworkiem. Idealne dla inżynierów pracujących nad optymalizacją GPU i chcących rozszerzyć możliwości FlashInfer o własne operacje.

Jak używać

  1. Sklonuj repozytorium FlashInfer z gałęzi zawierającej skill: git clone https://github.com/flashinfer-ai/flashinfer.git i przejdź do katalogu projektu.
  2. Utwórz nowy plik nagłówka w katalogu include/flashinfer/ (np. scale.cuh) i zdefiniuj jądro CUDA jako szablon funkcji global przyjmujący wskaźniki do tensora wejściowego, tensora wyjściowego, współczynnika skalowania i liczby elementów.
  3. Dodaj funkcję launcher (np. ScaleLauncher) która oblicza liczbę bloków i wątków na podstawie liczby elementów, a następnie uruchamia jądro CUDA z odpowiednimi parametrami siatki i strumienia.
  4. Upewnij się, że implementacja używa szablonów typów (template) aby wspierać FP16, BF16 i FP32 bez duplikacji kodu.
  5. Zintegruj nową operację z resztą biblioteki FlashInfer, dodając odpowiednie deklaracje w plikach nagłówkowych i testując jądro z różnymi typami danych i rozmiarami tensorów.
  6. Skompiluj projekt i uruchom testy aby upewnić się, że jądro działa poprawnie na docelowym GPU.

Podobne skille