SPEC CPU2000. Часть 17. AMD64/EM64T и 64-битный код. Третья попытка


Прошло уже четыре месяца с тех пор, как мы тестировали 64-бит компиляторы на платформе AMD64. Сегодня мы продолжим наши исследования и посмотрим, изменилось ли что-то за это время, поскольку 32-х битный продукт от Intel часто был впереди 64-х битных компиляторов. А главной интригой будет появление 64-бит компилятора от Intel. Конечно, первоначально он создавался для процессоров этой компании с поддержкой технологии EM64T, однако и на AMD64 работает замечательно.

Тестирование проводилось на ПК следующей конфигурации:

  • процессор AMD Athlon 64 3500+ (2,2 ГГц, 512 КБ L2, Socket 939)
  • материнская плата Gigabyte K8NSNXP-939
  • два модуля памяти Kingston HyperX KHX4000/512 (работала как DDR400)
  • операционная система SuSE Linux 9.1 x86-64 (ядро 2.6.5-7.108, компилятор gcc 3.3.3-33)

Использовались компиляторы:

  • GNU gcc
  • PGI Workstation 5.2-2
  • Pathscale EKO Compiler Suite 1.3-108
  • Intel Compilers 8.0 (C/C++ 8.0.070, Fortran 8.0.050)
  • Intel Compilers 8.1 for EM64T (C/C++/Fortran 8.1.020)

Для тех, кто не следит за нашими публикациями, коротко расскажем об участниках.

Стандартный для Linux систем компилятор gcc остается самым популярным для некоммерческих применений. Мы использовали версию из поставки (точнее обновления) SuSE, поскольку новая (на момент проведения тестов) версия (мы попробовали 3.4.2) не дала существенного роста скорости в тестах SPEC CPU2000.

PGI является первым 64-битным коммерческим компилятором для AMD64. В комплект PGI Workstation 5.2 входят компиляторы с языков C, C++, Fortran и Fortran90 (а также отладчик и профайлер). Есть поддержка OpenMP и MPI. За время своего существования он сменил несколько (под)версий и сейчас остановился на 5.2-2. Отметим однако, что на самом деле новые версии PGI выходят чуть ли не каждый день, но производитель, к сожалению, не нумерует их и определить «свежесть» можно только по дате файла дистрибутива. Компилятор с языка Fortran из этого пакета используется и в коммерческих приложениях. В частности им скомпилирована 64-бит версия LS-DYNA для платформы AMD64.

PathScale EKO Compiler Suite появился относительно недавно, релиз первой (1.0) версии был весной этого года. Интересно, что этот продукт создавался сразу для работы именно на AMD64. В комплект входят компиляторы C, C++ и Fortran 77/90/95. Отладчиков и других утилит нет. Компилятор работает только под 64-х битными версиями Linux (заявлена поддержка RedHat, Fedora, SuSE). В конце августа была представлена версия 1.3 пакета. Производитель пытается привлечь внимание к качеству (скорости получаемого кода) своего продукта устраивая конкурсы типа «You'll Win if Your Code Runs 10% Faster». Кроме того на сайте приводятся многочисленные результаты тестирования в различных приложениях (партнером часто выступает «64bit Commercial Compiler» :) ). Поскольку у этого компилятора нет явной 32-х битной версии (но возможность получить 32-х битный код есть, более того, она используется в peak метрике), а компания любезно предоставляет в поставке полный конфигурационный файл для SPEC CPU2000, то для него дополнительно были получены peak метрики. Отметим, что эти результаты идут вне конкурса, поскольку для остальных компиляторов мы использует только base метрики.

Компиляторы компании Intel всегда показывали высокое качество оптимизации кода как на синтетических тестах, так и в жизни. Крупнейший производитель процессоров смог составить серьезную конкуренцию чисто софтверным компаниям. Конечно, можно посетовать на то, что он был в курсе всех тонкостей работы своих железных продуктов, однако и значительные инвестиции в R&D тоже сыграли роль. Мы тестируем компиляторы Intel начиная с версии 5.0 и каждая новая версия приносит значимые улучшения в скорости получаемого кода.

