Взаимодействие GPUDirect Storage с процессором

Я пытаюсь понять, как работает GPUDirect Storage. Функции, которые выполняют большую часть тяжелой работы, — это cuFileWrite и cuFileRead. Это как функции API cuda. Они вызываются с хоста. Однако я думал, что весь смысл GPUDirect Storage заключается в том, чтобы устранить необходимость взаимодействия ЦП для передачи памяти между графическим процессором и nvme ssd. Я понимаю, что GPUDirect Storage устраняет необходимость в буфере отскока в DRAM, как показано ниже.

Не было бы более разумным использовать функции устройства или функции ядра в качестве API, чтобы устранить необходимость в управлении процессором? Или идея заключается в том, что большинство операций, ориентированных на файлы, по-прежнему будут выполняться на ЦП, поэтому наличие кода, который запускается из ЦП, позволяет вам синхронизировать чтение и запись с другим кодом ЦП без необходимости какого-либо буфера флагов, прерывания или чего-то еще.

0 ответов

Другие вопросы по тегам