[fyi]Отличное видео про устройство и применение GPU
От: Sharov Россия  
Дата: 06.11.24 23:26
Оценка: 4 (1)
Здравствуйте.

Крутейшее образовательное видео про GPU -- https://www.youtube.com/watch?v=h9Z4oGN89MU
Узнал про tensor cores и ray tracing cores. Про cuda слышал. Не знал, что карты, сделанные
но одном чипе (GA 102) могут сильно отличаться в цене из-за кол-ва битых ядер. Т.е.
nvidia 3080 и nvidia 3080ti это одна и та же карта, но у 3080 больше брака, поэтому менее
производительна. В общем, рекомендую -- классный видос и классный канал.
Кодом людям нужно помогать!
Отредактировано 06.11.2024 23:27 Sharov . Предыдущая версия .
fyi
Re: [fyi]Отличное видео про устройство и применение GPU
От: Vzhyk2  
Дата: 07.11.24 06:48
Оценка: +1
Здравствуйте, Sharov, Вы писали:

S>Узнал про tensor cores и ray tracing cores. Про cuda слышал. Не знал, что карты, сделанные

S>но одном чипе (GA 102) могут сильно отличаться в цене из-за кол-ва битых ядер.

И самое смешное, что АМД сравнимы и часто лучше в производительности, но у этих нет своего аналога Cuda и посему если хочешь возиться с нейронками, то у тебя выбор только NVIDIA.
Точнее что-то у АМД есть, но безумно кривое в сравнении с CUDA.
Интел тоже не хочет заходить на рынок нейронок.
Google высовывал нос с TPU, но они так и остались для их облаков.
Очень это похоже на картельный сговор.
Re: [fyi]Отличное видео про устройство и применение GPU
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.11.24 06:56
Оценка: 5 (1) +1
Здравствуйте, Sharov, Вы писали:

S>Крутейшее образовательное видео про GPU -- https://www.youtube.com/watch?v=h9Z4oGN89MU


Рассказал бы мне кто.

Вот есть центральный процессор. На нём исполняется куча программ. Есть виртуальная память, адресные пространства разных процессов друг от друга изолированы. В общем, всё это документировано и понятно.

При этом в этой хорошо исследованной конструкции постоянно обнаруживаются разные уязвимости. То через meldown и spectre процессам удаётся заглянуть в области памяти, для них не предназначенные, то при переключении новому процессу достаются регистры от старого, и если за этими регистрами внимательно наблюдать, через них много чего интересного может утечь.

А вот есть GPU. Тоже вполне такой универсальный вычислитель. Со своими прибамбасами, и плохо документированный (сознательно плохо документированный). И им тоже могут пользоваться разные процессы, не обязательно системные-привелегированные.

А как там с изоляцией дела обстоят?

S>nvidia 3080 и nvidia 3080ti это одна и та же карта, но у 3080 больше брака, поэтому менее

S>производительна. В общем, рекомендую -- классный видос и классный канал.

Я так понимаю, ядра могут быть отключены из-за брака, но по мере совершенствования технологии процент брака уменьшается, и может получиться так, что хороших кристаллов получилось больше, чем надо рынку. Тогда могут поотключать вполне исправные ядра, перераспределив фактический выпуск кристаллов в сторону более дешевых "покалеченных".

И с процессорами то же самое.
Re[2]: [fyi]Отличное видео про устройство и применение GPU
От: Vzhyk2  
Дата: 07.11.24 07:39
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>А вот есть GPU. Тоже вполне такой универсальный вычислитель. Со своими прибамбасами, и плохо документированный (сознательно плохо документированный). И им тоже могут пользоваться разные процессы, не обязательно системные-привелегированные.

Именно они и пользуются. Про системные на GPU я ни разу не слышал. И GPU не универсальный, а очень специфический и по набору команд и по принципам работы. На GPU тысячи простых ядер, которые и медленнее и тупее CPU, но их тысячи и работают параллельно.

Pzz>А как там с изоляцией дела обстоят?

Очень хреново. Сейчас даже часто два пользовательских приложения, что хотят GPU могут подраться и завесить всю систему. Про более сложные вещи и не говорю.
Re[3]: [fyi]Отличное видео про устройство и применение GPU
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.11.24 07:48
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

Pzz>>А вот есть GPU. Тоже вполне такой универсальный вычислитель. Со своими прибамбасами, и плохо документированный (сознательно плохо документированный). И им тоже могут пользоваться разные процессы, не обязательно системные-привелегированные.

V>Именно они и пользуются. Про системные на GPU я ни разу не слышал. И GPU не универсальный, а очень специфический и по набору команд и по принципам работы. На GPU тысячи простых ядер, которые и медленнее и тупее CPU, но их тысячи и работают параллельно.

Я понимаю. Мне интересна вполне конкретная вещь: как там устроена изоляция, и есть ли она в принципе?

Pzz>>А как там с изоляцией дела обстоят?

