Abstract-This arbete presenterar CLTune, en auto-tuner för OpenCL-kärnor. Den utvärderar och tonar kärnans prestanda för ett generiskt, användardefinierat sökutrymme med möjliga parametervärdeskombinationer. Exempel parametrar inkluderar OpenCL-arbetsgrupp storlek, vektor data-typer, kakelstorlekar, och loop avrullande faktorer. CLTune kan användas i följande scenarier: 1) när det finns för många kvantifierbara parametrar att utforska manuellt, 2) när prestandaportabilitet över OpenCL-enheter önskas, eller 3) när de optimala parametrarna ändras baserat på indataargumentvärden (t.ex. matrismått). Auto-tunern är generisk, lätt att använda, öppen källkod, och stöder flera sökstrategier inklusive simulerad glödgning och partikel svärm optimering. CLTune utvärderas på två GPU-fallstudier inspirerade av de senaste framgångarna inom djupinlärning: 2D-konvolution och matrismultiplikation (GEMM). För 2D-konvolution visar vi på behovet av automatisk inställning genom att optimera för olika filterstorlekar, uppnå prestanda on-par eller bättre än toppmoderna. För matrismultiplikation använder vi CLTune för att utforska ett parameterutrymme på mer än tvåhundratusen konfigurationer, visar vi behovet av enhetsspecifik inställning och överträffar clBLAS-biblioteket på NVIDIA, AMD och Intel GPUs.
CLTune REF är en auto-tuner för att optimera OpenCL-kärnor.
CLTune: A Generic Auto-Tuner for OpenCL Kernels
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}