ПрограммированиеФорумГрафика

Хто-нить уже имел дело с Титаном? (5 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#60
14:18, 12 мар 2013

Ещё предлагаю поигратся с таким вариантом:

void main(void)
{
  const int wSize = 8;
  const int qSize = 2;
  color = texture(tex, frag_texcoord);
  int frag_x = int(gl_FragCoord.x) / wSize;
  int frag_y = int(gl_FragCoord.y) / wSize;
  if ((frag_x % qSize) == 0) {
    for (int i = 0; i < 1000; i++)
      color *= texture(tex, frag_texcoord + dFdx(gl_FragCoord.xy));
  }
  else if ((frag_y % qSize) == 0) {
    for (int i = 0; i < 1000; i++)
      color *= texture(tex, frag_texcoord + dFdy(gl_FragCoord.xy));
  }
}

Меняя wSize и qSize от 2 до 8 можно сделать очень интересные выводы :)

#61
14:56, 12 мар 2013

bazhenovc
> Небольшой бенч. Рисуется

попробуй на том же

if( nDotL > 0.0 ) {
...
}
#62
15:36, 12 мар 2013

bazhenovc
> Ну а что тогда означает фраза ", but each can be working on a separate
> wavefront."?
Ну как я понимаю, это как раз это и означает что каждый warp по16 тредов может выполнять инструкции из разных wavefront-ов.
Интересный шойдер щас поиграюсь))

#63
16:22, 12 мар 2013

FROL
> Ну как я понимаю, это как раз это и означает что каждый warp по16 тредов может выполнять инструкции из разных wavefront-ов.
Нет :) Каждый SIMD может выполнять инструкции из разных варпов. Посмотри на картинку, там для каждого SIMD - свой program counter

#64
16:29, 12 мар 2013

bazhenovc
> > Ну как я понимаю, это как раз это и означает что каждый warp по16 тредов может выполнять инструкции из разных wavefront-ов.
> Нет :) Каждый SIMD может выполнять инструкции из разных варпов. Посмотри на картинку, там для каждого SIMD - свой program counter
Оба предложения означают одно и то же. Т.к. 16 тредов выполняются на одном SIMD за 1 такт.

При этом говорится, что весь wavefront выполняется за 4 такта, но я нигде не нашел, что инструкция может меняться в течении этих 4х тактов.

#65
17:01, 12 мар 2013

При этом один wavefront никогда не разбивается между SIMD и у него один PC на все 64 треда.
Это означает, что 64 треда выполняются на одном SIMD "за раз". В случае с ALU операциями, на это требуется 4 такта. Доступ к памяти отдельная история.

Т.е. можно считать, что размер варпа у GCN 64 треда.

#66
17:09, 12 мар 2013

VirT
Ты путаешь SIMD с Compute Unit`ом, в GCN SIMD - 16 тредов, варп == 1 SIMD. CU == 4 SIMD.

Один wavefront может паралельно выполнятся на разных SIMD.

Процитирую один хороший обзор:
>Нагрузка для параллельного исполнения в SIMD-блок поступает в виде массива (wavefront) из 64 инструкций, который выполняется за четыре цикла. И хотя одновременно в работе могут быть только четыре массива, еще 28 находятся у Compute Unit в прямом доступе, за счет чего планировщик и получает пространство для маневра. В ситуации, когда зависимость в коде мешает комбинированному SIMD-блоку VLIW-процессора работать на полную мощность, отдельные SIMD-блоки чипа GCN просто переключатся на другие массивы из той же задачи либо вовсе на другие задачи

(c) 3D news

#67
17:30, 12 мар 2013

bazhenovc
> Ты путаешь SIMD с Compute Unit`ом, в GCN SIMD - 16 тредов, варп == 1 SIMD. CU == 4 SIMD.
Не путаю

> Один wavefront может паралельно выполнятся на разных SIMD.
Не может

#68
17:35, 12 мар 2013

VirT
> Не путаю
> Не может
Во всех пейперах, которые мне попадались, написано, что может.

Дай ссылку на пейпер, где написано, что не может :)

#69
17:40, 12 мар 2013

может ...
не может ...

сколько сможет, столько и сделает :)

#70
17:53, 12 мар 2013

bazhenovc
> Дай ссылку на пейпер, где написано, что не может :)
ответил в личку

#71
17:59, 12 мар 2013

bazhenovc
VirT

Вы лучше побольше не про железки,  про практические примеры ...

#72
18:03, 12 мар 2013

innuendo
Ну внеси и ты полезную лепту, скажи как сделать много материалов в DS без бранчей :)

#73
18:41, 12 мар 2013

bazhenovc
При небольшом их разнообразии может помочь стенсил... При 3х разных материалах получаем 3и дипа на источник света.

#74
19:03, 12 мар 2013

Smouking
> ИМХО, что бы было где хранить тонны текстурок для нормальной картинки на 4к монике
  Всё равно чтобы Crysis 3 шол без тормозов на трёх обычных Full HD мониках надо ставить SLI из трёх титанов :)

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.