Может кто-нибудь объяснить, пожалуйста, разницу в текстурной памяти, используемой в контексте Cuda, и текстурной памяти, используемой в контексте DirectX. Предположим, что графическая карта имеет 512 МБ объявленной памяти, как она разделена на постоянную память / текстурную память и глобальную память.
например. У меня есть карта Тесла, которая имеет totalConstMem как 64 КБ и totalGlobalMem как 4 ГБ, как запрашивает cudaGetDeviceProperties, но нет переменной, которая говорит мне, какой объем памяти текстуры требуется.
Кроме того, сколько стоит «Память текстур» при доступе через DirectX и другие графические API. У меня нет опыта программирования в этих API, поэтому я не знаю, как и к какой памяти они могут получить доступ. Но AFAIK, вся память для доступа кешируется аппаратно. Пожалуйста, поправьте меня, если я ошибаюсь.
После ответа KoppeKTop: Так действует ли совместно используемая память в качестве автоматического кэша для текстурной памяти в случае CUDA и DirectX и того и другого? Я не думаю, что иметь другой ч / б кеш имеет смысл в любом случае. Означает ли это также, что если я использую всю разделяемую память в ядре, память текстур не будет кэшироваться?
Спасибо.