Auto parallelizer
GNU GCC based Auto-Parallelizer is a SIMD SSE/MMX instruction and process level OpenMP multi threading parallelizer, that imports program semantics from a customized GCC and returns it back after processing. It uses a set of UTL blocks that can parallelize code for any number of cores at compilation time. It is fully separate from GCC and does not fall under GNU Public License.
Auto-Parallelizer fully supports GCC technological chain including all GCC-supported front-ends (C, C++, Fortran, Ada etc.) and back-ends (X86, Cell, Itanium etc).
Performance
Auto-Parallelizer has showed impressive performance results on 6 SPEC/CPU2006 benchmarks. The results were compared to results of the most efficient x86 platform compiler - icc 10.1.008. The comparison was done on host: 2 x Intel Xeon X5365 3.0GHz, 4 core, FSB 1333MHz, 32+32 Kb L1 cache, 4+4Mb L2 cache, 4 Gb DDR2 with compilation flags:
| icc | icc -O2 -ipo -static -no-prec-div |
| icc -parallel | icc -O2 -parallel -ipo -static -no-prec-div |
| gcc | gcc -O2 |
| uopt-gcc | gcc -O2 + auto-parallelizer [with options]* |
* - running options
| 459.GemsFDTD | --inter-module |
| 462.libquantum | --inter-module --pto |
| 470.lbm | --inter-module --pto |
| the others | without options |
Please see the comparison results below. Timing is in seconds. Ratio shows reference time to our measured time:
Please see the Ratio comparison results (the longer bar shows better performance):
Download
Download Auto parallelizer alpha trial version. Feel free to contact us at support@optimitech.com.
Binaries:
At present Auto-Parallelizer works only with GCC with the modification we made in its sorce code. To make it operate you must have:
- A modified gcc-based compiler that reads and writes program semantics description files
- Auto-Parallelizer addendum that reads files, analyzes, modifies and writes them back
![]() |
Linux RPM |
|
||||
![]() |
Linux DEB |
|
||||
![]() |
Linux TAR.BZ |
|
Source Codes:
Here we provide our modifications of gcc 4.3.0 that are under the terms of GNU Public License GPLv3. Gcc 4.3.0 can be downloaded here.
![]() |
TAR.BZ | gcc-4.3.0-xml.tar.bz | 0.2 MB |
User Guide:
![]() |
userguide.pdf | 0.2 MB |
Examples:
![]() |
TAR.GZ | examples.tar.gz | 3.0 KB |
Links has been clicked:
User Guide: timesExamples: times
Tarball:gcc-xml: times
Tarball:uopt: times
Debian packages:gcc-xml: times
Debian packages:uopt: times
RPM packages:gcc-xml: times
RPM packages:uopt: times
Gcc-xml patch: times
RUSSIAN


