160 likes | 292 Vues
This study explores GPU-accelerated computing using GPGPU (General-Purpose computing on Graphics Processing Units), which leverages GPUs alongside CPUs to enhance scientific and engineering applications. It introduces key performance metrics, including Memory Warp Parallelism (MWP) and Computation Warp Parallelism (CWP), to analyze the GPU's architecture. Additionally, performance modeling is discussed, focusing on the relationship between parameters like block size and data type, along with memory latency considerations. Finding the optimal balance between resources and latency is essential for achieving peak performance across various applications and devices.
E N D
Performance modeling in GPGPU computing Wenjingxu Professor: Dr.Box
What’s GPGPU? GPU-accelerated computing is the use of a graphics processing unit (GPU) together with a CPU to accelerate scientific, engineering, and enterprise applications.
What’s modeling a simplified representation of a system or phenomenon it is the most explicit way in which to describe a system or phenomenon use the parameter we set to build formula to Analysis system
Relate work Hong and Kim [3] introduce two metrics, Memory Warp Parallelism (MWP) and Computation Warp Parallelism (CWP) in order to describe the GPU parallel architecture. Zhang and Owens [4] develop a performance model based on their microbenchmarks so that they can identify bottlenecks in the program. Supada[5] performance model consider memory latencies are varied depending on the data type and the type of memory
1 Introduction and background Different application and device cannot use same setting Find the relationship between each parameters in this model, and choose the best block size for each application on different device to get peak performance.
varies data size with varies size of block have different performance
Block size setting under threads limitation NMB>= NTB = N* NTW (N is integer) >= NRT/ NRB
Block size setting under stream multiprocessor resource MR / MTR >= N* NTB (N is integer) N* NTB (N is integer) <= NRT N<= MSM / MSB
Conclusion Though more threads can hide memory access latency, but the more thread use the more resource needed. Find the balance point between resource limitation and memory latency is a shortcut to touch the peak performance. By different application and device this performance model shows it advantage, adaptable and without any rework and redesign let application running on the best tuning.