Возможно ли доступ к жесткому диску/флеш-памяти непосредственно с GPU (CUDA/openCL) и загрузка/хранение контента непосредственно из памяти графического процессора?Можно ли получить доступ к жесткому диску непосредственно из gpu?
Я пытаюсь избежать копирования файлов с диска в память и затем скопировать его в память графического процессора.
Я читал о Nvidia GPUDirect, но не уверен, что он делает то, что я объяснил выше. В нем рассказывается о удаленной памяти и дисках GPU, но диски в моем случае являются локальными для GPU.
Основная идея - загрузить содержимое (что-то вроде dma) -> выполнить некоторые операции -> сохранить содержимое на диск (снова в режиме dma).
Я стараюсь как можно меньше задействовать процессор и оперативную память.
Пожалуйста, не стесняйтесь предлагать какие-либо предложения по дизайну.
Может кто-нибудь объяснить, что не так с вопросом? –
Это невозможно без вмешательства хозяина. Хост владеет диском. GPUDirect предназначен для передачи данных между устройствами PCIE.Если у вас был собственный контроллер жесткого диска PCIE, на той же самой PCIE-матрице, что и у графического процессора, и доступ к исходному коду драйвера устройства, можно было бы, возможно, написать драйвер RUDMA GPUDirect, который позволит осуществлять прямую передачу с GPU на диск. (Это все равно потребует вмешательства хозяина для настройки.) На практике никто не предполагает, что это тот уровень усилий, который вы хотите предпринять. –
На практике пропускная способность системной памяти (25-50 ГБ/сек) и пропускная способность PCIe gen3 (10-12 ГБ/с) настолько велики по сравнению с пропускной способностью SSD (0,5 ГБ/с), что должно быть минимальное воздействие на пропускная способность GPU <-> Передача диска при перемещении данных через хост. Задержка может быть другой, но вопрос не указывает конкретные требования к задержке или пропускной способности. – njuffa