Во многом благодаря именно этим компиляторам, процессоры Intel Pentium 4 показывают высокие результаты на ресурсоемких задачах, если разработчик не поленился использовать компиляторы Intel :). Ну и конечно широкое распространение SIMD тоже можно приписать им.

Интересно, что и на процессорах других :) компаний компиляторы Intel показывают отличную скорость. Правда с версии 8.0 компания ввела проверку на производителя CPU, однако возможность оптимизации (включая векторизацию и SIMD) под «generic» процессор осталась. Кстати только недавно 64-бит компиляторы для AMD64 смогли обойти в SPECfp_base2000 32-х битный компилятор Intel, а в SPECint_base2000 он продолжает быть лидерами.

Выхода компиляторов для EM64T — версии Intel 64-бит технологии, расширяющей IA32 — ждали все. Поскольку процессоры с EM64T были представлены этим летом, то компания не могла оставить их без программной поддержки и уже осенью увидел свет соответствующий компилятор. В этой специальной версии компилятора предусмотрена генерация кода как для процессоров Intel с EM64T (ядра Prescott, SSE3) так и для совместимых с 64-х битным режимом процессоров других компаний (уже без SSE3 и некоторых тонких оптимизаций работы с памятью). Конечно под последними следует понимать AMD Athlon 64/Opteron :).

При проведении тестов использовались следующие ключи оптимизации:

  • gcc/g++/g77: -O3 -funroll-all-loops +PGO (-fprofile-arcs/-fbranch-probabilities), дополнительный ключ -m32 для теста 32-х битного кода;
  • PGI: -fastsse -Mipa=fast (два прохода компилятора для использования IPA);
  • Pathscale: конфигурационный файл из поставки пакета
  • Intel 8.0: -xW -O3 -ipo +FDO
  • Intel 8.1/EM64T: -xW -O3 -ipo +FDO

Как и ранее, результаты следует отнести по терминологии SPEC к «estimated», поскольку не все компиляторы смогли отработать полный комплект тестов (у gcc нет компилятора Fortran 90, а Intel/EM64T не смог скомпилировать 252.eon). Однако все остальные формальные требования были выполнены.

 gcc32gcc64pgi32pgi64psc1.3psc1.3 peakic80.xWic81e.xW
164.gzip1006116477710091347135111921214
175.vpr871930801804910936982897
176.gcc11901217110510621218121910471156
181.mcf102966797767066510431041683
186.crafty12841873101314981881189815421930
197.parser102897474870792711101175838
252.eon11731868293390203521841589 
253.perlbmk14381507123412171490159714861450
254.gap120011629679771386138314971221
255.vortex15131575130813812139233120642040
256.bzip297910788939621125113310701076
300.twolf100586896082792611081074883
SPECint_base2000 (est.) 11281186875907126113801280 

В SPECint_base2000 все компиляторы ведут себя примерно одинаково, кроме PGI,  рекордно низкий результат которого в 252.eon не позволяет получить достойную интегральную оценку (спорный вопрос — стоит ли глубоко «копаться» в синтетике, или проще ограничиться интегральными оценками — предлагается решать в частном порядке). Если же искать лидера, то по интегральной оценке им является 32-х битный компилятор от Intel (напомним, что peak результат Pathscale идет вне конкурса). С ним серьезно соперничает Pathscale, по отдельным тестам разница варьируется от -36% до +28%. Интегральная оценка у него меньше всего на 1,5%.

gcc и PGI в общем не так уж и плохи, на некоторых задачах они показывают хорошую скорость. Intel/EM64T (пока?) проигрывает своему предшественнику и может рассматриваться сейчас только как потенциально интересный компилятор.

Так что резюме по CINT2000 будет в этот раз таким: если вам важна скорость, то стоит попробовать на своей задаче все описанные компиляторы, очень может быть, что один из них сможет существенно поднять скорость выполнения кода.

