Можно ли разделить контекст Cuda между приложениями?

I ' Мне нравится передавать контекст Cuda между двумя независимыми процессами Linux (используя очереди сообщений POSIX, которые я уже настроил).

Использование cuCtxPopCurrent () и cuCtxPushCurrent () , Я могу получить указатель контекста, но на этот указатель имеется ссылка в памяти процесса, в котором я вызываю функцию, и передавать его между процессами бессмысленно.

Я ищу другие решения. На данный момент у меня есть следующие идеи:

  1. Попытайтесь глубоко скопировать структуру CUcontext , а затем передать копию.
  2. Посмотрим, смогу ли я найти решение с общей памятью, где все мои указатели Cuda размещены там так что оба процесса могут получить к ним доступ.
  3. Объединить процессы в одну программу.
  4. Возможно, в Cuda 4.0 есть лучшее совместное использование контекста, на которое я мог бы переключиться.

Я не уверен, что вариант (1 ) возможно, ни если (2) доступен или возможен. (3) на самом деле не вариант, если я хочу сделать вещи общими (это в пределах прокладки взлома). (4) Я посмотрю на Cuda 4.0, но не уверен, будет ли он работать и там.

Спасибо!

5
задан Chris Gregg 19 May 2011 в 16:04
поделиться