Auto-Parallelizer使用支持OpenMP标准的库来处理并行执行的代码。当前版本只应用了libgomp,不过它可以使用任何支持所需接口函数的库。当前只实现了对循环的并行化。将来它还会增加并行化其它部分的功能,比如多次调用。
目前Auto-Parallelizer只能与该公司修改过的GCC一起工作,如果想进行并行化代码工作,必须具备以下两点:
- 一个修改版的基于gcc的编译器,而且它可以读写程序语义描述文件
- 一个Auto-Parallelizer附件,用它来读取、分析、修改文件,并将其写入
修改版的基于gcc的编译器有两种形式:1.x86 Linux平台下的二进制可执行文件;2.源代码。Auto-Parallelizer附件则是独立于gcc的——它是基于“通用翻译库(UTL)”的。可以下载到该附件的x86 Liunx二进制可执行文件。
该公司说他们对Auto-Parallelizer beta版、icc 11.0.074(x86和IA64平台下效率最高的编译器之一)和gcc 4.3.1 (PowerPC平台下效率最高的编译器之一)编译过的程序的执行性能进行了比较,比较结果可以在这里找到:x86平台结果 IA64平台结果 PowerPC平台结果
【编辑推荐】