[ megabaks@desktop ] ~/linpack_10.3.7/benchmarks/linpack $ ./xlinpack_xeon32
Input data or print help ? Type [data]/help :
18500
Number of equations to solve (problem size): 18500
Leading dimension of array: 4
Warning: incorrect parameter Leading dimension of array (18500),
must be not less than (18500),
set to default value (18500).
Number of trials to run: 4
Data alignment value (in Kbytes): 4
Current date/time: Sun Oct 30 01:34:00 2011
CPU frequency: 3.170 GHz
Number of CPUs: 1
Number of cores: 2
Number of threads: 2
Parameters are set to:
Number of tests : 1
Number of equations to solve (problem size) : 18500
Leading dimension of array : 18500
Number of trials to run : 4
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used = 2738374096, at the size = 18500
============= Timing linear equation system solver =================
Size LDA Align. Time(s) GFlops Residual Residual(norm)
18500 18500 4 208.953 20.2044 3.292472e-10 3.409721e-02
ждать лень до конца
у меня всё сломано и ничего не работает?
$ ./xlinpack_xeon32
Input data or print help ? Type [data]/help :
Number of equations to solve (problem size): 18500
Leading dimension of array: 18500
Number of trials to run: 1
Data alignment value (in Kbytes): 4
Current date/time: Sat Oct 29 23:53:55 2011
CPU frequency: 3.188 GHz
Number of CPUs: 1
Number of cores: 2
Number of threads: 4
Parameters are set to:
Number of tests : 1
Number of equations to solve (problem size) : 18500
Leading dimension of array : 18500
Number of trials to run : 1
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used = 2738374096, at the size = 18500
============= Timing linear equation system solver =================
Size LDA Align. Time(s) GFlops Residual Residual(norm)
18500 18500 4 129.640 32.5654 1.184009e+03 1.226173e+11
Performance Summary (GFlops)
Size LDA Align. Average Maximal
18500 18500 4 32.5654 32.5654
End of tests
И это НЕ БИТАЯ ПАМЯТЬ, потому что а) я ее многократно проверил, б) 64-битные Scientific 6.1 и Ubuntu 11.04 дают одинаковые и ПРАВИЛЬНЫЕ результаты, хотя там весь софт разный.
Это итеративный алгоритм решения системы линейных уравнений - стандартный тест производительности компов. Residual — это невязка, разность между данной правой частью линейного уравнения и вычисленной с помощью полученного решения. Понятно, что она должна быть близка к 0, если нет — это не решение, а говно какое-то.
Вот и оказывается, что с PAE ядром получается какое-то говно. Мое предположение — оно как-то некорректно сохраняет состояние сопроцессора и/или регистров SSE при обработке исключений страниц и/или переключения контекста.
Да, если что, опыты все поставлены с дефолтным ядром Ubuntu 11.04 PAE. Причем оно несколько раз обновлялось, но картина не меняется. Причем, как я уже сказал, x86_64 Ubuntu 11.04 работает корректно.
[alfirk linpack]$ ./xlinpack_xeon32
Input data or print help ? Type [data]/help :
Number of equations to solve (problem size): 18500
Leading dimension of array: 18500
Number of trials to run: 4
Data alignment value (in Kbytes): 4
Current date/time: Sun Oct 30 03:01:33 2011
CPU frequency: 2.591 GHz
Number of CPUs: 1
Number of cores: 4
Number of threads: 4
Parameters are set to:
Number of tests : 1
Number of equations to solve (problem size) : 18500
Leading dimension of array : 18500
Number of trials to run : 4
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used = 2738374096, at the size = 18500
============= Timing linear equation system solver =================
Size LDA Align. Time(s) GFlops Residual Residual(norm)
18500 18500 4 577.582 7.3094 3.277050e-10 3.393750e-02
18500 18500 4 311.500 13.5530 3.277050e-10 3.393750e-02
[alfirk linpack]$ uname -a
Linux alfirk 2.6.18-274.3.1.el5PAE #1 SMP Tue Sep 6 19:27:42 EDT 2011 i686 athlon i386 GNU/Linux
Знатный срач, не ожидал такой реакции на вброс х86-64. ИМХО 64 (не виноватый я) для десктопа избыточно, а проблем можно огрести. Для специфических требований другой коленкор.
Number of equations to solve (problem size): 18500
Leading dimension of array: 18500
Number of trials to run: 1
Data alignment value (in Kbytes): 4
Current date/time: Sun Oct 30 08:23:43 2011
CPU frequency: 2.592 GHz
Number of CPUs: 1
Number of cores: 2
Number of threads: 2
Parameters are set to:
Number of tests : 1
Number of equations to solve (problem size) : 18500
Leading dimension of array : 18500
Number of trials to run : 1
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used = 2738374096, at the size = 18500
============= Timing linear equation system solver =================
Size LDA Align. Time(s) GFlops Residual Residual(norm)
18500 18500 4 225.541 18.7184 3.292472e-10 3.409721e-02
Performance Summary (GFlops)
Size LDA Align. Average Maximal
18500 18500 4 18.7184 18.7184
End of tests
Intel(R) Pentium(R) CPU G620 @ 2.60GHz семейство SandyBridge,
суся, 3.1.0 с пае
причём здесь Hugepage?
KSM only operates on those areas of address space which an application
has advised to be likely candidates for merging, by using the madvise(2)
system call: int madvise(addr, length, MADV_MERGEABLE).
http://www.gearsongallium.com/?p=181 таже суся 12.1 только с десктопным ядром в котором включенно пае, и более свежей месой.
дельфином монтируем диск и запускаем linpack, только что проверил сам, даже получилось больше GFlops,
root@heze:~/linpack_10.3.7/benchmarks/linpack# ./xlinpack_xeon32
Input data or print help ? Type [data]/help :
Number of equations to solve (problem size): 15000
Leading dimension of array: 15000
Number of trials to run: 2
Data alignment value (in Kbytes): 4
Current date/time: Sun Oct 30 19:17:54 2011
CPU frequency: 2.321 GHz
Number of CPUs: 1
Number of cores: 2
Number of threads: 2
Parameters are set to:
Number of tests : 1
Number of equations to solve (problem size) : 15000
Leading dimension of array : 15000
Number of trials to run : 2
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used = 1800304096, at the size = 15000
============= Timing linear equation system solver =================
Size LDA Align. Time(s) GFlops Residual Residual(norm)
15000 15000 4 172.098 13.0765 2.213416e-10 3.486168e-02
15000 15000 4 172.506 13.0456 2.213416e-10 3.486168e-02
Performance Summary (GFlops)
Size LDA Align. Average Maximal
15000 15000 4 13.0611 13.0765
End of tests
root@heze:~/linpack_10.3.7/benchmarks/linpack# uname -a
Linux heze 3.0.0-12-generic-pae #20-Ubuntu SMP Fri Oct 7 16:37:17 UTC 2011 i686 athlon i386 GNU/Linux
root@heze:~/linpack_10.3.7/benchmarks/linpack#
Допустим, что у меня что-то встало криво, но что? Бинарник статический, не зависит ни от каких библиотек, ядро стандартное, обновлялось не раз, вряд ли же оно несколько раз подряд «побилось».