С точки зрения совместимости, уверенная компиляция двенадцати разнообразных приложений (за единственным исключением) не дает повода сомневаться в качестве рассмотренных продуктов.

 gcc32gcc64pgi32pgi64psc1.3psc1.3 peakic80.xWic81e.xW
168.wupwise10891245145616681694196517131863
171.swim14131443204121112372243320261983
172.mgrid749857113812361465147011651237
173.applu836949125313351512182012341356
177.mesa1063162698311981668186917081532
178.galgel    202722642202242117861815
179.art6001129120011691315185813672197
183.equake14711380119311931496152514121620
187.facerec  148121241751192914561436
188.ammp825102284398110151083910996
189.lucas  155716131535177416251774
191.fma3d  134614611358144113091384
200.sixtrack455550654673665669558550
301.apsi680828104211691201121110201083
SPECfp_base2000 (est.)  124513731455159813171414

В тестах CFP2000 лидером остается Pathscale. На втором месте идет новый продукт от Intel, который только в одном подтесте существенно проиграл своему собрату. При этом интегральная оценка возросла на 7,4%. Однако этого оказалось мало, чтобы занять позицию лидера, от которого его отделяет всего около 3%.

PGI отстает от лидера на 5,6% по SPECfp_base2000, однако по отдельным тестам идет разброс от -28% до +21%.

Судя по результатам, срочно бежать менять компилятор конечно не стоит. Однако, как и для CINT2000, можно сказать, что и для счетных задач есть смысл попробовать другие компиляторы, благо разброс скорости исполнения различных подтестов достаточно велик.

Кроме тестов на платформе AMD64 мы смогли провести несколько измерений и на Intel Xeon/Nocona. Использовались те же самые версии ОС от SuSE. Причем инсталлировались именно первоначальные релизы — от апреля 2004 года. Конечно, после установки мы обновили ОС, однако никаких проблем с работоспособностью замечено не было. Следует отметить, что использовалась не сильно нагруженная машина (2 х Intel Xeon 3.0 ГГц (Nocona), Supermicro X6DA8-G2 (Intel E7525), 2x512 МБ DDR2-400 SDRAM и жесткий диск Western Digital WD360 (SATA)) и, на наш взгляд, не следует воспринимать результат как «100% железно все работает!», однако этот факт совместимости, безусловно, положительный.

На этой системы были проведены тесты SPEC CPU2000 с компиляторами gcc, PGI и Intel. К сожалению Pathscale не успели прогнать, но постараемся исправиться в следующем материале :).

Ключи оптимизации и остальные настройки аналогичны приведенным выше для AMD64 (конечно для IC использовался ключ -xP вместо -xW). Отметим, что в таблице нет результатов для ic81e.xP для тестов 252.eon, 253.perlbmk, 254.gap и 255.vortex. Скорее всего, по 252.eon его не будет никогда (тест использует старый метод работы с потоками, который, видимо, не будет поддерживаться новыми версиями компиляторов), а вот для других трех тестов, возможно, что-то и получится в новых релизах.

Абсолютные результаты рассматривать в рамках вечного спора Intel vs AMD практически нет смысла — процессор использовался не самый быстрый, да и использование DDR2 пока играет скорее отрицательную роль.

 gcc32ic80.xPpgi32gcc64ic81e.xPpgi64
164.gzip7299847378461016791
175.vpr739822685708743658
176.gcc1378159312241244

1366

1123
181.mcf845853806498564488
186.crafty868110969812491305940
197.parser8401096704841881634
252.eon75611671881168 208
253.perlbmk1201153111921268 1130
254.gap1182158811481239 1087
255.vortex1239212511951449 1245
256.bzip2776935795893964810
300.twolf10041147986791850716
SPECint_base2000 (est.)9401197790974 749
 gcc32ic80.xPpgi32gcc64ic81e.xPpgi64
