Автор Тема: Intel Compiler Tests  (Прочетена 10143 пъти)

vladou

  • Напреднали
  • *****
  • Публикации: 61
    • Профил
Intel Compiler Tests
« -: May 28, 2004, 22:35 »
Няколко дена тука седя и си играя, не че няма с какво друго, но ...

Та имаме следния сорс код:
Примерен код
#include <stdio.h>
#define SIZE 100
#define N    1000000
double sum = 0, a[SIZE], b[SIZE];
main() {
   int i, j;
   for (i = 0; i < SIZE; i++) {
      a[i] = 2.0;
      b[i] = 3.0;
   }
   for (j = 0; j < N; j++)
      for (i = 0; i < SIZE; i++)
         sum += a[i] * b[i];
   printf( "OK, dofp result = %e\n", sum);
}


При компилирне с GCC резултатите са следните :
OK, dofp result = 6.000000e+08
real    0m1.037s, user    0m1.040s,sys     0m0.000s

При компилиране с Intel C++ компилатор:
OK, dofp result = 6.000000e+08
real    0m0.067s,user    0m0.070s,sys     0m0.000s

Използванта конфигурация е:
Intel Pentium 4 2.8GHz/800MHz FSB/Dual Channel 1GB RAM(количеството няма значение)/някакъв хард диск.

GCC:
gcc version 3.2, Thread model: posix - SuSE 8.1 Pro.

Intel C++ compiler:
Intel® C++ Compiler for 32-bit applications, Version 8.0   Build 20031016Z Package ID: l_cc_p_8.0.055
Copyright © 1985-2003 Intel Corporation.  All rights reserved.
30 DAY EVALUATION LICENSE

Нещо като обобщение:
Резултатите говорят сами за себе си. Ако някои има идея за по-добри опимизации при GCC да пише, ще ги тестваме.
Активен

Professional server builder
ADSYS group team

  • Гост
Intel Compiler Tests
« Отговор #1 -: May 29, 2004, 00:08 »
Не че въобще трябва да се отговаря на тази тема но все пак:
Intel Compiler поддържа ix86 (предполагам и IA64) а gcc (само един бърз поглед в/у supported platforms) поддържа над 15 платформи(процесора). Съвсем нормално е да не е толкова продуктивен. Пък и ако от Intel не могат да напишат най-оптимизирания код за своите си процесори ... тогава кой ?

Айде със здраве
Активен

zazzko

  • Напреднали
  • *****
  • Публикации: 626
    • Профил
    • WWW
Intel Compiler Tests
« Отговор #2 -: May 29, 2004, 00:11 »
Странно..на моя Duron 750 програмата дава следното:
real    0m1.820s
user    0m1.790s
Това е не е много повече от твоите времена, сравнимо с честотата на процесора (да не говорим за архитектурата). Това е с gcc 3.3.3.

Йордан

  • Напреднали
  • *****
  • Публикации: 1451
  • Distribution: Ubuntu / Gentoo
  • Window Manager: Gnome
  • не е важно колко ти е голяма пишката, а какво можеш с нея
    • Профил
    • WWW
Intel Compiler Tests
« Отговор #3 -: May 29, 2004, 12:37 »
а мислиш ли че само компилатора определя производителноста ...
мисълта ми е че ядрото файловата система и к'во ли още не може да влияе ... според мен не можете така да сравнявате компилаторите ...
Активен

Всеки пост - отговор на въпрос !!!

Йордан Георгиев
http://ygeorgiev.net/

vladou

  • Напреднали
  • *****
  • Публикации: 61
    • Профил
Intel Compiler Tests
« Отговор #4 -: May 29, 2004, 14:14 »
Цитат (GigaVolt @ Май 29 2004,13:37)
а мислиш ли че само компилатора определя производителноста ...
мисълта ми е че ядрото файловата система и к'во ли още не може да влияе ... според мен не можете така да сравнявате компилаторите ...

