Рейтинг@Mail.ru
Перейти к содержанию

Уважаемые посетители! Если у вас возникают проблемы с входом, регистрацией или сменой пароля, обращайтесь в эту тему (там можно писать без регистрации) с указанием где возникла проблема - на сайте или форуме.

Авторизация  
Kefka

Многоядерные процессоры игровых платформ (PC, Xbox360, PS3)

Рекомендуемые сообщения

[quote name="PBS"]... моё имхо, что пс3 ни капли не мощнее пс3...[/quote]
Ну, это по-любому... :-D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="JayDi"]Bagamut, не нужно так пугать народ (особенно не программистов) :)[/quote]
у мну у самого волосы шевелятся :scare:.

[quote]1. Из всего этого кода - бОльшая часть касается работы самой программы (да да, все эти SPE, регистры 4-х кратной точности и т.п. лябуда), в которой используется умножение матриц.[/quote]
не понял... что значит самой программы?

[quote]2. Код самой функции значительно короче, хотя тоже состоит из сотни строчек :D[/quote]
это как это? ничего подобного. в приведенном фрагменте нет ничего лишнего. разве что заголовок - первые 17 строк можно отрезать.

[quote]3. Не стоит забывать, что это [b]оптимизация[/b], а не простые пару циклов (как в твоем примере), которые точно также можно было бы написать на Cell.[/quote]
нет нет, на PPE не считается. нас тут уверяли, что SPE ничем не хуже.
прошу пожалуйста написать как именно "точно также можно было бы написать", чтобы перемножать матрицы на SPE.

[quote]4. Попробуй провести такую же оптимизацию (на уровне ассемблера), получится код, сравнимый с этим.[/quote]
ничего подобного. я уверен, что даже если соптимизировать этот алгоритм по использованию кэша, все равно ничего подобного не получится даже близко. и ассемблер для этого не потребуется. и самое главное, что если оставить как есть, то все равно будет работать, может чуть чуть медленнее. а вот на SPE не будет.

[quote]5. А вообще, зачем кому-то заморачиваться?
MatMult_MxM(OpC, OpA, OpB);
Мы же не смотрим на то, как реализована функция деления чисел с плавающей точкой в компиляторе для какого-нибудь C++. Вот тут не нужно нагружать голову ;)[/quote]
чтобы чем-то воспользоваться, надо это что-то сначала написать. умножение матриц можно стянуть у STI. еще что-то простенькое еще у кого-то. но когда тебе потребуется посчитать замечательные усы на морде у снейка - никуда не денешься - придется писать свой алгоритм ;).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="XPert"] [quote name="PBS"]... моё имхо, что пс3 ни капли не мощнее 360-ого...[/quote]
Ну, это по-любому... :-D[/quote]

Если ты читаешь всё, что тут пишется, то получается именно так. :razz:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="Bahamut"]
[quote]1. Из всего этого кода - бОльшая часть касается работы самой программы (да да, все эти SPE, регистры 4-х кратной точности и т.п. лябуда), в которой используется умножение матриц.[/quote]
не понял... что значит самой программы?[/quote]
Ладно, не доглядел - все эти функции относятся к расчету матриц :oops:

[quote name="Bahamut"]
[quote]3. Не стоит забывать, что это [b]оптимизация[/b], а не простые пару циклов (как в твоем примере), которые точно также можно было бы написать на Cell.[/quote]
нет нет, на PPE не считается. нас тут уверяли, что SPE ничем не хуже.
прошу пожалуйста написать как именно "точно также можно было бы написать", чтобы перемножать матрицы на SPE.
[/quote]
Вот так :D
[code]
for (i=0; i for (j=0; j exp[i*msize+j] = 0.0f;
for (k=0; k exp[i*msize+j] += a[i*msize+k] * b[k*msize+j];
}
}
[/code]
[quote name="Bahamut"]
[quote]4. Попробуй провести такую же оптимизацию (на уровне ассемблера), получится код, сравнимый с этим.[/quote]
ничего подобного. я уверен, что даже если соптимизировать этот алгоритм по использованию кэша, все равно ничего подобного не получится даже близко. и ассемблер для этого не потребуется. и самое главное, что если оставить как есть, то все равно будет работать, может чуть чуть медленнее. а вот на SPE не будет.[/quote]
Почему же не будет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="JayDi"]
Вот так :D
[code]
for (i=0; i for (j=0; j exp[i*msize+j] = 0.0f;
for (k=0; k exp[i*msize+j] += a[i*msize+k] * b[k*msize+j];
}
}
[/code]
[/quote]
а матрицы оно где возьмет? они сами в LS будут телепортироваться по мере необходимости :D?

[quote] [quote]ничего подобного. я уверен, что даже если соптимизировать этот алгоритм по использованию кэша, все равно ничего подобного не получится даже близко. и ассемблер для этого не потребуется. и самое главное, что если оставить как есть, то все равно будет работать, может чуть чуть медленнее. а вот на SPE не будет.[/quote]
Почему же не будет?[/quote]
потому, что матрица в LS не влезет. у нас матрица может быть 1024х1024х4 = 4MB. более того, этих матриц 3, т.е. 12MB. а LS всего 256К, из которых часть еще уйдет под код. вот и выкручивайся :gigi:.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[b]Bahamut[/b] :up: и :lol:. Это не просто пипец, это БОЛЬШОЙ пипец. Рульный Cell рулит назад, к истокам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="Bahamut"]а матрицы оно где возьмет? они сами в LS будут телепортироваться по мере необходимости :D?
[/quote]