168.wupwise104223141241101625611026
171.swim155919191949145319091915
172.mgrid7141226111669513171035
173.applu7521227127681612871063
177.mesa7691300934132415261030
178.galgel 20632197 20302100
179.art4138918468002725807
183.equake155515381409141318141282
187.facerec 15711275 16431590
188.ammp561669712736846660
189.lucas  17041534 16481353
191.fma3d 11771143 13521039
200.sixtrack286539514406530339
301.apsi582911864620972816
SPECfp_base2000 (est.) 12601136 14611050

Как видно по результатам, наиболее предпочтительным для Xeon/Nocona является компилятор от Intel. Впрочем, это можно было предположить и до тестирования :). Однако то, что одна из первых 64-х битных версий вполне работоспособна безусловно радует.

Отметим, что код, полученный с помощью gcc и PGI работал на новом процессоре Intel  безо всяких плясок с бубном, что очень приятно и вселяет надежду, что и другое ПО, уже портированное на AMD64, сможет заработать на EM64T без особых проблем.

Интересно сравнить эффект от перехода на 64-бит на разных платформах. Безусловно, в таком сравнении очень много условностей — далеко не однозначен выбор процессоров, платформ, опций компилятора, и поэтому рекомендуем не делать далеко идущих выводов, а скорее рассматривать эти цифры как еще один кусочек информации о 64 vs 32, Intel vs AMD, gcc vs IC и так далее. Тем более что все параметры все равно никогда не выровнять, так что в любом случае придется ориентироваться именно на такие цифры. В следующей таблице приводится % изменений от перехода с 32- на 64-бит ПО.

 gcc/Intelgcc/AMDic/Intelic/AMDpgi/Intelpgi/AMD
164.gzip16,0515,713,251,857,3329,86
175.vpr-4,196,77-9,61-8,66-3,940,37
176.gcc-9,722,27-14,2510,41-8,25-3,89
181.mcf-41,07-35,18-33,88-34,39-39,45-31,42
186.crafty43,8945,8717,6725,1634,6747,88
197.parser0,12-5,25-19,62-28,68-9,94-5,48
252.eon54,5059,25  10,6433,11
253.perlbmk5,584,80  -2,42-5,20-1,38
254.gap4,82-3,17 -18,44-5,311,03
255.vortex16,954,10 -1,164,185,58
256.bzip215,0810,113,100,561,897,73
300.twolf-21,22-13,63-25,89-17,78-27,38-13,85
SPECint_base20003,625,14  -5,193,66
 gcc/Intelgcc/AMDic/Intelic/AMDpgi/Intelpgi/AMD
168.wupwise-2,5014,3310,678,76-17,3214,56
171.swim-6,802,12-0,52-2,12-1,743,43
172.mgrid-2,6614,427,426,18-7,268,61
173.applu8,5113,524,899,89-16,696,54
177.mesa72,1752,9617,38-10,3010,2821,87
178.galgel    -1,601,62-4,4211,69
179.art93,7088,17205,8460,72-4,61-2,58
183.equake-9,13-6,1917,9514,73-9,010,00
187.facerec  4,58-1,3724,7143,42
188.ammp31,1923,8826,469,45-7,3016,37
189.lucas    -3,299,17-11,803,60
191.fma3d  14,875,73-9,108,54
200.sixtrack41,9620,88-1,67-1,43-34,052,91
301.apsi6,5321,766,706,18-5,5612,19
SPECfp_base2000  15,987,37-7,5710,28

Из цифр видно, что gcc в практически одинаково ведет себя на разных процессорах — если есть существенный рост или падение, то он наблюдается (почти всегда) на обеих платформах. Так что для готовых дистрибутивов Linux эффект от перехода на 64 бит не будет зависеть от того, на какую версию 64 бит переходить.

