Неверный код GPGPU (OpenCL и т.д.) - это безопасно? Какие риски?

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

Как насчет ненадежного кода для GPGPU (OpenCL, cuda или уже скомпилированного)?

Предполагая, что память на графической карте очищена до запуска такого стороннего ненадежного кода,

  • Существуют ли какие-либо риски безопасности?
  • Какие риски?
  • Любой способ предотвратить их?
    • Возможно ли [strong > песочница доступна/доступна на gpgpu?
    • может быть бинарная аппаратура?
    • другие методы?

P.S. Меня больше интересует безопасность двоичного кода gpu, а не уровень безопасности gpgpu на уровне hight-level (но эти решения также приветствуются). Я имею в виду, что ссылки на коды операций gpu (машинный код a.k.a) приветствуются.

Ответы

Ответ 1

Риски такие же, как и для любой программы на С. Кроме того, вы можете заблокировать весь рабочий стол. Мне удалось это сделать, выполнив очень долгий расчет. Эффект был в том, что экран больше не обновлялся, так что, например, время на виджет часов не изменилось за этот период. Поэтому вы должны использовать две видеокарты - одну для материала GPU.

Ответ 2

Графический код может определенно быть рискованным. Текущие графические процессоры не обеспечивают защиту памяти, поэтому, по сути, каждое ядро ​​графического процессора может обращаться ко всей видеопамяти. Я не уверен, что можно также получить доступ к памяти хоста (возможно, с помощью сопоставления памяти?). Невозможно упредить ядра, они могут "зависнуть" от графического процессора, и это вызывает зависание, если оно также используется для вывода графики. (Обычно драйвер прерывает ядра, которые не выходят через несколько секунд)

Предположительно, у AMD новые серии GPU есть некоторые функции защиты памяти, но я сомневаюсь, что они используются в настоящий момент. Можно разделить многопроцессорные процессоры GPU на несколько сегментов с оборудованием текущего поколения (GeForce 4xx +, Radeon 6xxx +), но это не совсем так же, как и многозадачность с вырезом в режиме реального времени.;)