Ами точно в конктретния случай според мен няма никакво значение от по-горе изброените неща, защото тази програма не се влияе тях. Единственото изискване е да нямате натоварване на машината от други процеси, което не е трудно да се осигури.
Активен

Professional server builder
ADSYS group team

vladou

  • Напреднали
  • *****
  • Публикации: 61
    • Профил
Intel Compiler Tests
« Отговор #5 -: May 29, 2004, 14:22 »
Цитат (zazzko @ Май 29 2004,01:11)
Странно..на моя Duron 750 програмата дава следното:
real    0m1.820s
user    0m1.790s
Това е не е много повече от твоите времена, сравнимо с честотата на процесора (да не говорим за архитектурата). Това е с gcc 3.3.3.

Ами да, но този програма пусната на Pentium II 400MHz дава следните резулатати:
real    0m0.922s
user    0m1.836s
sys     0m0.008s
На пръв поглед - да ти имам и Дюрона ;-)
На втори поглед - очевидно е, че ГЦЦ е спряло да се развива при 486 архитектурата и не използва съвременните архитектури оптимално.
Всеки, които има желание може да я изтегли от тук -  DOFP Static linked. Гарантирам, че няма висури или етц, но е голяма, защото са статични библиотеките.
Ще ми бъде интересно, ако видя повече резуктати тук.
В момента с Linux-BG TEAM обсъждаме идеята да се сравни общата производителност на система, компилирана изцяло с този компилатор. Аз работя по компилирането на Kernel 2.4.xx, Samba, Apache
Активен

Professional server builder
ADSYS group team

vladou

  • Напреднали
  • *****
  • Публикации: 61
    • Профил
Intel Compiler Tests
« Отговор #6 -: May 29, 2004, 14:26 »
Цитат (Guest @ Май 29 2004)
Не че въобще трябва да се отговаря на тази тема но все пак:

ами аз съм я сложил темата да се коментира от всеки, който иска ;-)

Цитат (Guest @ Май 29 2004)
Intel Compiler поддържа ix86 (предполагам и IA64) а gcc (само един бърз поглед в/у supported platforms) поддържа над 15 платформи(процесора). Съвсем нормално е да не е толкова продуктивен. Пък и ако от Intel не могат да напишат най-оптимизирания код за своите си процесори ... тогава кой ?

Искам да дам и едно разяснение ICC е почти 100% съвместим с GCC.
Интересното е, че включително и AMD компилират тестовете си с този компилатор /нямат собствен/, за да постигнат по-добри резултати.
Активен

Professional server builder
ADSYS group team

saturn_vk

  • Напреднали
  • *****
  • Публикации: 215
    • Профил
Intel Compiler Tests
« Отговор #7 -: May 29, 2004, 14:27 »
е какви опции си използвал за гцц? -O2 -march=pentium4 -pipe -funroll-loops са доста добри оптимизации, я пробвай да компилираш програмата с тях.

Примерен код

saturn_vk@sat:~$ time ./a.out
OK, dofp result = 6.000000e+08

real    0m0.275s
user    0m0.251s
sys     0m0.003s


на barton 2500+
Активен

"That is not dead which can eternal lie,
And with strange aeons even death may die."

vladou

  • Напреднали
  • *****
  • Публикации: 61
    • Профил
Intel Compiler Tests
« Отговор #8 -: May 29, 2004, 15:17 »
Цитат (saturn_vk @ Май 29 2004,15:27)
е какви опции си използвал за гцц? -O2 -march=pentium4 -pipe -funroll-loops са доста добри оптимизации, я пробвай да компилираш програмата с тях.

Добре, ето ги резултатите:
real    0m0.187s, user    0m0.190s, sys     0m0.000s

Разликата остава повече от 3 пъти.
Активен

Professional server builder
ADSYS group team

n_antonov

  • Напреднали
  • *****
  • Публикации: 1185
    • Профил
    • WWW
