Any modern Graphics Processing Unit (graphics card) is a good platform to run massively parallel programs. Still, we lack tools to observe and measure performance characteristics of GPU-based software. We state that due to complex memory hierarchy and thousands of execution threads the all performance issues are about efficient use of graphics card memory hierarchy. We propose to use GPGPUSim simulator, previously used mostly for graphics card architecture validation, for performance validation for CUDA-based program. We provide examples which show how to use the simulation for performance analysis of massively parallel programs.
Будь-яка сучасна графічна карта є цікавою платформою для запуску масивно паралельних програм. Проте, у нас дуже мало засобів для вимірювання та аналізу швидкодії такого програмного забезпечення. До того ж графічні карти мають складну ієрархію підсистеми пам’яті та тисячі потоків, що виконуються, тому всі питання швидкодії зводяться до ефективного використання ієрархії пам’яті графічної карти. Ми пропонуємо використовувати GPGPUSim — симулятор, розроблений для валідації архітектурних мрделей графічних карт — для аналізу швидкодії CUDA-програм. Наведено приклади аналізу результатів симуляції і визначення характеристик масивно паралельної програми.