Vi presenterar ett gränssnitt och en implementering av General Matrix Multiply (GEMM) rutin för flera små matriser som behandlas samtidigt på NVIDIA grafikenheter (GPU). Vi fokuserar på matrisstorlekar under 16. Genomförandet kan enkelt utvidgas till större storlekar. För enkelprecisionsmatriser är vår implementering 30% till 600% snabbare än den batchade cuBLAS-implementationen som distribueras i CUDA Toolkit 5.0 på NVIDIA Tesla K20c. Till exempel får vi 104 GFlop/s och 216 GFlop/s när du multiplicerar 100 000 oberoende matrispar av storlek 10 respektive 16. Liknande förbättringar i prestanda uppnås för andra storlekar, i enkel och dubbel precision för verkliga och komplexa typer, och när antalet matriser är mindre. Förutom vårt genomförande spelar vårt olika funktionsgränssnitt också en viktig roll i den förbättrade prestandan. Tillämpningar av denna programvara inkluderar Finite Element beräkning på GPU:er.
REF föreslår lowoverhead-gränssnitt för flera små matrismultiplikationer på NVIDIA GPUs.
A GEMM interface and implementation on NVIDIA GPUs for multiple small matrices
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science', 'Mathematics']}