Это к разговору некоторых о том как там каждый SPE замечательно видит внешнюю память... через дырку DMA.

[size=75]Добавлено 19 Dec 2005, 4:33:[/size]

В принципе с этими постоянными свопами данных из внешней памяти в LS это конечно основной будущий гиморой тех кто будет подовсе это писать.
Но вся эта раздутость программы сверху была сделана для того, что бы попытаться максимально использовать все возможности SPU. И насколько я понимаю на этом коде они и достигли 25 32-х битных гигафлопов на перемножениях матриц в своих тестах. Хотя ничего не помешало бы написать тупо что-то типа этой же муры:

for (i=0; i for (j=0; j {
c0_0C = 0;

for (k=0; k {
a00=a[i*msize+k];
b0_0B=b[k*msize+j];
c0_0C = spu_madd(A00,b0_0B , c0_0C);
}
exp[i*msize+j] =c0_0C ;
}

Звиняйте, отбалды это все конечно, может где-то и наврал, но имхо что-то типа этого бы вполне работало, загружался бы один флоат в вектор, дальше бы один он там умножался/накапливался. И так по всей матрице, если она в памяти может уместиться. Это довольно тормознуто конечно. Похоже это и был первый тест на котором и было получено 0.42 недогигафлопа :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="XPert"] [quote name="PBS"]... моё имхо, что пс3 ни капли не мощнее пс3...[/quote]
Ну, это по-любому... :-D[/quote]
да уж опечаточка...[/quote]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
FlankerN, речь то как раз об оптимизации шла. Понятно, что можно написать значительно проще, чтобы на одном PPE выполнялось :).

Поделиться сообщением


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вроде по теме ссылочки то:
[url=http://www.amdzone.com/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=216&page=2]http://www.amdzone.com/modules.php?op=m ... 216&page=2[/url]
Кто-то там вякал, что типа на ПК от двухпроцессорных систем толку нет.

[url=http://www.theinquirer.net/?article=28412]http://www.theinquirer.net/?article=28412[/url]
Вот вам и суперскоростные Cell'ы и XCPU. Порвет (в обычных универсальных задачах), нах :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="FlankerN"]Хотя ничего не помешало бы написать тупо что-то типа этой же муры[/quote]
да, до определенной степени это можно упростить. но, как ни странно, основная претензия даже не к кошмарным unroll'ам, а к необходимости работать с памятью через соску. в данном примере они, например, перемножают засвизленные матрицы (и PPE еще занимается свизлингом перед тем как передать матрицы на перемножение, т.к. SPE через DMA нормально это сделать опять-таки не может :D). вообщем изврат.

кстати, справедливости ради, надо отметить, что проц 360 также страдает от многих проблем характерных для этого примера. благо этот же IBM :D. in-order, Altivec - те же unroll'ы и интринсики. пристафки - ацтой :gigi:.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Смешно смотреть на этот бахар.
Кто-нибудь видел как смотриться Resident Evil 4 на PS2 ? А это ведь соньке уже 5 лет!Я на ПК не видел такой графике как РЕ 4 , который вышел на ПС2!
Это о многом говорит.
Во-вторых PS3 будет такой мощной системой что мне на лет 10 хватит играть с суперграфикой. Далее , на ПК в игры играть просто глупо , на консолях игры лучше , это факт .
В- третьех захотели новый проц для ПК(не помню названия) который выйдет в 2008 году?Губу закатайте , этот один проц будет стоить как 5 PS3 , и зачем это? что бы добиться тогоже эффекта что и на PS3 ? А мы же ещё забыли что предётся купить супер новую видяху для ПК !!!)))Это ещё обойдётся в две стоимости PS3 ! Вау класс, какие все богатые , я прям поражен , как же легко рассуждать !Поздравляю вас ПКгеймеры , продавайте свою квартиру и улучшайте компьютер )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="Enemy First"]Вроде по теме ссылочки то:
[url=http://www.amdzone.com/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=216&page=2]http://www.amdzone.com/modules.php?op=m ... 216&page=2[/url]
Кто-то там вякал, что типа на ПК от двухпроцессорных систем толку нет.[/quote]
аха, толк есть(!), в 5% прироста :-D

поймите народ =) на ПК это многояденость как раз может будет специализироваться как дешёвые граф. станция, а не для получения реального прироста в играх (аха раскатали губу) :gigi:

