LINUX.ORG.RU
ФорумTalks

Меряемся длиной 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

★★★★★

Последнее исправление: anonymous_incognito (всего исправлений: 4)

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

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

overmind88 ★★★★★
()

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%
Norgat ★★★★★
()

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
  -------------------------------------------------
GotF ★★★★★
()
[ 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)

megabaks ★★★★
()
Ответ на: комментарий от Norgat

upd.

norgat@ubuntu:~$ gfortran --version
GNU Fortran (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
Norgat ★★★★★
()

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
  -------------------------------------------------
mclaudt
()
Ответ на: комментарий от overmind88

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

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

anonymous_incognito ★★★★★
() автор топика
Ответ на: комментарий от anonymous_incognito

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

overmind88 ★★★★★
()
Ответ на: комментарий от mclaudt

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

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

anonymous_incognito ★★★★★
() автор топика
Ответ на: комментарий от 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
  -------------------------------------------------
megabaks ★★★★
()
Ответ на: комментарий от mclaudt

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

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

anonymous_incognito ★★★★★
() автор топика
Ответ на: комментарий от anonymous_incognito

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

mclaudt
()
Ответ на: комментарий от Deleted

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

anonymous_incognito ★★★★★
() автор топика
 **** 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.

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

mono ★★★★★
()
Ответ на: комментарий от anonymous_incognito

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

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

Deleted
()
Ответ на: комментарий от mono

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

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

anonymous_incognito ★★★★★
() автор топика
Ответ на: комментарий от Deleted

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

anonymous_incognito ★★★★★
() автор топика

Интересно ещё сравнить с результатом, полученным с помощью 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 ★★★★
()
Ответ на: комментарий от 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 ★★★★
()
Ответ на: комментарий от megabaks

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

anonymous_incognito ★★★★★
() автор топика
Ответ на: комментарий от anonymous_incognito

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

megabaks ★★★★
()
Ответ на: комментарий от anonymous_incognito

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

megabaks ★★★★
()
% 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
()

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
  -------------------------------------------------
BattleCoder ★★★★★
()
Ответ на: комментарий от age

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

BattleCoder ★★★★★
()
Ответ на: комментарий от megabaks

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

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

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

В общем, %-)

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

anonymous_incognito ★★★★★
() автор топика
Ответ на: комментарий от anonymous_incognito

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

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

BattleCoder ★★★★★
()
Ответ на: комментарий от megabaks

Под прежний 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 раз. Наверняка мухлеж в тестовом коде.

mclaudt
()
Ответ на: комментарий от age

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

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

mclaudt
()
$ 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.

bsdfun ★★★★★
()
Ответ на: комментарий от mclaudt

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

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

anonymous_incognito ★★★★★
() автор топика
Ответ на: комментарий от anonymous_incognito

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

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

mclaudt
()
Ответ на: комментарий от anonymous_incognito

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

mclaudt
()
Ответ на: комментарий от mclaudt

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

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

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

BattleCoder ★★★★★
()
Ответ на: комментарий от mclaudt

Нашел ещё один тест :) http://cluster.linux-ekb.info/download/flops.f

компилировать с MPI, вроде на нём не должно быть такой разницы. Во всяком случае результат gfortran-4.6 уже не отличается от 4.5

anonymous_incognito ★★★★★
() автор топика
Ответ на: комментарий от anonymous_incognito

я тоже попробовал 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 $ 

megabaks ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.