Для компиляторов Intel ситуация интереснее. Во-первых отметим значительное снижение показателей во многих тестах CINT2000 на обеих платформах. Хочется надеяться, что в новых версиях компилятора это поправят. При этом на AMD иногда эффект иногда «чуть более положительный». Что касается CFP2000, то почти +16% в интегральной оценке смотрятся неплохо. На AMD эффект похуже, но с этим уже ничего не сделаешь :(. Остается только использовать другие компиляторы.

PGI на процессоре Intel в режиме 64-бит показал себя совсем плохо. Увы, эта комбинация не может быть рекомендована для использования на счетных задачах. Хотя стоит отметить, что с распространением процессоров с EM64T компилятор могут и «подправить». А для AMD продукт Portland Group на тестах CFP2000 показывает рост на подавляющем числе задач.

Заключение

Появление нового конкурента на рынке 64-х битных компиляторов для платформы AMD64/EM64T оживило наметившийся было застой. Конечно Intel 8.1/EM64T при работе на платформе AMD не раскрывает полных возможностей процессора, однако это не мешает ему уверенно занять второе место после Pathscale по SPECfp_base2000 на AMD Athlon 64. С тестами SPECint_base2000 дело обстоит хуже — к сожалению новый продукт от Intel отстает даже от своего 32-х битного партнера.

Что касается версии 64-битного процессора от компании Intel, то первые испытания показали, что существующее 64-х битное ПО для платформы AMD64 вполне работоспособно и на новом процессоре конкурента. Особенно радует наличие полного комплекта компиляторов и их совместимость с AMD64. Так что скорее всего портирование на EM64T будет заключаться всего лишь в проверке функционирования ПО на новом ядре от Intel.




4 октября 2004 Г.

SPEC CPU2000. 17. AMD64/EM64T 64- .

SPEC CPU2000. 17. AMD64/EM64T 64- .

, 64- AMD64. , - , 32- Intel 64- . 64- Intel. , EM64T, AMD64 .

:

  • AMD Athlon 64 3500+ (2,2 , 512 L2, Socket 939)
  • Gigabyte K8NSNXP-939
  • Kingston HyperX KHX4000/512 ( DDR400)
  • SuSE Linux 9.1 x86-64 ( 2.6.5-7.108, gcc 3.3.3-33)

:

  • GNU gcc
  • PGI Workstation 5.2-2
  • Pathscale EKO Compiler Suite 1.3-108
  • Intel Compilers 8.0 (C/C++ 8.0.070, Fortran 8.0.050)
  • Intel Compilers 8.1 for EM64T (C/C++/Fortran 8.1.020)

, , .

Linux gcc . ( ) SuSE, ( ) ( 3.4.2) SPEC CPU2000.

PGI 64- AMD64. PGI Workstation 5.2 C, C++, Fortran Fortran90 ( ). OpenMP MPI. () 5.2-2. , PGI , , , «» . Fortran . 64- LS-DYNA AMD64.

PathScale EKO Compiler Suite , (1.0) . , AMD64. C, C++ Fortran 77/90/95. . 64- Linux ( RedHat, Fedora, SuSE). 1.3 . ( ) «You'll Win if Your Code Runs 10% Faster». ( «64bit Commercial Compiler» :) ). 32- ( 32- , , peak ), SPEC CPU2000, peak . , , base .

Intel , . . , , , R&D . Intel 5.0 .

, Intel Pentium 4 , Intel :). SIMD .

, :) Intel . 8.0 CPU, ( SIMD) «generic» . 64- AMD64 SPECfp_base2000 32- Intel, SPECint_base2000 .

EM64T — Intel 64- , IA32 — . EM64T , . Intel EM64T ( Prescott, SSE3) 64- ( SSE3 ). AMD Athlon 64/Opteron :).

:

  • gcc/g++/g77: -O3 -funroll-all-loops +PGO (-fprofile-arcs/-fbranch-probabilities), -m32 32- ;
  • PGI: -fastsse -Mipa=fast ( IPA);
  • Pathscale:
  • Intel 8.0: -xW -O3 -ipo +FDO
  • Intel 8.1/EM64T: -xW -O3 -ipo +FDO

