LINUX.ORG.RU

История изменений

Исправление www_linux_org_ru, (текущая версия) :

вот мне очень хочется понять, как наиболее полно загрузить именно амд-шное GPU (конкретно 58хх), но из твоего суперкраткого объяснения я только *слова* понял

начнем с того, где лежат доки именно по архитектуре GPU? интересно, кстати, и избыточно сложное нвидийное, и слишком простое амд-шное

почему-то они не гуглятся у меня! че мне пока удалось нагуглить — это не доки, а презентации (хотя и по архитектуре), из которых я не понял даже, есть и какое пенальти в случае неверного предсказания ветвления

хочется чтобы было ясно:

1. откуда и куда передаются данные (pipeline?)

2. каковы ограничения по скорости и по латентности в шинах/точках_передачи/че-там

3. какое пенальти в случае неверного предсказания ветвления

4. как возможно избежать пенальти в п.3 вроде conditional move

5. специфичные фенечки, вроде же в gpu имеются некие sorting networks? или это тоже реализуется программно?

если влом все это писать, то накатай хотя бы список *вопросов*, аналогичных 1-4, но существенно точнее и поподробнее, чем я тут

меня интересует все это с чисто вычислительной точки зрения, т.е. без приложения к рендерингу графики (хотя, если приложение поможет понять структуру gpu, оно полезно)

вот, скажем, конкретная задача:

есть возрастающая последовательность целых чисел (несколько миллиардов — в память на видяхе не влезут (но на это можно пока забить))

шаг алгоритма: из каждого из них (довольно просто — несколькими последовательными циклами фиксированной длины почти без if-ов) генерится возрастающая последовательность (до 100 штук) целых чисел; эти маленькие последовательности надо слить (отсортировать слиянием) в такую же последовательность и выбросить дубликаты (и может выбросить еще кое-что)

этот шаг повторяется скажем до 100 раз

как это быстро делать на cpu — я представляю; на gpu — полностью без понятия

Исходная версия www_linux_org_ru, :

вот мне очень хочется понять, как наиболее полно загрузить именно амд-шное GPU (конкретно 58хх), но из твоего суперкраткого объяснения я только *слова* понял

начнем с того, где лежат доки именно по архитектуре GPU? интересно, кстати, и избыточно сложное нвидийное, и слишком простое амд-шное

почему-то они не гуглятся у меня! че мне пока удалось нагуглить — это не доки, а презентации (хотя и по архитектуре), из которых я не понял даже, есть и какое пенальти в случае неверного предсказания ветвления

хочется чтобы было ясно:

1. откуда и куда передаются данные (pipeline)

2. каковы ограничения по скорости и по латентности в шинах/точках_передачи/че-там

3. какое пенальти в случае неверного предсказания ветвления

4. как возможно избежать пенальти в п.3 вроде conditional move

5. специфичные фенечки, вроде же в gpu имеются некие sorting networks? или это тоже реализуется программно?

если влом все это писать, то накатай хотя бы список *вопросов*, аналогичных 1-4, но существенно точнее и поподробнее, чем я тут

меня интересует все это с чисто вычислительной точки зрения, т.е. без приложения к рендерингу графики (хотя, если приложение поможет понять структуру gpu, оно полезно)

вот, скажем, конкретная задача:

есть возрастающая последовательность целых чисел (несколько миллиардов — в память на видяхе не влезут (но на это можно пока забить))

шаг алгоритма: из каждого из них (довольно просто — несколькими последовательными циклами фиксированной длины почти без if-ов) генерится возрастающая последовательность (до 100 штук) целых чисел; эти маленькие последовательности надо слить (отсортировать слиянием) в такую же последовательность и выбросить дубликаты (и может выбросить еще кое-что)

этот шаг повторяется скажем до 100 раз

как это быстро делать на cpu — я представляю; на gpu — полностью без понятия