V>Очень хреново. Сейчас даже часто два пользовательских приложения, что хотят GPU могут подраться и завесить всю систему. Про более сложные вещи и не говорю.

Вот это тоже, кстати, интересно. Ядер там, в этом GPU, вполне конечное количество. Как они делятся между пользователями с потенциально бесконечным аппетитом?

"Очень хреново" мне мало, хотелось бы конкретики. Что GPU в принципе работает очень хреново, я и сам знаю.
Re[4]: [fyi]Отличное видео про устройство и применение GPU
От: Vzhyk2  
Дата: 07.11.24 07:59
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Я понимаю. Мне интересна вполне конкретная вещь: как там устроена изоляция, и есть ли она в принципе?

Что-то должно быть, но что и как не знаю. Ниже куды (написания некоторых модулей на ней) не опускался. Это уже надо спрашивать у тех, кто именно железо проектировал и дравера те пишет.

Pzz>Вот это тоже, кстати, интересно. Ядер там, в этом GPU, вполне конечное количество. Как они делятся между пользователями с потенциально бесконечным аппетитом?

Без понятия, но там еще и память делится. Но часто, если исчерпываешь память, то ось падает полностью.

Pzz>"Очень хреново" мне мало, хотелось бы конкретики. Что GPU в принципе работает очень хреново, я и сам знаю.

Это уже надо доки от производителей читать, изучать открытые драйвера и собирать инфу везде по крохам. Там море закрытой инфы, проприетарной.
Re[5]: [fyi]Отличное видео про устройство и применение GPU
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.11.24 08:03
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

Pzz>>Я понимаю. Мне интересна вполне конкретная вещь: как там устроена изоляция, и есть ли она в принципе?

V>Что-то должно быть, но что и как не знаю. Ниже куды (написания некоторых модулей на ней) не опускался. Это уже надо спрашивать у тех, кто именно железо проектировал и дравера те пишет.

Такое впечатление, что никто не знает.

Которые железо проектировали и драйвера пишут, у них NDA. Nvidia особенно сурова в этом плане, всё в обстановке полной секретности. Наверное, там ТАКОЕ, что лучше никому вообще не показывать.
Re[2]: [fyi]Отличное видео про устройство и применение GPU
От: F3V  
Дата: 07.11.24 08:09
Оценка: 5 (1)
Здравствуйте, Pzz, Вы писали:

Pzz>А вот есть GPU. Тоже вполне такой универсальный вычислитель. Со своими прибамбасами, и плохо документированный (сознательно плохо документированный). И им тоже могут пользоваться разные процессы, не обязательно системные-привелегированные.


Pzz>А как там с изоляцией дела обстоят?


На Nvidia, по крайней мере, в OpenGL в функциях можно подсовывать указатели,
которые выходят за рамки валидных, и драйвер карточки их переваривает без ошибок.
А вот если тот же код в защищённой среде запускать, то там ошибки всплывают.
Re[3]: [fyi]Отличное видео про устройство и применение GPU
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.11.24 08:15
Оценка:
Здравствуйте, F3V, Вы писали:

Pzz>>А как там с изоляцией дела обстоят?


F3V>На Nvidia, по крайней мере, в OpenGL в функциях можно подсовывать указатели,

F3V>которые выходят за рамки валидных, и драйвер карточки их переваривает без ошибок.

Пипец какой. И чего, они действительно добираются до чужой памяти?

F3V>А вот если тот же код в защищённой среде запускать, то там ошибки всплывают.


Что такое защищенная среда в контексте обсуждаемой темы?
Re[4]: [fyi]Отличное видео про устройство и применение GPU
От: F3V  
Дата: 07.11.24 08:29
Оценка:
Здравствуйте, Pzz, Вы писали:

F3V>>На Nvidia, по крайней мере, в OpenGL в функциях можно подсовывать указатели,

F3V>>которые выходят за рамки валидных, и драйвер карточки их переваривает без ошибок.

Pzz>Пипец какой. И чего, они действительно добираются до чужой памяти?


Не выяснял.
В моём случае, сказывалось на производительности, но своя память читалась нужная.

F3V>>А вот если тот же код в защищённой среде запускать, то там ошибки всплывают.


Pzz>Что такое защищенная среда в контексте обсуждаемой темы?


OpenGL можно использовать на десктопе и в браузере с контролем памяти и указателей.

Тот же код и там, и там. Разные версии OpenGL, но в браузере проверок больше, но медленнее.
Re[5]: [fyi]Отличное видео про устройство и применение GPU
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.11.24 08:34
Оценка:
Здравствуйте, F3V, Вы писали:

Pzz>>Что такое защищенная среда в контексте обсуждаемой темы?


F3V>OpenGL можно использовать на десктопе и в браузере с контролем памяти и указателей.


Но кто указатели-то проверяет? GPU или на хосте?
Re[6]: [fyi]Отличное видео про устройство и применение GPU
От: F3V  
Дата: 07.11.24 08:44
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>>>Что такое защищенная среда в контексте обсуждаемой темы?