, SPEC «estimated», ( gcc Fortran 90, Intel/EM64T 252.eon). .

  gcc32 gcc64 pgi32 pgi64 psc1.3 psc1.3 peak ic80.xW ic81e.xW
164.gzip 1006 1164 777 1009 1347 1351 1192 1214
175.vpr 871 930 801 804 910 936 982 897
176.gcc 1190 1217 1105 1062 1218 1219 1047 1156
181.mcf 1029 667 977 670 665 1043 1041 683
186.crafty 1284 1873 1013 1498 1881 1898 1542 1930
197.parser 1028 974 748 707 927 1110 1175 838
252.eon 1173 1868 293 390 2035 2184 1589  
253.perlbmk 1438 1507 1234 1217 1490 1597 1486 1450
254.gap 1200 1162 967 977 1386 1383 1497 1221
255.vortex 1513 1575 1308 1381 2139 2331 2064 2040
256.bzip2 979 1078 893 962 1125 1133 1070 1076
300.twolf 1005 868 960 827 926 1108 1074 883
SPECint_base2000 (est.) 1128 1186 875 907 1261 1380 1280  

SPECint_base2000 , PGI, 252.eon ( — «» , — ). , 32- Intel (, peak Pathscale ). Pathscale, -36% +28%. 1,5%.

gcc PGI , . Intel/EM64T (?) .

CINT2000 : , , , .

, ( ) .

  gcc32 gcc64 pgi32 pgi64 psc1.3 psc1.3 peak ic80.xW ic81e.xW
168.wupwise 1089 1245 1456 1668 1694 1965 1713 1863
171.swim 1413 1443 2041 2111 2372 2433 2026 1983
172.mgrid 749 857 1138 1236 1465 1470 1165 1237
173.applu 836 949 1253 1335 1512 1820 1234 1356
177.mesa 1063 1626 983 1198 1668 1869 1708 1532
178.galgel     2027 2264 2202 2421 1786 1815
179.art 600 1129 1200 1169 1315 1858 1367 2197
183.equake 1471 1380 1193 1193 1496 1525 1412 1620
187.facerec     1481 2124 1751 1929 1456 1436
188.ammp 825 1022 843 981 1015 1083 910 996
189.lucas     1557 1613 1535 1774 1625 1774
191.fma3d     1346 1461 1358 1441 1309 1384
200.sixtrack 455 550 654 673 665 669 558 550
301.apsi 680 828 1042 1169 1201 1211 1020 1083
SPECfp_base2000 (est.)     1245 1373 1455 1598 1317 1414

CFP2000 Pathscale. Intel, . 7,4%. , , 3%.

PGI 5,6% SPECfp_base2000, -28% +21%.

, . , CINT2000, , , .



AMD64 Intel Xeon/Nocona. SuSE. — 2004 . , , . , (2 Intel Xeon 3.0 (Nocona), Supermicro X6DA8-G2 (Intel E7525), 2x512 DDR2-400 SDRAM Western Digital WD360 (SATA)) , , «100% !», , , .

SPEC CPU2000 gcc, PGI Intel. Pathscale , :).

AMD64 ( IC -xP -xW). , ic81e.xP 252.eon, 253.perlbmk, 254.gap 255.vortex. , 252.eon ( , , , ), , , - .

Intel vs AMD — , DDR2 .

  gcc32 ic80.xP pgi32 gcc64 ic81e.xP pgi64
164.gzip 729 984 737 846 1016 791
175.vpr 739 822 685 708 743 658
176.gcc 1378 1593 1224 1244

1366

1123
181.mcf 845 853 806 498 564 488
186.crafty 868 1109 698 1249 1305 940
197.parser 840 1096 704 841 881 634
252.eon 756 1167 188 1168   208
253.perlbmk 1201 1531 1192 1268   1130
254.gap 1182 1588 1148 1239   1087
255.vortex 1239 2125 1195 1449   1245
256.bzip2 776 935 795 893 964 810
300.twolf 1004 1147 986 791 850 716
SPECint_base2000 (est.) 940 1197 790 974   749
  gcc32 ic80.xP pgi32 gcc64 ic81e.xP pgi64
