История изменений
Исправление 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 — полностью без понятия