F3V>>OpenGL можно использовать на десктопе и в браузере с контролем памяти и указателей.


Pzz>Но кто указатели-то проверяет? GPU или на хосте?


У браузера свой транслятор функций OpenGL ES в десктопный. Этот транслятор и ловит некоторые ошибки от VM.
Re[2]: [fyi]Отличное видео про устройство и применение GPU
От: Sharov Россия  
Дата: 07.11.24 09:10
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz> то при переключении новому процессу достаются регистры от старого, и если за этими регистрами внимательно наблюдать, через них много чего интересного может утечь.


Это странно, т.к. регистры это контекст процесса, который сохраняется в памяти при переключение процессов.

Pzz>А вот есть GPU. Тоже вполне такой универсальный вычислитель. Со своими прибамбасами, и плохо документированный (сознательно плохо документированный). И им тоже могут пользоваться разные процессы, не обязательно системные-привелегированные.


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

Pzz>А как там с изоляцией дела обстоят?


Независимостью ядер. Хотя кэш у них общий, это да.

S>>nvidia 3080 и nvidia 3080ti это одна и та же карта, но у 3080 больше брака, поэтому менее

S>>производительна. В общем, рекомендую -- классный видос и классный канал.
Pzz>Я так понимаю, ядра могут быть отключены из-за брака, но по мере совершенствования технологии процент брака уменьшается, и может получиться так, что хороших кристаллов получилось больше, чем надо рынку. Тогда могут поотключать вполне исправные ядра, перераспределив фактический выпуск кристаллов в сторону более дешевых "покалеченных".

Да, тоже задался этим вопросом. Скорее всего, чтобы попасть в ценовой сегмент (бюджет, например), просто отключаеют
часть ядер.

Pzz>И с процессорами то же самое.


А не расточительно делать хорошие ядра, а потом их отключать. У цпу они в разы сложнее, чем у гпу. Жалко.
Все-таки кажется, что у цпу не так, никто ничего не отключает.
Кодом людям нужно помогать!
Re[3]: [fyi]Отличное видео про устройство и применение GPU
От: Sharov Россия  
Дата: 07.11.24 09:13
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>Здравствуйте, Pzz, Вы писали:


Pzz>>А вот есть GPU. Тоже вполне такой универсальный вычислитель. Со своими прибамбасами, и плохо документированный (сознательно плохо документированный). И им тоже могут пользоваться разные процессы, не обязательно системные-привелегированные.

V>Именно они и пользуются. Про системные на GPU я ни разу не слышал. И GPU не универсальный, а очень специфический и по набору команд и по принципам работы. На GPU тысячи простых ядер, которые и медленнее и тупее CPU, но их тысячи и работают параллельно.

В видео об этом в самом начале говорится, в чем отличие цпу от гпу.
Кодом людям нужно помогать!
Re[3]: [fyi]Отличное видео про устройство и применение GPU
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.11.24 09:17
Оценка: 5 (1) +1
Здравствуйте, Sharov, Вы писали:

Pzz>> то при переключении новому процессу достаются регистры от старого, и если за этими регистрами внимательно наблюдать, через них много чего интересного может утечь.


S>Это странно, т.к. регистры это контекст процесса, который сохраняется в памяти при переключение процессов.


На эту тему проскакивал баг, но подробностей я уж не помню.

Кажется, это связано с тем, что регистры, которые мы видим в ассемблерном коде (т.наз., "архитектурные регистры") не совпадают 1:1 с реальными, аппаратными регистрами. На самом деле, из-за паралелизма, аппаратных регистров больше, чем архитектурнтых, выделяются они динамически и архитектурные на них временно ссылаются.

Это всё не програмная химия, а внутри процессора.

И вот при какой-то хитрой загогулине при переключении можно было прочитать значения чужих аппаратных регистров.

Pzz>>А как там с изоляцией дела обстоят?


S>Независимостью ядер. Хотя кэш у них общий, это да.


А память?

Pzz>>И с процессорами то же самое.


S>А не расточительно делать хорошие ядра, а потом их отключать. У цпу они в разы сложнее, чем у гпу. Жалко.

S>Все-таки кажется, что у цпу не так, никто ничего не отключает.

На каких-то моделях процессоров их даже можно было хитрым способом назад подключить. Потом исправили.

"Не расточительно ли" — так работает капитализм. Старшие конфигурации продаются значительно дороже себестоимости и производителю очень не хочется, чтобы богатые клиенты покупали себе (почти такие же по железу) более дешевые модели. И ради этого он готов даже вполне живые ядра отключать.
Re[6]: [fyi]Отличное видео про устройство и применение GPU
От: aik Австралия  
Дата: 08.11.24 05:27
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Которые железо проектировали и драйвера пишут, у них NDA. Nvidia особенно сурова в этом плане, всё в обстановке полной секретности. Наверное, там ТАКОЕ, что лучше никому вообще не показывать.


Вот же драйвер: https://github.com/NVIDIA/open-gpu-kernel-modules/tree/main/kernel-open
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.