|
|||
|
SummaryThe ACOTES project aims to address problems found in state of the art and future streaming data applications, such as modern video algorithms and software defined radio. These applications put an increasing demand on processing power. Meeting this power hunger by designing application specific ICs (ASICs) is becoming less and less feasible because of the increasing complexity of the algorithms. On the other hand, off-the-shelf processors simply cannot handle the required throughput, or, if they can, are so power hungry that they need special cooling or cannot be used for mobile devices because of the short battery lifetime. An important characteristic of data streaming applications is their inherent parallelism: the processing requirements on each data item (pixel) are large, but almost independent of other data items. And that means that many data items can be processed in parallel. So, one way out of this is to design processors, possibly based on off-the-shelf processing units, that can perform as many operations as possible at the same time: massive parallelism. That's for the hardware part. The software part is a different story. Most algorithms are designed and implemented using a sequential programming language (C/C++, FORTRAN). Finding opportunities for parallelism is difficult. An additional problem comes after identifying parallelism: how to distribute the processing tasks in such a way that the maximum number of processing units is kept busy at any one time. It is a well-known problem among programmers that doing this by hand is difficult, and, above all, error prone. The ACOTES project looks for partial solutions for the first problem and concentrates on the distribution of processing in particular. The first part of the problem is addressed by having the programmer indicate opportunities for parallelizing the algorithm. The second part is addressed by applying state-of-the-art code generation techniques. In providing these solutions, the ACOTES project strives to increase programmer productivity in the area of streaming applications. To maximize the results of the project, ACOTES taps into a vast knowledge base of compiler techniques by using the GNU Compiler Collection, or GCC as its compiler framework. This means in turn that the Open Source Community can benefit from the results of the project.
|
|||||||||||||||||||||
|
|