Mediaprocessor Programming Interface to Increase the Portability of Mediaprocessor Software Michael S. Grow, Siddhartha Sikdar, Donglok Kim, and Yongmin Kim Image Computing Systems Laboratory Departments of Electrical Engineering and Bioengineering University of Washington, Seattle, WA 98195-2500 ABSTRACT The architecture of mediaprocessors has become increasingly sophisticated to accommodate the need for more performance in processing various media data. However, due to the inability of mediaprocessor compilers to fully detect the parallelism available in a program and maximize the utilization of the mediaprocessor’s on-chip resources, C intrinsics, which are hints to the compiler on which assembly instructions to use, have been employed to achieve better performance. Nonetheless, these intrinsics are mediaprocessor-dependent, thus limiting the portability of mediaprocessor software. To help increase the portability of mediaprocessor software, we have developed a Mediaprocessor Programming Interface (MPI), which translates one set of C intrinsics into another. In many cases, the translated code for the target mediaprocessor has similar performance to the code developed with native intrinsics. We believe that the MPI can facilitate the reuse of mediaprocessor software as well as the development of mediaprocessor-independent software. Keywords: Mediaprocessor, portability, MAP1000, MAP-CA, intrinsics, TriMedia 1. INTRODUCTION Increased processing and computing needs in commercial and consumer products, such as digital color copiers, cellular phones, digital TVs, digital cameras/camcorders and set-top boxes, have led to recent advances in algorithms and processors aimed for multimedia specific computations. One such advance is the development of mediaprocessors [1], such as Philips TriMedia, Hitachi/Equator Technologies MAP and Texas Instruments TMS320C64X. Mediaprocessors combine the computational power of high-end DSPs with various I/O capabilities and auxiliary units in a programmable architecture to offer a flexible and adaptable solution for multimedia applications [2]. Due to the increasing complexity and lack of flexibility of ASICs and other hardwired components, these mediaprocessors are becoming more attractive than ASICs to fulfill the processing and computing needs of multimedia applications. In consumer products, however, mediaprocessors have not had the widespread success that they have had in professional and commercial products, e.g., medical imaging and machine vision [2]. Since many consumer companies have long depended on hardwired solutions in developing their products, changing to a mediaprocessor-based approach would cause a company to have to change their product development paradigm completely. For instance, unfamiliarity in programming mediaprocessors has been a factor limiting the success of mediaprocessors in consumer products. In many cases, compilers currently have difficulty in fully exploiting the mediaprocessor resources and parallelism available in a program to achieve optimal performance, which forces developers to use low-level assembly programming, thus lowering the programming productivity. Furthermore, while mediaprocessors provide the flexibility and fast time-to-market that companies desire, developing optimized applications on mediaprocessors currently is time-consuming and requires extensive retraining of engineers. Many mediaprocessors have been designed in order to exploit unique features in multimedia and image processing for higher performance, for example, predictable data access patterns and data-level parallelism, i.e., the computation can be performed on multiples of small data units. Partitioned operations are widely available in mediaprocessors for increased parallelism. Also, to reduce memory access latency, efficient data movement engines are incorporated. However, current mediaprocessor compilers typically have difficulty in (1) programming the data flow of an algorithm to minimize the total I/O time and (2) taking advantage of mediaprocessor-specific assembly instructions that operate on Media Processors 2001, Sethuraman Panchanathan, V. Michael Bove, Jr., Subramania I. Sudharsanan, Editors, Proceedings of SPIE Vol. 4313 (2001) © 2001 SPIE · 0277-786X/01/$15.00 11 Downloaded from SPIE Digital Library on 16 May 2012 to 129.174.97.34. Terms of Use: http://spiedl.org/terms