Вопросы Cuda Runtime API и драйвера API - PullRequest
2 голосов
/ 29 сентября 2010

Я новичок в cuda и графике.У меня было несколько вопросов о cuda, надеюсь, у кого-то будут правильные ответы:

Это для API драйвера:

- Что означает контекст cuda?когда я читал cuda c book (3.1), я узнал, что это аналог процесса в CPU.Я не понимаю этого, фактический код хоста c становится процессом в процессоре, а код устройства становится кодом, который называется контекстом?

- Он также сказал, что библиотеки могут создавать и присоединять себя кконтекст куда.Если это правда, почему библиотеки просто не всегда присоединяются к контексту и не пытаются создать другой контекст?та же самая причина, почему создание нового процесса в процессоре?Кроме того, в чем смысл библиотек в этом случае?библиотеки хоста или устройства?код нашего устройства на PTX или кубин?

- Када основана на вытеснении или планировании?Я имею в виду, что CUDA запускает контекст, пока не будет сделано (0 ссылок) ??и затем выскакивает стек, или в этом случае используется какая-то декка?

Это для Cuda C (API времени выполнения):

- Если мы используем Cuda C, что означает нижняя строкакода устройства?Контекст?Cubin?...?или какая-то сборка графического процессора несколько?

Спасибо.

1 Ответ

1 голос
/ 29 сентября 2010

Ответы на большинство ваших вопросов содержатся в Руководстве по программированию CUDA . Вы можете найти дополнительную информацию о CUDA Toolkit на веб-сайте разработчика http://developer.nvidia.com/object/cuda_3_2_toolkit_rc.html. Особенно полезными могут быть Руководство по наилучшим методикам и Справочное руководство.

Возможно, вы также захотите посмотреть примеры кода SDK. Есть пример, демонстрирующий использование контекстов в CUDA. Дополнительные примеры доступны в Cuda Zone .

Чтобы более или менее ответить на ваши вопросы: контекст в CUDA подобен процессу на хосте в том смысле, что все указатели устройств действительны только в их связанном контексте. Создание контекста неявно с API времени выполнения. Он построен поверх API драйвера. Не должно быть необходимости использовать драйвер API напрямую. Надеюсь, это поможет.

...