A
add-cuda-kernel
Step-by-step tutorial for adding new CUDA kernels to FlashInfer
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Step-by-step tutorial for adding new CUDA kernels to FlashInfer
How to use
- Sklonuj repozytorium FlashInfer z gałęzi zawierającej skill: git clone https://github.com/flashinfer-ai/flashinfer.git i przejdź do katalogu projektu.
- 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.
- 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.
- Upewnij się, że implementacja używa szablonów typów (template
) aby wspierać FP16, BF16 i FP32 bez duplikacji kodu. - 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.
- Skompiluj projekt i uruchom testy aby upewnić się, że jądro działa poprawnie na docelowym GPU.