Linux-система, производства компании Cray, с кодовым названием Baker, оснащенная 24 тыс. гнезд для процессоров Opteron, будет установлена в Национальной лаборатории Окридж в 2008 г.
Ожидаемая производительность - один петафлопс.
> с кодовым названием Baker, оснащенная 24 тыс. гнезд для процессоров
Очевидно, хитрая архитектура внутренних шин должна называться Baker street ;) А процесс-монитор по умолчанию выполняется на процессоре с внутренним адресом 0x0221B ;)
>Linux-система, производства компании Cray, с кодовым названием Baker, оснащенная 24 тыс. гнезд для процессоров Opteron, будет установлена в Национальной лаборатории Окридж в 2008 г
> я же написал что множитель 2 -- две операции за такт
операция с плавающей точкой (FLOP), инструкция и такт в данном случае - три разных вещи, поскольку рассматриваемый процессор 1) многоконвейерный и 2) имеет векторные расширения (SSE и проч).
> Снова немного арифметики: 2534.4 / 576 / 2.2 == 2.
> Вот эта-то двойка и является количеством операций с плавающей точкой за такт. И, прошу заметить, никаких SSE!
Вы мне напоминаете фокусника. А объяснить происхождение этой двойки слабо ? А без знания конкретной архитектуры конкретного процессора ?
Я утверждаю, что при вычислении "пиковой производительности" учитываются возможности Opteron процессора именно в векторных вычислениях (например, SSE). Также учитываются возможности процессора по распараллеливанию инструкций.
И именно на основе этих данных появляется наша волшебная двойка.
Еще раз: никаких SSE/MMX/что-там-еще-маркетоиды-придумали при расчете пиковой производительности не используется, только количество флопов за такт процессора.
> Еще раз: никаких SSE/MMX/что-там-еще-маркетоиды-придумали при расчете пиковой производительности не используется, только количество флопов за такт процессора.
А как по-Вашему высчитывается "количество флопов за такт процессора" ? ;-)
>Снова немного арифметики: 2534.4 / 576 / 2.2 == 2.
>Вот эта-то двойка и является количеством операций с плавающей точкой за такт. И, прошу заметить, никаких SSE!
>Для особо упорных, предлагаю то же самое проделать для списка top500.
Да, то что ты считал это пиковая производительность, только к реальной производительности она имеет очень слабое отношение, если верить им то пень4 при той же частоте имеет такую же производительность что и атлон64, а мы то знаем что это мягко говоря ... ;) Кстати похоже речь идет именно о пиковых петафлопах, если использовать восьмиядерьный оптерон с частотой 2.8
Те числа по которым определяют место в топах на самом деле вычисляются с помощью linpack. Вот запустили тест, получили цифирьку и послали эту цифирьку при регистрации, а может и не эту, ну приврали немного, кто проверять будет (за исключением возможно первых мест)?
> Да, то что ты считал это пиковая производительность, только к реальной производительности она имеет очень слабое отношение
Само, собой, обсуждался только пик. Linpack в нормальной системе = ~75% от пика, реальные задачи ~50%.
> Те числа по которым определяют место в топах на самом деле вычисляются с помощью linpack. Вот запустили тест, получили цифирьку и послали эту цифирьку при регистрации, а может и не эту, ну приврали немного, кто проверять будет (за исключением возможно первых мест)?
Ага, вот только если по linpack мы напишем производительность больше пика, то нас засмеют как минимум :-).
Восьмиядерных operon'ов 2.8 пока в продаже нет, так что, это всего лишь прогноз, который в Top500 не идет. Учитывая динамику этого самого Top500, очень может быть что петафлоп и раньше 2008 соберут.
Кстати, если бы они делали на уже существующих cell'ах, то процов до петафлопа потребовалось бы ровно в 10 раз меньше. Там пик около 200 на камень, если не ошибаюсь.
Если верить написанному, SSE позволяет обрабатывать до 4 float-значений за такт. Так что двойка, в данном случае, никак не получается. MMX, насколько я знаю работу с float не поддерживает, так что тоже мимо кассы.
Остается только распараллеливание на уровне инструкций, что уже больше похоже на правду.
А откуда известно что будет Linux? оно все вилами по воде, может к тому моменту идею CNL окончательно похоронят и оставят catamount, или придумают еще что-нибудь ужасное.
> Если верить написанному, SSE позволяет обрабатывать до 4 float-значений за такт. Так что двойка, в данном случае, никак не получается. MMX, насколько я знаю работу с float не поддерживает, так что тоже мимо кассы.
Все потому, что написаное следует проверять, прежде чем верить.
SIMD enables multiple operations to be performed per processor instruction. Specifically SSE supports up to four floating point operations per cycle; that is, a single instruction can operate on four pieces of data simultaneously.
Первое предложение - корректно. Второе - корректно лишь частично и вот почему: исполнение инструкции FLOP действительно может произойти за один цикл (по крайней мере на Opteron), но только когда до нее не было FLOP инструкции, использующей те же функциональные блоки процессора. Например, для достижения пресловутой двойки, советуют чередовать MUL и ADD (типичный случай для 3d игр, FFT).
Если кому-то интересна более детальная информация по вопросу, советую сначала почитать первоисточник - "Software Optimization Guide for AMD Athlon 64 and AMD Opteron Processors", раздел "Achieving Two Floating-Point Operations per Clock Cycle" ;-)