LINUX.ORG.RU
 

Меряемся длиной MFLOPS


0

1

Время от времени на LOR возникает топик с предложением потестироваться. Не избежал и я соблазна собрать небольшую статистику по процессорам и компиляторам.

Для теста предлагается скомпилировать и замерить время выполнения классического теста Whetstone, когда-то разработанного фирмой ICL для измерения скорости на вычислительных задачах.

Первый тест простой, не очень точный, но любопытный тем, что именно этот код использовался ещё для оценки быстродействия компьютеров в 80-е годы, включая БЭСМ-6 и другие.

И так ставим в систему fortran, если его ещё не было.

apt-get install gfortran

или как там у вас ставится, компилируем (опции в принципе те же, что у gcc) и запускаем этот код, обратите внимание там в комментариях внутри файла есть результаты для других машин

whets.f

Сообщаем результат. Вместе с процессором, версией компилятора, режимом (32 бит или 64) и опциями оптимизации (-O2, -O3 и др., если были) У меня получилось: 64 бита, gfortran-4.5 c -O2 для Athlon 64 X2 5200+

 **** TEST WHETSTONE ****
 TOTAL TIME -    0.266 SEC.  (  0 MIN.  0.3 SEC.)
    500.0 MILLION WHETSTONE,  1882.353 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.00      0.0%
 ARRAY AS PARAMETER......    0.01      2.9%
 CONDITIONAL JUMPS.......    0.01      2.9%
 INTEGER ARITHMETIC......    0.00      0.0%
 TRIG. FUNCTIONS.........    0.04     14.7%
 PROCEDURE CALLS.........    0.05     17.6%
 ARRAY REFERENCE.........    0.02      5.9%
 STANDART FUNCTIONS......    0.15     55.9%

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

Ставим библиотеку для параллельных вычислений - OpenMPI. У каждого по разному, я для этого ставил библиотеку libopenmpi, libopenmpi-dev, openmpi-common, openmpi-bin уже не помню всё выбирал или по зависимостям.

Качаем файлы whetstoned.f и mwips.f

компилируем

gfortran-4.5 -O2 mwips.f whetstoned.f -o mwips-45 -I /usr/include/mpi/ -lmpif77

Запускаем на одном процессоре. У меня получилось

  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   1
  Calculation time       = 260.52 seconds
  Cluster speed          =   2303 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   2303 MWIPS (ml)
  -------------------------------------------------
  Nodes minimal speed    =   2303 MWIPS
  Acceleration factor    =   1.00
  -------------------------------------------------

Затем на двух или сколько у вас ядер (процессоров), для этого используется mpirun

mpirun -np 2 mwips-45

у меня получилось

  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   2
  Calculation time       = 251.46 seconds
  Cluster speed          =   4772 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   2454 MWIPS (ml)
  Cluster node N01 speed =   2418 MWIPS (ml)
  -------------------------------------------------
  Nodes minimal speed    =   2418 MWIPS
  Acceleration factor    =   1.97
  -------------------------------------------------

Интересно ещё сравнить с результатом, полученным с помощью Intel Fortran. Если верить вышеуказанному сайту быстродействие выше в несколько раз, чуть ли не на порядок, то есть GNU Fortran очень слаб для вычислений.

Добавление: действительно результат Intel Fortran резко лучше. Но также и у gfortran-4.6 он лучше.

Добавление второе: есть еще один тест, не дающий такой разницы между компиляторами gfortran разных версий - flops.f - компилировать с mpi


[#]  
overmind88

> Интересно ещё сравнить с результатом, полученным с помощью Intel Fortran.

Есть ещё компилятор g95

***** ()
[#]  
Norgat

Ubuntu 11.04 32 bit, Core 2 Duo E6750

norgat@ubuntu:~/src$ gfortran -O2 whets.f 
norgat@ubuntu:~/src$ ./a.out 
 **** TEST WHETSTONE ****
 TOTAL TIME -    0.203 SEC.  (  0 MIN.  0.2 SEC.)
    500.0 MILLION WHETSTONE,  2461.539 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.00      0.0%
 ARRAY AS PARAMETER......    0.01      3.8%
 CONDITIONAL JUMPS.......    0.00      0.0%
 INTEGER ARITHMETIC......    0.01      3.8%
 TRIG. FUNCTIONS.........    0.06     30.8%
 PROCEDURE CALLS.........    0.04     19.2%
 ARRAY REFERENCE.........    0.02      7.7%
 STANDART FUNCTIONS......    0.07     34.6%
norgat@ubuntu:~/src$ gfortran -O3 whets.f 
norgat@ubuntu:~/src$ ./a.out 
 **** TEST WHETSTONE ****
 TOTAL TIME -    0.211 SEC.  (  0 MIN.  0.2 SEC.)
    500.0 MILLION WHETSTONE,  2370.370 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.00      0.0%
 ARRAY AS PARAMETER......    0.02      7.4%
 CONDITIONAL JUMPS.......    0.00      0.0%
 INTEGER ARITHMETIC......    0.00      0.0%
 TRIG. FUNCTIONS.........    0.06     29.6%
 PROCEDURE CALLS.........    0.05     22.2%
 ARRAY REFERENCE.........    0.01      3.7%
 STANDART FUNCTIONS......    0.08     37.0%
** ()
[#]  
GotF

gfortran 4.4, Athlon II 440, x86_64.

 **** TEST WHETSTONE ****
 TOTAL TIME -    0.255 SEC.  (  0 MIN.  0.3 SEC.)
    500.0 MILLION WHETSTONE,  1961.686 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.00      0.4%
 ARRAY AS PARAMETER......    0.01      5.1%
 CONDITIONAL JUMPS.......    0.00      0.9%
 INTEGER ARITHMETIC......    0.01      5.1%
 TRIG. FUNCTIONS.........    0.03     11.4%
 PROCEDURE CALLS.........    0.04     17.2%
 ARRAY REFERENCE.........    0.02      8.2%
 STANDART FUNCTIONS......    0.13     51.7%
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   1
  Calculation time       = 181.47 seconds
  Cluster speed          =   3306 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   3306 MWIPS (persephone)
  -------------------------------------------------
  Nodes minimal speed    =   3306 MWIPS
  Acceleration factor    =   1.00
  -------------------------------------------------
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   3
  Calculation time       = 186.81 seconds
  Cluster speed          =   9635 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   3393 MWIPS (persephone)
  Cluster node N01 speed =   3156 MWIPS (persephone)
  Cluster node N02 speed =   3383 MWIPS (persephone)
  -------------------------------------------------
  Nodes minimal speed    =   3156 MWIPS
  Acceleration factor    =   3.05
  -------------------------------------------------
***** ()
[#]  
megabaks
[ megabaks@desktop ] ~/fortran $ ./whets 
 **** TEST WHETSTONE ****
 TOTAL TIME -    0.148 SEC.  (  0 MIN.  0.1 SEC.)
    500.0 MILLION WHETSTONE,  3368.421 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.00      0.0%
 ARRAY AS PARAMETER......    0.01      5.3%
 CONDITIONAL JUMPS.......    0.00      0.0%
 INTEGER ARITHMETIC......    0.00      0.0%
 TRIG. FUNCTIONS.........    0.05     36.8%
 PROCEDURE CALLS.........    0.03     21.1%
 ARRAY REFERENCE.........    0.01      5.3%
 STANDART FUNCTIONS......    0.05     31.6%
[ megabaks@desktop ] ~/fortran $ 
gfortran-4.5.2 -O2 -march=core2 -mtune=generic -mfpmath=sse -msse4.1 -fomit-frame-pointer -pipe whets.f -o whets

32 && E7200 (3172.662)

** ()
[#] Ответ на: комментарий от Norgat 01.06.2011 23:01:10  
Norgat

upd.

norgat@ubuntu:~$ gfortran --version
GNU Fortran (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
** ()
[#]  
mclaudt

gfortran-4.5, MPICH2 1.3.1, 64 bit, кластер на Xeon L5320.

  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   1
  Calculation time       = 184.54 seconds
  Cluster speed          =   3251 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   3251 MWIPS (node1)
  -------------------------------------------------
  Nodes minimal speed    =   3251 MWIPS
  Acceleration factor    =   1.00
  -------------------------------------------------
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =  40
  Calculation time       = 205.57 seconds
  Cluster speed          = 116746 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   3253 MWIPS (node1)
  Cluster node N01 speed =   3254 MWIPS (node1)
  ...
  Cluster node N39 speed =   3251 MWIPS (node4)
  -------------------------------------------------
  Nodes minimal speed    =   2961 MWIPS
  Acceleration factor    =  39.43
  -------------------------------------------------
# ()
[#] Ответ на: комментарий от anonymous_incognito 01.06.2011 23:25:24  
mclaudt

Да нет, конечно, институтский.

# ()
[#] Ответ на: комментарий от overmind88 01.06.2011 22:54:24  

> Есть ещё компилятор g95

Чего-то мне кажется, что это тоже самое, что gfortran, он ведь тоже реализует стандарт Fortran-95

***** ()
[#] Ответ на: комментарий от anonymous_incognito 01.06.2011 23:26:49  
overmind88

> gfortran был ответвлён от проекта g95 в январе 2003, который стартовал в начале 2000 года. Как утверждают разработчики GCC, эти две кодовые базы имеют слишком значительные различия.

***** ()
[#] Ответ на: комментарий от mclaudt 01.06.2011 23:26:46  

> Да нет, конечно, институтский.

:) А то на LOR как-то была новость про человека, сделавшего себе кластер на 12 кажется core2duo

***** ()
[#] Ответ на: комментарий от megabaks 01.06.2011 23:06:43  
megabaks
gfortran-4.5.2 -O2 -march=core2 -mtune=generic -mfpmath=sse -msse4.1 -fomit-frame-pointer -pipe mwips.f whetstoned.f -o mwips-45 -I /usr/include/ -lmpi_f77
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   1
  Calculation time       = 170.71 seconds
  Cluster speed          =   3514 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   3514 MWIPS (desktop)
  -------------------------------------------------
  Nodes minimal speed    =   3514 MWIPS
  Acceleration factor    =   1.00
  -------------------------------------------------
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   2
  Calculation time       = 171.20 seconds
  Cluster speed          =   7009 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   3511 MWIPS (desktop)
  Cluster node N01 speed =   3509 MWIPS (desktop)
  -------------------------------------------------
  Nodes minimal speed    =   3509 MWIPS
  Acceleration factor    =   2.00
  -------------------------------------------------
** ()
[#] Ответ на: комментарий от mclaudt 01.06.2011 23:11:34  

> кластер на Xeon L5320.

Кстати, тест вроде не учитывает число ядер в одном узле, вернее, учитывать это должна пускалка, а так по простому, для 40 процессоров Xeon L5320, наверное надо запускать с np 120, а не 40. Но не уверен в своей правоте.

***** ()
[#]  

испробуем на эльбрусе, как возможность появится. спасибо.

()
[#] Ответ на: комментарий от megabaks 01.06.2011 23:31:07  

> -lmpi_f77

Любопытно, у меня lmpif77, у тебя lmpi_f77. Так можно и не угадать :) Это интересно, в каком дистре?

***** ()
[#] Ответ на: комментарий от anonymous_incognito 01.06.2011 23:35:43  
mclaudt

Все так и есть, речь именно о 40-ка ядрах. mpirun-у на реальные процессоры пофиг в первом приближении.

# ()
[#] Ответ на: комментарий от SMD 01.06.2011 23:37:22  

Интересно будет на результаты взглянуть. Там, кстати, только g77, gfortran или g95 без вариантов или ещё что-то своё есть?

***** ()
[#]  
mono
 **** TEST WHETSTONE ****
 TOTAL TIME -    0.891 SEC.  (  0 MIN.  0.9 SEC.)
    500.0 MILLION WHETSTONE,   561.404 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.02      2.6%
 ARRAY AS PARAMETER......    0.17     19.3%
 CONDITIONAL JUMPS.......    0.05      6.1%
 INTEGER ARITHMETIC......    0.02      1.8%
 TRIG. FUNCTIONS.........    0.23     26.3%
 PROCEDURE CALLS.........    0.17     19.3%
 ARRAY REFERENCE.........    0.05      5.3%
 STANDART FUNCTIONS......    0.17     19.3%

armv7l nvidia tegra 250. gcc 4.5.2 Ubuntu 11.4. Компилировал с O3.

тест для теста производительности кластера запускать кощунственно)

***** ()
[#] Ответ на: комментарий от anonymous_incognito 01.06.2011 23:41:45  

а бес его знает, что там точно есть.

я тред создавал недавно, где всех заинтересовавшихся просил накиидать идей, как померять производительность эльбруса-с и эльбруса-90микро. Смысл в том, что там стоит нечто, похожее на дебиан с 14 ведром и отсутствует интернет. Поэтому обещать не могу.

()
[#] Ответ на: комментарий от mono 01.06.2011 23:48:22  

> тест для теста производительности кластера запускать кощунственно)

Учитывая, что он двухядерный (для обычных вычислений) смысл есть =) Но вообще-то примерное представление даёт и этот тест. В принципе, как я понял, примерно как P-III или Athlon на свои 1 Ггц или чуть медленее. Похоже?

***** ()
[#] Ответ на: комментарий от SMD 01.06.2011 23:52:20  

Ну фортран должен быть, потому как если нет уж очень обломно. Для теста еще нужна какая-то MPI-библиотека.

***** ()
[#]  
megabaks

>Интересно ещё сравнить с результатом, полученным с помощью Intel Fortran
лови :)

[ megabaks@desktop ] ~/fortran $ /opt/intel/Compiler/11.1/072/bin/ia32/ifort -O3 -fomit-frame-pointer -xSSE4.1 -g0 -w -gcc whets.f -o whets[ megabaks@desktop ] ~/fortran $ ./whets 
 **** TEST WHETSTONE ****
 TOTAL TIME -    0.010 SEC.  (  0 MIN.  0.0 SEC.)
    500.0 MILLION WHETSTONE, 49951.219 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.00      8.5%
 ARRAY AS PARAMETER......    0.01     61.0%
 CONDITIONAL JUMPS.......    0.00      4.9%
 INTEGER ARITHMETIC......    0.00      0.0%
 TRIG. FUNCTIONS.........    0.00      0.0%
 PROCEDURE CALLS.........    0.00      0.0%
 ARRAY REFERENCE.........    0.00     25.6%
 STANDART FUNCTIONS......    0.00      0.0%
[ megabaks@desktop ] ~/fortran $
[ megabaks@desktop ] ~/fortran $ /opt/intel/Compiler/11.1/072/bin/ia32/ifort -O3 -fomit-frame-pointer -xSSE4.1 -g0 -w -gcc mwips.f whetstoned.f -o mwips-45 -I /usr/include/mpi/ -lmpi_f77
[ megabaks@desktop ] ~/fortran $ ./mwips-45 
    
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   1
  Calculation time       =  13.00 seconds
  Cluster speed          =  46153 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =  46153 MWIPS (desktop)
  -------------------------------------------------
  Nodes minimal speed    =  46153 MWIPS
  Acceleration factor    =   1.00
  -------------------------------------------------
    
[ megabaks@desktop ] ~/fortran $ 

** ()
[#] Ответ на: комментарий от megabaks 02.06.2011 0:22:36  
megabaks

а вот в 2 потока

  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   2
  Calculation time       =  13.00 seconds
  Cluster speed          =  92307 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =  46153 MWIPS (desktop)
  Cluster node N01 speed =  46153 MWIPS (desktop)
  -------------------------------------------------
  Nodes minimal speed    =  46153 MWIPS
  Acceleration factor    =   2.00
  -------------------------------------------------
но есть одно "но" - файлы получаются по полметра
-rwxr-xr-x 1 megabaks 1018 496K Июн  2 00:21 mwips-45
-rwxr-xr-x 1 megabaks 1018 487K Июн  2 00:20 whets

** ()
[#] Ответ на: комментарий от megabaks 02.06.2011 0:22:36  

Ну чего сказать можно. gfortran, что называется СОСЁТ. Разрыв более чем 10-кратный (!!!) - просто позор. Если только интеловский компилятор не сжульничал как-нибудь на тесте, опустив, неиспользуемые результаты.

***** ()
[#] Ответ на: комментарий от anonymous_incognito 02.06.2011 0:28:00  
megabaks

ну хз
что он там наконпелял, имхо, лучше проверить на реальных задачах
есть чего на десктопе с фортраном, что можно померить?

** ()
[#] Ответ на: комментарий от megabaks 02.06.2011 0:25:04  
mclaudt

0_0 ?????????????????????

Ща поставлю интеловский - прогоню на кластере.

# ()
[#] Ответ на: комментарий от anonymous_incognito 02.06.2011 0:28:00  
megabaks

кстати - как он по "нодам" ровно раскидал...

** ()
[#] Ответ на: комментарий от mclaudt 02.06.2011 0:32:03  
megabaks

давай-давай
поместились бы циферки у тебя в экран с таким кол-вом процов и ядер :3

** ()
[#]  
age
% uname -a
Linux stygia 2.6.39-ARCH #1 SMP PREEMPT Fri May 20 11:33:59 CEST 2011 x86_64 Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz GenuineIntel GNU/Linux

% gfortran --version
GNU Fortran (GCC) 4.6.0 20110513 (prerelease)

% ./whets 
 **** TEST WHETSTONE ****
 TOTAL TIME -    0.016 SEC.  (  0 MIN.  0.0 SEC.)
    500.0 MILLION WHETSTONE, 32000.000 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.00      0.0%
 ARRAY AS PARAMETER......    0.01     50.0%
 CONDITIONAL JUMPS.......    0.00      0.0%
 INTEGER ARITHMETIC......    0.01     50.0%
 TRIG. FUNCTIONS.........    0.00      0.0%
 PROCEDURE CALLS.........    0.00      0.0%
 ARRAY REFERENCE.........    0.00      0.0%
 STANDART FUNCTIONS......    0.00      0.0%

% ./mwips
    
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   1
  Calculation time       =  51.73 seconds
  Cluster speed          =  11598 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =  11598 MWIPS (stygia)
  -------------------------------------------------
  Nodes minimal speed    =  11598 MWIPS
  Acceleration factor    =   1.00
  -------------------------------------------------
    
% mpirun -np 4 mwips
    
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   4
  Calculation time       =  30.00 seconds
  Cluster speed          =  80005 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =  20189 MWIPS (stygia)
  Cluster node N01 speed =  20280 MWIPS (stygia)
  Cluster node N02 speed =  20207 MWIPS (stygia)
  Cluster node N03 speed =  20180 MWIPS (stygia)
  -------------------------------------------------
  Nodes minimal speed    =  20180 MWIPS
  Acceleration factor    =   3.96
  -------------------------------------------------

* ()
[#] Ответ на: комментарий от age 02.06.2011 0:35:53  

Core i3? КАК??? Не верю %( Я думал, это бюджетный проц... а он тут рвёт все феномы и коре2дуо....

** ()
[#] Ответ на: комментарий от BattleCoder 02.06.2011 0:46:23  
age

Бюджетный, но новее. Реквестирую этот тест с i7.

* ()
[#]  

gcc-4.5.2, AMD Phenom II X4 B50

battlecoder@gallifrey /tmp $ ./a.out 
 **** TEST WHETSTONE ****
 TOTAL TIME -    0.254 SEC.  (  0 MIN.  0.3 SEC.)
    500.0 MILLION WHETSTONE,  1967.339 MILLION WHETSTONE/SEC
 ARRAY ELEMENTS..........    0.00      0.9%
 ARRAY AS PARAMETER......    0.02      6.6%
 CONDITIONAL JUMPS.......    0.01      2.4%
 INTEGER ARITHMETIC......    0.02      6.2%
 TRIG. FUNCTIONS.........    0.06     24.8%
 PROCEDURE CALLS.........    0.07     26.8%
 ARRAY REFERENCE.........    0.02      9.8%
 STANDART FUNCTIONS......    0.06     22.5%
battlecoder@gallifrey /tmp $ ./mwips-45 
    
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   1
  Calculation time       = 212.59 seconds
  Cluster speed          =   2822 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   2822 MWIPS (gallifrey)
  -------------------------------------------------
  Nodes minimal speed    =   2822 MWIPS
  Acceleration factor    =   1.00
  -------------------------------------------------
    
battlecoder@gallifrey /tmp $ mpirun -np 4 mwips-45
    
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   4
  Calculation time       = 219.35 seconds
  Cluster speed          =  10941 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   2816 MWIPS (gallifrey)
  Cluster node N01 speed =   2850 MWIPS (gallifrey)
  Cluster node N02 speed =   2824 MWIPS (gallifrey)
  Cluster node N03 speed =   2831 MWIPS (gallifrey)
  -------------------------------------------------
  Nodes minimal speed    =   2816 MWIPS
  Acceleration factor    =   3.89
  -------------------------------------------------
** ()
[#] Ответ на: комментарий от age 02.06.2011 0:52:33  

у меня тоже есть corei3. но у меня другой... частота другая, заниженная (1.2), низковольтный, ноутбучный... потом на нём тоже попробую это запустить.

** ()
[#] Ответ на: комментарий от megabaks 02.06.2011 0:31:37  

> что он там наконпелял, имхо, лучше проверить на реальных задачах есть чего на десктопе с фортраном, что можно померить?

Это искать надо какую-нибудь реальную прогу.

Но, я сейчас попробовал gfortran-4.6 - это совсем другое дело. Результат тоже увеличился раз в 10 по сравнению с предыдущими версиями.

В общем, %-)

Надо будет ассемблерный код глянуть.

***** ()
[#] Ответ на: комментарий от anonymous_incognito 02.06.2011 0:57:56  

Вот станет он хотя бы ~x86 в портежах, тогда и обновлюсь =) и сравню.

А пока других занятий хватает... чем по 100500 версий гэцэцэ компилять. (что в разных слотах можно держать - знаю, но всё равно не хочу)

** ()
[#] Ответ на: комментарий от megabaks 02.06.2011 0:33:52  
mclaudt

Под прежний mpich подложил новый компилятор просто флагом -f77=ifort

Вот результат:

  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =  40
  Calculation time       =  26.00 seconds
  Cluster speed          = 923076 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =  26086 MWIPS (node1)
  Cluster node N01 speed =  25000 MWIPS (node1)
  ...
  Cluster node N39 speed =  26086 MWIPS (node4)
  -------------------------------------------------
  Nodes minimal speed    =  24000 MWIPS
  Acceleration factor    =  38.46
  -------------------------------------------------

Хрен знает, что это за тест, мне трудно поверить, что эффективность разнится в 8 раз. Наверняка мухлеж в тестовом коде.

# ()
[#] Ответ на: комментарий от age 02.06.2011 0:35:53  
mclaudt

Кстати "странный" результат - у всех остальных вышло, что при увеличении числа потоков (хотя в тесте упорно называется processor) общее время расчета не меняется (особенность теста).

Хотя по логике вещей конечно же время расчета и должно уменьшаться.

# ()
[#]  
bsdfun
$ gfortran -O3 whets.f

$ ./a.out 
**** TEST WHETSTONE ****
TOTAL TIME - 0.021 SEC. ( 0 MIN. 0.0 SEC.)
500.0 MILLION WHETSTONE, 23813.953 MILLION WHETSTONE/SEC
ARRAY ELEMENTS.......... 0.00 4.7%
ARRAY AS PARAMETER...... 0.01 53.5%
CONDITIONAL JUMPS....... 0.00 4.7%
INTEGER ARITHMETIC...... 0.00 23.3%
TRIG. FUNCTIONS......... 0.00 0.0%
PROCEDURE CALLS......... 0.00 0.0%
ARRAY REFERENCE......... 0.00 14.0%
STANDART FUNCTIONS...... 0.00 0.0%

Arch i686, Phenom II X4.

*** ()
[#] Ответ на: комментарий от mclaudt 02.06.2011 1:12:36  

> Хрен знает, что это за тест, мне трудно поверить, что эффективность разнится в 8 раз. Наверняка мухлеж в тестовом коде.

Разные ведь файлы даже. Попробую разобраться, но вообще-то что-то слышал о неэффективности gfortran.

***** ()
[#] Ответ на: комментарий от mono 01.06.2011 23:48:22  
nutz

Это на АС100?

У тебя есть лаг тачпада?

** ()
[#] Ответ на: комментарий от anonymous_incognito 02.06.2011 1:50:02  
mclaudt

>>Разные ведь файлы даже.

Ты про бинарники? Ну так было бы странно если бы они были одинаковы на разных компиляторах.

# ()
[#] Ответ на: комментарий от anonymous_incognito 02.06.2011 2:23:44  
mclaudt

Моя фраза "эффективность разнится в 8 раз" относилась к разнице компиляторов gfortran и ifort для одного и того же теста на одном и том же числе процессоров.

# ()
[#] Ответ на: комментарий от mclaudt 02.06.2011 1:32:16  

Да... кстати. я тоже этого прикола не понял. Почему так...

Запускал и компилил вроде также, как все.

Общее время почти такое же... просто по какой-то причине объём вычисляемых данных тоже увеличился. =)

** ()
[#] Ответ на: комментарий от anonymous_incognito 02.06.2011 0:56:12  
megabaks

я тоже попробовал 4.6 - такой же слив, как и у 4.5

[ megabaks@desktop ] ~/fortran $ gfortran-4.6.0 -O2 -march=core2 -mtune=generic -mfpmath=sse -msse4.1 -fomit-frame-pointer -pipe mwips.f whetstoned.f -o mwips-45 -I /usr/include/ -lmpi_f77
[ megabaks@desktop ] ~/fortran $ ./mwips-45 
    
  Cluster Double Precision Whetstone Test ---------
  Quantity of processors =   1
  Calculation time       = 169.18 seconds
  Cluster speed          =   3546 MWIPS
  -------------------------------------------------
  Cluster node N00 speed =   3546 MWIPS (desktop)
  -------------------------------------------------
  Nodes minimal speed    =   3546 MWIPS
  Acceleration factor    =   1.00
  -------------------------------------------------
    
[ megabaks@desktop ] ~/fortran $ 

** ()