Intel Compiler Tests
« Отговор #9 -: May 29, 2004, 15:27 »
Ето един Athlon XP 1.7Ghz, 512 cache, SuSE 8.1, gcc version 3.2.2:

real    0m0.703s user   0m0.700s sys    0m0.000s

Ето и какво казва интелският компилатор:

real    0m0.232s user    0m0.220s sys     0m0.010s

Разликата е чувствителна.

И още едно сравнение, този път с Intel PIII 750Mhz, 32 cache, Debian Woody, gcc version 3.0.4:

real    0m1.630s  user    0m1.570s sys     0m0.030s

Същата система с интелския компилатор:

real    0m0.512s user    0m0.490s sys     0m0.000s



Активен

-------------------------------------------------------------------------
./debian/rules

kostadinz

  • Напреднали
  • *****
  • Публикации: 197
    • Профил
Intel Compiler Tests
« Отговор #10 -: May 29, 2004, 16:19 »
oткъде ги вадите тези работи:
real    xxxxxxs   user   xxxxx   sys    xxxxxxxxxxxs
Активен

ray

  • Напреднали
  • *****
  • Публикации: 1456
    • Профил
Intel Compiler Tests
« Отговор #11 -: May 29, 2004, 20:02 »
Здравейте,
Ето и мойте резултати /GCC/:
real    0m1.958s
user    0m1.149s
sys     0m0.004s

CPU: Duron-1100 MHz, GCC-3.3.3
Румен.

PS:отчитане време за изпълнение с: time ./a.out
Активен

Йордан

  • Напреднали
  • *****
  • Публикации: 1451
  • Distribution: Ubuntu / Gentoo
  • Window Manager: Gnome
  • не е важно колко ти е голяма пишката, а какво можеш с нея
    • Профил
    • WWW
Intel Compiler Tests
« Отговор #12 -: May 29, 2004, 22:06 »
a toq intelskiq kompilator kak se kazwa 4e ne6to mai go nqmam
Активен

Всеки пост - отговор на въпрос !!!

Йордан Георгиев
http://ygeorgiev.net/

zazzko

  • Напреднали
  • *****
  • Публикации: 626
    • Профил
    • WWW
Intel Compiler Tests
« Отговор #13 -: May 30, 2004, 00:02 »
Примерен код

gcc -march=athlon -funroll-loops  -ffast-math -pipe -mmmx -m3dnow -fomit-frame-pointer -O3 comp_test.c -o comp_test

Резултат:
real    0m0.601s
user    0m0.600s
Разликата спрямо старите ми резултати е 3 пъти.
И двете са при пуснато KDE.

vladou

  • Напреднали
  • *****
  • Публикации: 61
    • Профил
Intel Compiler Tests
« Отговор #14 -: May 31, 2004, 10:50 »
Цитат (GigaVolt @ Май 29 2004)
a toq intelskiq kompilator kak se kazwa 4e ne6to mai go nqmam

Ами за съжаление тои не е фрее. По принцип може да се изтегли от developer.intel.com
Активен

Professional server builder
ADSYS group team

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Intel compiler
Общ форум
lamcho 0 3312 Последна публикация Oct 18, 2002, 16:13
от lamcho
GNU C Compiler
Настройка на програми
mozly 2 3370 Последна публикация Jan 25, 2003, 22:28
от mozly
C Compiler
Настройка на програми
deo_boy 1 2794 Последна публикация Nov 22, 2005, 15:47
от Dimitar_Ouzounoff
Gcc vs intel®  c++ compiler for linux
Настройка на програми
ZEN 4 3843 Последна публикация Jun 05, 2006, 09:33
от greenbul
Регулярни изрази за Tiny C Compiler - SLRE или друга библиотека?
Общ форум
PhrozenCrew 5 4513 Последна публикация Jul 20, 2012, 14:35
от morbid_viper