|Authors||H. K. Stensland, H. Espeland, C. Griwodz and P. Halvorsen|
|Editors||D. C. A. Bulterman|
|Title||Tips, Tricks and Troubles: Optimizing for Cell and GPU|
|Afilliation||Media, Communication Systems|
|Publication Type||Proceedings, refereed|
|Year of Publication||2010|
|Conference Name||The 20th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV 2010)|
When used efficiently, modern multicore architectures, such as Cell and GPUs, provide the processing power required by resource demanding multimedia workloads. However, the diversity of resources exposed to the programmers, intrinsically requires specific mindsets for efficiently utilizing these resources - not only compared to an x86 architecture, but also between the Cell and the GPUs. In this context, our analysis of 14 different Motion-JPEG implementations indicates that there exists a large potential for optimizing performance, but there are also many pitfalls to avoid. By experimentally evaluating algorithmic choices, inter-core data communication (memory transfers) and architecture-specific capabilities, such as instruction sets, we present tips, tricks and troubles with respect to efficient utilization of the available resources.