168.wupwise 1042 2314 1241 1016 2561 1026
171.swim 1559 1919 1949 1453 1909 1915
172.mgrid 714 1226 1116 695 1317 1035
173.applu 752 1227 1276 816 1287 1063
177.mesa 769 1300 934 1324 1526 1030
178.galgel   2063 2197   2030 2100
179.art 413 891 846 800 2725 807
183.equake 1555 1538 1409 1413 1814 1282
187.facerec   1571 1275   1643 1590
188.ammp 561 669 712 736 846 660
189.lucas   1704 1534   1648 1353
191.fma3d   1177 1143   1352 1039
200.sixtrack 286 539 514 406 530 339
301.apsi 582 911 864 620 972 816
SPECfp_base2000 (est.)   1260 1136   1461 1050

, Xeon/Nocona Intel. , :). , 64- .

, , gcc PGI Intel , , , AMD64, EM64T .

64- . , — , , , , 64 vs 32, Intel vs AMD, gcc vs IC . , . % 32- 64- .

  gcc/Intel gcc/AMD ic/Intel ic/AMD pgi/Intel pgi/AMD
164.gzip 16,05 15,71 3,25 1,85 7,33 29,86
175.vpr -4,19 6,77 -9,61 -8,66 -3,94 0,37
176.gcc -9,72 2,27 -14,25 10,41 -8,25 -3,89
181.mcf -41,07 -35,18 -33,88 -34,39 -39,45 -31,42
186.crafty 43,89 45,87 17,67 25,16 34,67 47,88
197.parser 0,12 -5,25 -19,62 -28,68 -9,94 -5,48
252.eon 54,50 59,25     10,64 33,11
253.perlbmk 5,58 4,80   -2,42 -5,20 -1,38
254.gap 4,82 -3,17   -18,44 -5,31 1,03
255.vortex 16,95 4,10   -1,16 4,18 5,58
256.bzip2 15,08 10,11 3,10 0,56 1,89 7,73
300.twolf -21,22 -13,63 -25,89 -17,78 -27,38 -13,85
SPECint_base2000 3,62 5,14     -5,19 3,66
  gcc/Intel gcc/AMD ic/Intel ic/AMD pgi/Intel pgi/AMD
168.wupwise -2,50 14,33 10,67 8,76 -17,32 14,56
171.swim -6,80 2,12 -0,52 -2,12 -1,74 3,43
172.mgrid -2,66 14,42 7,42 6,18 -7,26 8,61
173.applu 8,51 13,52 4,89 9,89 -16,69 6,54
177.mesa 72,17 52,96 17,38 -10,30 10,28 21,87
178.galgel     -1,60 1,62 -4,42 11,69
179.art 93,70 88,17 205,84 60,72 -4,61 -2,58
183.equake -9,13 -6,19 17,95 14,73 -9,01 0,00
187.facerec     4,58 -1,37 24,71 43,42
188.ammp 31,19 23,88 26,46 9,45 -7,30 16,37
189.lucas     -3,29 9,17 -11,80 3,60
191.fma3d     14,87 5,73 -9,10 8,54
200.sixtrack 41,96 20,88 -1,67 -1,43 -34,05 2,91
301.apsi 6,53 21,76 6,70 6,18 -5,56 12,19
SPECfp_base2000     15,98 7,37 -7,57 10,28

, gcc — , ( ) . Linux 64 , 64 .

Intel . - CINT2000 . , . AMD « ». CFP2000, +16% . AMD , :(. .

PGI Intel 64- . , . , EM64T «». AMD Portland Group CFP2000 .

64- AMD64/EM64T . Intel 8.1/EM64T AMD , Pathscale SPECfp_base2000 AMD Athlon 64. SPECint_base2000 — Intel 32- .

64- Intel, , 64- AMD64 . AMD64. EM64T Intel.