Abstrakt. En CUDA-kärna kommer att använda lokalt minne med hög latens för lagring när det inte finns tillräckligt med register för att hålla de data som krävs eller om datan är en array som nås med hjälp av ett variabelt index inom en loop. Tillgång från lokalt minne tar dock längre tid än åtkomst från register och delat minne, så det är önskvärt att minimera användningen av lokalt minne. Detta dokument innehåller en analys av strategier som används för att minska användningen av lokalt minne i en CUDA implementation av trosutbredning för stereobehandling. Vi utför experiment med hjälp av register och delat minne som alternativa platser för data som ursprungligen placerades i lokalt minne, och utvecklar sedan en hybridimplementation som gör det möjligt för programmeraren att lagra en justerbar mängd data i delat, register och lokalt minne. Vi visar resultat av att köra våra optimerade implementationer på två olika stereouppsättningar och över tre generationer av nVidia GPUs, och införa en auto-tuning implementation som genererar en optimerad tro spridning implementation på någon ingångstereo som är inställd på någon CUDA-kompatibel GPU.
Grauer m.fl. REF undersöker med hjälp av register, delat minne och lokalt minne för Belief Propagation och deras effekt på GPU beläggning för stereo matchande problem.
Optimizing and auto-tuning belief propagation on the gpu
{'venue': 'Languages and Compilers for Parallel Computing', 'journal': None, 'mag_field_of_study': ['Computer Science']}