кстати, по поводу Cell и дальнейших планах развития, имхо судя по скрину, что был скоко то там постов назад, то в будущем будут реальные многоядерные процессоры (PPE), имеющие спомогательные ядра (pipelines - SPE) вообщем то, графические карты ведь тоже пошли по пути создания конвееров внутри графического чипа, также вот получился и Cell. Имхо, сомневаюсь, что SOny токо и мечтала усложнить жизнь програмистам, поживём увидим, мож не так страшен чёрт как его малюют =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="Killa-D"]Смешно смотреть на этот бахар.
Кто-нибудь видел как смотриться Resident Evil 4 на PS2 ? А это ведь соньке уже 5 лет!Я на ПК не видел такой графике как РЕ 4 , который вышел на ПС2!
Это о многом говорит.[/quote]
Да. это говорит о многом. Сходи к окулисту. :razz:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Я бы не называл графику в RE4 PS2 лучшей. В той же God of War, MGS3 и, в особенности, Shadow of Colossus картинка выглядит получше (а в SoC она на поряд красивей и технологичнее!), имхо. Но вот геймплей в RE4 очень хорош, без вопросов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[b]CrazzyMan[/b]
ну так как насчет ответить за базар по поводу call of duty? условия просты. я даю ссылку на архив. в архиве лежит 16 кропов скриншотов - часть из них PC, часть 360. ты говоил, что разницу между ними не увидит только слепой, поэтому для тебя не составит труда сказать какие из них с PC, а какие с 360.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Bahamut, давай я рискну! Жуть как интересно! Заодно проверим мою объективность.

CrazzyMan, тут все про реальные цифры и примеры, а ты опять как гадалка, посмотрим да посмотрим, чего ждать? Уже всё есть и всё уже понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[b]2 CrazzyMan[/b]

[i]аха, толк есть(!), в 5% прироста[/i]
Вы считали на Cell? :gigi:
12.5% в наиболее используемом разрешении.
Кстати, не думайте, что на консолях будет больше. Quake 4 на Xbox 360 - хороший пример :D.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Enemy First, мне вот интересно, неужели три ядра не смогли разжевать передовой Q4? Что, в лом было код оптимизировать? Ну или хотя бы граф. часть игры урезать? Что это, политика? Или недоглядели или хотели что-то этим сказать? Может МС указала, чтоб в стартовой линейке был и точка(проплатив)? Я вот удивляюсь, неужели разрабам нужно было ходить под себя? Причём ранее, ID S. уже такое проделывала с плойкой и квейком3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="Enemy First"]Кстати, не думайте, что на консолях будет больше. Quake 4 на Xbox 360 - хороший пример :D.[/quote]
да нет, почему, будет. там особо никуда не денешься - либо будет прирост, либо игры не будет вообще :). другое дело, что по отдельности всетаки эти ядра не идут ни в какое сравнение с нормальным десктопным одноядерным процом. потому и общая производительность не такая высокая.

квейк, кстати, всетаки порт, причем из первого поколения игр. и как раз квейк было бы идеально портировать не на 360, а на ps3. имхо хорошо распараллеленных игр пока нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Bahamut, т.е. Кармак подзабил? Или в случае с портом невозможно было с нуля переделать движок? Кстати, на пс3 что, она быстрее будет? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="PBS"]Или в случае с портом невозможно было с нуля переделать движок?[/quote]
быстро и хорошо переделать уже готовый движок очень непросто, тем более когда речь идет о многопоточности.

[quote]Кстати, на пс3 что, она быстрее будет? :)[/quote]
возможно. расчет теневых объемов это как раз то, где cell мог бы проявить себя с лучшей стороны. впрочем мы не знаем во что именно упирается quake. вполне вероятно, что совсем не в возможности процессора, а в филлрейт видяхи. думовский движок очень требователен к филлрейту и не любит больших разрешений. а на 360 нужно минимум 1280x720 выдавать. в этом случае cell ничем не поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[b]Bahamut[/b], а почему нельзя было урезать граф-возможности в игре на 360? Зачем надо было выпускать игру, которая тормозит? Вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[quote name="Bahamut"][b]CrazzyMan[/b]
ну так как насчет ответить за базар по поводу call of duty? условия просты. я даю ссылку на архив. в архиве лежит 16 кропов скриншотов - часть из них PC, часть 360. ты говоил, что разницу между ними не увидит только слепой, поэтому для тебя не составит труда сказать какие из них с PC, а какие с 360.[/quote]

Не надо базара, вот сравнение. Честно говоря, я удивлён и сильно. Даже думаю о подвохе...
[url=http://www.firingsquad.com/games/king_kong_xbox_360_review/]http://www.firingsquad.com/games/king_k ... 60_review/[/url]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×