Member
Статус: Не в сети Регистрация: 24.10.2003 Откуда: Novosibirsk
Alspiz писал(а):
Cronos писал(а):
достиг почти 88% !
А какой в этом смысл, если не секрет?
У процессора есть теоретическая пиковая производительность, которую он может показать на определенном типе операций. То есть, максимально возможное количество операций определенного типа которое он может выполнить в единицу времени.
Linpack решает математическую задачу - систему линейных уравнений произвольного порядка, размер системы это как раз problem size.
Определяется скорость выполненения операций над данными с двойной точностью (64bit double). Особенность алгоритма состоит в том что он очень эфффективно использует кэш процессора, что позволяет достичь реальной производительности, близкой к пиковой.
Такая высокая эффективноcть целиком и полностью базируется на использовании оптимизированной библиотеки BLAS =Basic Linear Algebra Subprograms, в которой содержится большинство типичных операций с векторами и матрицами, как то умножение, сложение, транспонирование и др.
Эта библиотека BLAS стандартизована, то есть все операции которы еона предоставляет являются стандартными. Конкретная ее реализация под ту или иную платформу распространяется производителем. Например у Intel есть MKL (Math Kernel Library), AMD -ACML, под процессоры IBM G5 тоже есть своя версия, под Sparc-и, Cray и т.п.
Эта vendor-specific версия BLAS очень тщательно оптимизируется, причем борьба идет вплоть до десятых процента.
Собственно сам linpack ничего не знает и не должен знать о том на каком процессоре он исполняется. Он распространяется в исходных кодах и не имеет никаких специфических оптимизаций под разные платформы. Он содержит вызовы функций из BLAS, которые прилинковывается при компиляции и обеспечивает необходимую оптимизацию под конкретную платформу.
Что касается Intel Linpack, то 32bit версия скорее всего слинкована с какой-то совершенно неоптимизированный, generic, версией BLAS, и может исполнятся на любом x86 процессоре.
64bit версия слинкована с Intel MKL, причем 64bit версией, что и обьясняет ее высокую производительность.
Linpack является стандартным тестом определения производительности суперкомпьютеров, кластеров и т.п. Низкий процент эффективности в Linpack является указанием на то что настройки железа не оптимальны, используется неоптимальная BLAS, для кластеров - настройки сети далеки от оптимальных и т.п.
Хотя сам по себе Linpack не делает ничего особо полезного, библиотека BLAS используется очень активно во многих приложениях, даже под Windows Так что определение того, какая же версия BLAS дает максимальную производительность в Linpack, является весьма актуальной задачей.
Member
Статус: Не в сети Регистрация: 01.03.2005 Откуда: Москва, СПб
у меня вопрос.
ну, во-первых Linpack 64 бит - это просто жесть, специально для него поставил ВинХР 64 бит. на частоте 3200 мгц (проц Коре2Дуо) нашел ошибки там, где Linpack 32 бит на частоте 3500 мгц крутился сутки без ошибок (это при абсолютно одинаковых настройках биос, за исключением частоты фсб конечно, даже напряжения не понижал для 3200 мгц). буду разбираться, в чем дело. Linpack 64 бит надо ввести в обязательный инсрументарий оверклокеров, тогда сообщений счастливых ламерков об удачном разгоне поубавится.
вопрос, при одинаковых параметрах Number of equations to solve (problem size) и Leading dimension of array (например, 13700 для моих 2 Гб озу), числа Residual(norm) для всех итераций должны быть абсолютно одинаковы? или могут незначительно отличаться? если должны быть одинаковы, то различные Residual(norm) означают ошибку?
Member
Статус: Не в сети Регистрация: 24.10.2003 Откуда: Novosibirsk
Helium Во всех случаях когда я обнаруживал разницу в значениях Residual(Norm) для одной и той же problem size,
снижение частоты позволяло избавится от этой разницы.
Это всегда можно проверить, протестировав на номинальных или заведомо рабочих частотах.
Надо иметь в виду, что ошибка может быть как от процессора так и от памяти, Linpack сильно нагружает и то и другое.
Member
Статус: Не в сети Регистрация: 01.03.2005 Откуда: Москва, СПб
Cronos писал(а):
Во всех случаях когда я обнаруживал разницу в значениях Residual(Norm) для одной и той же problem size, снижение частоты позволяло избавится от этой разницы.
Это всегда можно проверить, протестировав на номинальных или заведомо рабочих частотах.
Надо иметь в виду, что ошибка может быть как от процессора так и от памяти, Linpack сильно нагружает и то и другое.
Да, вроде числа Residual(norm) должны быть одинаковы, сейчас снизил частоту проца до смешных 2800 мгц, Residual(norm) идут одинаковые.
Кстати, долго тестировать времени не было, но поставил в биосе (мать П5К Премиум) Static Read Control в дизейбл (раньше было енейбл), и вроде на частоте 3200 мгц ошибки исчезли. Походу дело в памяти было.
Member
Статус: Не в сети Регистрация: 20.12.2006 Откуда: Москва
Cronos Тест реально жжёт камень... Вот что показал 32-битный тест под Vista x64 (больше 10 прогонов даже не стал пробывать, температура по Everest была под 83 градуса на ядрах и под 65 на крышке):
Intel(R) LINPACK data CPU frequency: 4.347 GHz (реально 8x483 = 3864) Number of CPUs: 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 : 10 Data alignment value (in Kbytes) : 4
Size LDA Align. Time(s) GFlops Residual Residual(norm) Error: info returned = 2433712 15000 15000 4 120.571 18.6649 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 120.085 18.7404 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 119.927 18.7652 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 120.729 18.6406 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 119.729 18.7963 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 119.676 18.8044 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 119.621 18.8132 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 119.606 18.8156 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 119.803 18.7846 2.196558e-010 3.459615e-002 Error: info returned = 2433712 15000 15000 4 121.676 18.4954 2.196558e-010 3.459615e-002
Performance Summary (GFlops)
Size LDA Align. Average Maximal 15000 15000 4 18.7321 18.8156
64-битный тест - моё воздушное охлаждение благополучно с ним не справилось и комп ушёл в BSOD...
Продавец
Статус: Не в сети Регистрация: 03.10.2003 Фото: 88
а может и не охлад, а просто нестабильность )) проверять на ошибки надо как раз в 64-бит версии. 32-бит версия может даже хуже чем другие утили (аля прайм, snm и т.д.) прогревать и тестить ну и греет 64-bit просто нереально.
Member
Статус: Не в сети Регистрация: 20.12.2006 Откуда: Москва
Gre4ka писал(а):
32-бит версия может даже хуже чем другие утили (аля прайм, snm и т.д.) прогревать и тестить ну и греет 64-bit просто нереально.
64-бит даёт такую нагрузку на камень, что ни одна реальная, а не бенчинговая программма никогда в жизни не даст. Первоначально я свою систему настраивал под Vista x86 всеми другими утилитами (Prime, OCCT, SnM) - всё было тип-топ. А 64-бит Linpack: последнее, что увидел на экране перед BSOD - температуры под 90 град. Если бы не знал о существовании Linpack 64 - даже и не знал бы, что система не стабильна (ВСЕ приложения, что использую, работают, как часы), а по сему - париться не буду... пока что...
Продавец
Статус: Не в сети Регистрация: 03.10.2003 Фото: 88
с одной стороны да - если не юзать 64-бит ось и соот. приложения - в 32 система железно стабильна и ладно ) с другой стороны если хочется гарантированно стабильный где угодно разгон - нужно тестить под 64 тем же линпаком ) тогда реально можно сказать что стабильна как в штатном режиме где угодно для бенчинга можно и пренебречь, а для 24/7 имхо тока так )
Member
Статус: Не в сети Регистрация: 20.12.2006 Откуда: Москва
Gre4ka писал(а):
с одной стороны да - если не юзать 64-бит ось и соот. приложения
Ось у меня как раз Vista x64. К примеру, Crysis (exe 64-бит) даже рядом не валялся с Linpack по нагрузке на камень, а на данный момент - это самое ресурсоёмкое приложение, что я использую. Спрашивается... На фига козе баян?
Продавец
Статус: Не в сети Регистрация: 03.10.2003 Фото: 88
Magnetto
ну так это игрулька ) как бы ни была оптимизирована и "тяжела" - но с вычислениями линпака и рядом не валялась.
с другой стороны если нестабильность именно от перегрева (а не в принципе от невозможности работать стабильно на выбранных частотах тобой под нагрузкой, которую даёт линпак) то можно действительно забить - т.к. реальное приложение такого не даст. Но ИМХО запас должен быть всё равно (по стабильности) - т.к. лето впереди и всё такое.
Member
Статус: Не в сети Регистрация: 20.12.2006 Откуда: Москва
Gre4ka Всё... проникся... поищу железобетонный предел разгона для своей системы, используя Linpack 64 (придётся частоты поснижать).
Убавил частоту камня и снизил напряжение. Linpack 64 прошёл несколько прогонов... Ну, вообщем, как и следовало ожидать - не справляется охлаждение при такой нагрузке (под 76 на крышке и под 94 на ядрах по Everest )...
CPU frequency: 3.800 GHz (8x475) Number of CPUs: 2 Number of threads: 2 Parameters are set to:
Number of tests : 1 Number of equations to solve (problem size) : 20886 Leading dimension of array : 20886 Number of trials to run : 10 Data alignment value (in Kbytes) : 4
Member
Статус: Не в сети Регистрация: 24.10.2003 Откуда: Novosibirsk
lndeo писал(а):
Я что-то не понимаю, что значит "Residual меньше единицы это нормально" как определить, были ли ошибки во время теста или нет?
Все значения должны быть одинаковы до последнего знака, это автоматически даст и маленькие значения.
Я рекомендую прогнать минимум сотню раз. У меня часто вылетало и на второй- третьей сотне, так что это не гарантия...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения