意义不大,5 年之后 SUN cc 和 ICC 还有那个 ORC 对 GCC 还会有多少优势?10 年之后还会谁还会存在?
10年后谁会存在?gcc会,intel,pgi,absoft,pathscale,xlc,acc, sun cc都会,其实各种编译器主要应用在科学计算领域,只是icc兼容性太好了,所以现在有人用它编译通用软件。
不可否认gcc编译科学计算代码性能是最滥的。只有像龙芯集群那样的没有专用编译器的才会用。一般的hpc机群没有不买商业编译器的(当然也有用D版的,呵呵)。 原帖由 ericqchem 于 2009-3-3 12:33 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
10年后谁会存在?gcc会,intel,pgi,absoft,pathscale,xlc,acc, sun cc都会,其实各种编译器主要应用在科学计算领域,只是icc兼容性太好了,所以现在有人用它编译通用软件。
不可否认gcc编译科学计算代码性能是最滥的。只有像龙芯集群那样的没有专用编译器的才会用。一般的hpc机群没有不买商业编译器的(当然也有用D版的,呵呵)。
absoft没有听说过,孤陋寡闻,小白了,呵呵。 IBM 的 xlc 肯定是有保障的, HP 的 acc ? HP 手里死掉的东西还少么? acc 很强么?何况这种拿不到代码编译器对我这样的爱好者有啥意义?就算拿到了代码,连 Linux 内核都编译不了有什么吸引力?搞一个 HPC 很容易,因为指标单一,你搞一个通用的试试看?软件匮乏就没人用,我是用 PC ,当然只考虑我这点需求,相信绝大多数人都和我一样是使用 PC , HPC 对我们来说都是买不起的,呵呵。
不可否认目前 gcc 编译科学计算代码性能是比较滥的。 hpc 机群买得起商业编译器(盗版也是他们的事情)。龙芯?不了解,不谈这个。
科学计算市场很大么?非主流很好玩儿么?科学计算也是 Fortran 为主吧? GFortran 是挺差劲的,连 PGI 都不如。这是目前的现状,5年之后呢?10年之后呢?现在我还什么都不敢说,不过这让我做了一个决定。
[ 本帖最后由 prolj 于 2009-3-3 13:00 编辑 ]
回复 #1 prolj 的帖子
Sun的cc和intel的icc评测下来,性能都比gcc强。这也可能它们都为专门的平台做了优化有关。 原帖由 emmoblin 于 2009-3-3 00:14 发表 http://linux.chinaunix.net/bbs/images/common/back.gif如期说改进gcc还不如就用集群编译来的更容易。提高可以更大。
对于一般用户,就算编译慢点也是无所谓的
原帖由 albcamus 于 2009-3-3 00:39 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
这里说的不是编译速度,而是编译出来的结果,运行的速度。
大拿们说了两个方面的东西:
1. 并行编译,提高了编译的速度.
2. 编译出能并行执行的程序,在多节点的环境下可以有效的提高程序的执行性能.
[ 本帖最后由 system888net 于 2009-3-3 23:52 编辑 ]
回复 #24 system888net 的帖子
而且这里都牵扯到粒度和分解模式的问题. 所谓的 Linux DNA 项目就是使用 ICC 编译 linux kernel ??? icc 编译器并没有什么好吹捧的只不过是 intel 在 c/c++ 编译中生成非通用编译器(如 gcc)中不会使用的特定指令而已,一般是些 SSEx 指令。
如果,在 gcc 中使用嵌入汇编的形式使用这些特定指令,效果是一样的。 原帖由 mik 于 2009-3-4 00:04 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
icc 编译器并没有什么好吹捧的
只不过是 intel 在 c/c++ 编译中生成非通用编译器(如 gcc)中不会使用的特定指令而已,一般是些 SSEx 指令。
如果,在 gcc 中使用嵌入汇编的形式使用这些特定指令,效果是 ...
正是如此!我了解了一下 ORC 的 port ,觉得和手工生成代码没什么区别。 ICC 优于 GCC 的地方主要是循环翻译成 SSE 。而没有说一种优化算法可以在一种编译器上实现却无法应用在另一个编译器上。 gcc的性能优化参数有不少,例如
-marh
-mcpu
-m 64-bit
等等,请问测试的时候用了么?
以前听Intel的人说过,如果GCC选择合适的编译参数,那么ICC的编译出程序的性能优势并不大(<10%)。 原帖由 BigMonkey 于 2009-3-4 10:05 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
gcc的性能优化参数有不少,例如
-marh
-mcpu
-m 64-bit
等等,请问测试的时候用了么?
以前听Intel的人说过,如果GCC选择合适的编译参数,那么ICC的编译出程序的性能优势并不大(
这倒也是,gcc还有那么多的编译参数,仔细比对的人可能不多。