DocumentCode :
3783879
Title :
Extracting SIMD parallelism from ´for´ loops
Author :
V. Gustin;P. Bulic
Author_Institution :
Fac. of Comput. & Inf. Sci., Ljubljana Univ., Slovenia
fYear :
2001
fDate :
6/23/1905 12:00:00 AM
Firstpage :
23
Lastpage :
28
Abstract :
The need for multimedia applications has prompted the addition of a multimedia instruction set (MMX) to most existing general-purpose microprocessors. The introduction of short single-instruction multiple data (SIMD) i.e. "vectorized" instructions to the microprocessor "scalar" instruction set is supported by special hardware which enables the execution of one instruction on multiple data sets. Such a vectorized instruction set is primarily used in multimedia applications, and it seems likely that it will grow rapidly over the next few years. Thus on the one hand we have modern multimedia execution hardware and on the other we have the software and the general compilers which are not able to automatically exploit the multimedia instruction set. In addition, the compiler is not able to locate SIMD parallelism within a basic block. Our solution to these problems is to find statement candidates in the program written in the language C/C++ (as we mainly use this language), and to employ the SIMD instruction set in the easiest possible way. As we know that the compiler cannot be user-changed or modified, we can only extend the functionality of the program (compiler) by the use of specialised library routines or by macros. We prefer the latter. Why? We believe that the use of the macro library is faster than function calls, and we expect it to be simpler and more friendly for the user. The algorithm for identifying candidates for parallel processing (ICPP) is based on the fact that the program does not need any "correction" or "adoption" prior to being analysed andfinally to being translated into the SIMD instruction set. We define the macro library MacroVect.c as the substitution for the discovered statement candidates.
Keywords :
"Microprocessors","Hardware","Libraries","Parallel processing","Application software","Program processors","Assembly","Data mining","Information science","Algorithm design and analysis"
Publisher :
ieee
Conference_Titel :
Parallel Processing Workshops, 2001. International Conference on
ISSN :
1530-2016
Print_ISBN :
0-7695-1260-7
Type :
conf
DOI :
10.1109/ICPPW.2001.951843
Filename :
951843
Link To Document :
بازگشت