The prevalence of real time multimedia delivery appliances has led to the developments of a wide variety of efficient architectures and supporting software techniques. Specifically, Ray-Tracing, a well-known physically-based rendering algorithm, has been receiving great attentions in research and development with the evolution of multi-core architecture since massive parallelism is inherent in that application. Unfortunately, the type of computation in Ray-tracing is known as an instance of irregular application which possesses attributes that may vary during execution and are often unpredictable, making it difficult to run efficiently on SIMD/SIMT based GPGPU architectures. For example, the irregularity in such applications may cause control flow divergence, load imbalance and low efficiency in the memory hierarchy of heterogeneous computing systems. To address these issues, researchers have been trying different approaches such as MIMD based homogeneous platform or specific hardware solutions. While these approaches tend to emphasize on dedicated special-purpose hardware configurations, our work illustrates that with appropriate analysis and tuning for irregularity within Ray-Tracing, it is possible to achieve high performance and high efficiency on current heterogeneous systems by applying software-based runtime approach. We studied and proposed phase guided dynamic work partitioning, a light-weight and fast analysis technique, to collect information during program phases at runtime in order to guide work partitioning in subsequent phases for more efficient work dispatching on heterogeneous systems. The experiments have shown that the performance gain of this approach can be as high as 5 times faster than the original system.
02-33664888 ext. 404