LINUX.ORG.RU
ФорумTalks

Эффективность процессоров


0

1

Провел небольшой бенчмарк процессоров, имеющихся у меня, на моей вычислительной задаче.

Сравнивал amd k5 90 MHz и athlon64 II x2 (k10), 3000 МГц,

На athlon 64 II считается за 118 секунд на одном ядре, на K5 примерно за десять часов (экстраполировано, проверялось на меньшем объеме данных).

Разница в ~300 раз, хотя частота ниже в 33 раза. Задача меряет практически только процессор, т.к. ни HDD и памяти активно не использует.

Итого, k10 эффективнее k5 в 9 раз.

вот использовавшаяся программа

https://github.com/vladtcvs/geodesic

geodesic_server, geodesic_client

Если не затруднит, проверьте у себя. время исполнения, частота процессора

★★★★★

Последнее исправление: cvs-255 (всего исправлений: 1)

Разница в ~300 раз, хотя частота ниже в 33 раза

А разница в размерах кэша? Ась?

памяти активно не использует

Данные что, только в регистрах лежат?

А вообще, K5, наверное, на каждую инструкцию по 10 тактов тратит, вот и результат.

no-such-file ★★★★★
()
Ответ на: комментарий от cvs-255

./geodesic_server

Нету таких.

$ cmake CMakeLists.txt 
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/balancer/Works/test/geodesic

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

Да. Это меня порадовало в тот момент, когда я с помощью него строил всякие математические функции.

luke ★★★★★
()
Последнее исправление: luke (всего исправлений: 1)
Ответ на: комментарий от KRoN73

Best cmake practices

mkdir build
cd build
cmake ../
make -j$((cores+1))

И весь мусор и собранные проги в build, не замусоривая оригинальное дерево исходников

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

это уже есть в одном из старых коммитов

cvs-255 ★★★★★
() автор топика

FX-8350 4.5GHz (грузит одно ядро).

$ time ./geodesic_client 127.0.0.1
Machine with 8 CPU
...
0.000000 2.480000 1.570796 0.000000 
N = 1000 h = 30.000000 dh = 0.010000  ID = 99
FIN: calc_id = 99
My tid = 47637834213120
real    6m18.103s
user    6m16.496s
sys     0m1.316s

Phenom II X6 1100T 3,7 GHz (грузит одно ядро)

$ time ./geodesic_client 127.0.0.1
Machine with 6 CPU

0.000000 2.480000 1.570796 0.000000 
N = 1000 h = 30.000000 dh = 0.010000  ID = 99
FIN: calc_id = 99
My tid = 139966153205504
real    6m33.620s
user    6m32.873s
sys     0m0.652s

На athlon 64 II считается за 118 секунд на одном ядре

Что-то тут не так.

Jurik_Phys ★★★★★
()
Ответ на: комментарий от cvs-255

А как ему опции компиляции указать? А то только
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

И в CMakeLists.txt прописываю, и CFLAGS/CXXFLAGS указаны. Пофиг.

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

Что-то тут не так.

На i7-3770 (3.5ГГц?) получается на одном ядре

real	4m43.200s
user	4m42.268s
sys	0m0.404s


Но это оптимизация -O3, без заточки под процессор.

KRoN73 ★★★★★
()
Последнее исправление: KRoN73 (всего исправлений: 1)
Ответ на: комментарий от KRoN73

Хм, уже ближе к моему результату.

Откуда ТС взял это:

На athlon 64 II считается за 118 секунд на одном ядре,

Relan это:

61,7 с
Core i5-4670K @ 4,2 ГГц, GCC 4.8.2, CXXFLAGS='-Wall -O3 -march=native -fomit-frame-pointer'.

~(3-4)-х кратное ускорение за счёт оптимизации? Разрази меня гром, если это так.

Jurik_Phys ★★★★★
()

Ты еще энергоэффективность не учел. Например, мой i5-3210m с tdp 15w кранчит больше чем Athlon 2 x4 630 с 95w.

KillTheCat ★★★★★
()
-fasynchronous-unwind-tables -fauto-inc-dec -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cfi-asm -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcse-lm -fident -finline-functions-called-once -fira-share-save-slots -fira-share-spill-slots -fivopts -fkeep-static-consts -fleading-underscore -fmath-errno -fmerge-debug-strings -fmove-loop-invariants -fpcc-struct-return -fpeephole -fprefetch-loop-arrays -fsched-critical-path-heuristic -fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fshow-column -fsigned-zeros -fsplit-ivs-in-unroller -fstrict-volatile-bitfields -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-if-convert -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops= -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time -funwind-tables -fvar-tracking -fvar-tracking-assignments -fvect-cost-model -fzero-initialized-in-bss -m32 -m80387 -m96bit-long-double -maccumulate-outgoing-args -malign-stringops -mfancy-math-387 -mfp-ret-in-387 -mglibc -mieee-fp -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs
real    8m12.883s
user    8m8.897s
sys     0m1.203s

Q9400 3.2GHz

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

в geod.h меняешь define.

И используешь файл проекта от вижуалстудии

правда там с разделением на 3 части плохо

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Из всего этого я понял только «плохо с разделением» :)

dk-
()
Ответ на: комментарий от Jurik_Phys

~(3-4)-х кратное ускорение за счёт оптимизации? Разрази меня гром, если это так.

Угу. Без оптимизации у меня тоже больше 4 минут (кажись 4:22) получалось, потому и привел опции. А ты думал компиляторы просто так точат под железо? :)

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

А ты думал компиляторы просто так точат под железо? :)

Я в шоке! Некоторое время назад экспериментировал со сборокой FDS под gcc, icc с разными флагами. Разница укладывалась в 10%. То, что в реальности на некоторых задачах может быть разгон в разы даже представить не мог.

Jurik_Phys ★★★★★
()

Частота системной шины, объём кэша, количество ядер тоже влияют.

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

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