Могут ли несколько процессов совместно использовать один контекст CUDA? - PullRequest
2 голосов
/ 07 ноября 2019

Этот вопрос является продолжением комментария Джейсона Р. к ответу Роберта Кровеллы на этот оригинальный вопрос («Несколько контекстов CUDA для одного устройства - какой-то смысл?»):

Когда вы говорите, что несколько контекстов не могут работать одновременно, это ограничивается только запусками ядра, или это также относится к передаче памяти? Я рассматривал многопроцессный дизайн на одном GPU, который использует IPC API для передачи буферов от процесса к процессу. Означает ли это, что только один процесс одновременно имеет эксклюзивный доступ ко всему графическому процессору (а не только к отдельным SM)? [...] Как это взаимодействует с асинхронно поставленными в очередь ядрами / копиями в потоках в каждом процессе, когда идет планирование?

Роберт Кровелла предложил задать этот вопрос в новом вопросе, но это никогда не происходило,поэтому позвольте мне сделать это здесь.

1 Ответ

1 голос
/ 07 ноября 2019

Многопроцессный сервис - это альтернативная реализация CUDA от Nvidia, которая позволяет нескольким процессам использовать один и тот же контекст. Например, это позволяет ядрам из нескольких процессов работать параллельно, если каждый из них не заполняет весь графический процессор сам по себе.

...