В моем ответе предполагается, что вы используете CUDA 9.x или выше, графический процессор Pascal или Volta в Linux.
Вы сможете переподписывать память GPU приблизительно до размера памяти хоста (т.е.операционная система хоста позволяет вам выделить), за исключением некоторого разумного количества, которое было бы типично для любого процесса выделения памяти (вы не должны ожидать, что выделите каждый последний байт памяти хоста, и аналогично не должны пытаться делать то же самое с управляемой памятьювыделения).
Нет связи между объединенной памятью и файлами или чем-либо, хранящимся на диске.
Так же, как вы, вероятно, не можете загрузить весь этот файл объемом 1 ТБ в 32 ГБ ОЗУ, вы не можете получить к нему доступ.все сразу, используя управляемую память.Какую бы сумму операционная система хоста не разрешила вам выделить / загрузить, это размер, который вы будете иметь для графического процессора.
Поэтому, чтобы обработать этот файл объемом 1 ТБ, вам, вероятно, потребуется придуматьалгоритм, который разбивает его на части, которые помещаются в системную память.Эта концепция полностью независима от управляемой памяти.После этого, если вы хотите получить доступ к фрагменту вашего файла, который находится в системной памяти с помощью CUDA, вы можете использовать управляемую память, включая переподписку, если хотите, для этого.
Точный процесс взлома вашего файлана части будет зависеть от того, какую именно обработку вы выполняете, и не зависит от CUDA.