CudaMalloc не выделяет общую память графического процессора на микроархитектурах Ampere, в отличие от Turing ⇐ C++
CudaMalloc не выделяет общую память графического процессора на микроархитектурах Ampere, в отличие от Turing
Я использую CUDA Toolkit 11.8 — операционная система — Windows.
Программа скомпилирована под Windows с помощью Nvidia T1200.
Я использую CMAKE 3.15.7 с флагом:
CMAKE_CUDA_ARCH_BIN: 3,5 5,0 5,2 5,3 6,0 6,1 6,2 7,0 7,2 7,5 8,0 8,6 8,7 8,9 9,0 ПРОБЛЕМА Когда я запускаю код на своем ноутбуке (T1200), я вижу, что CudaMalloc сначала выделяет память на выделенной памяти графического процессора, а когда там больше нет свободного места , он автоматически распределяет данные в общую память графического процессора.
Когда тот же код запускается на RTX 3070, CudaMalloc сначала выделяет память в выделенной памяти графического процессора, но когда она заполнена, он больше не выделяет данные в общую память Память графического процессора, но сообщает cudaErrorMemoryAllocation
И я не понимаю, почему поведение на отдельных GPU разное.
Я собираю программу на ноутбуке, затем копирую исполняемый файл на машину с RTX 3070 и выполняю программу там.
КОД
Пример рабочего теста Google
класс CudaTestMemory { публика: беззнаковый символ *m_cudaBuffer; }; TEST_F(Cuda, cudaAllocator) { CudaTestMemory *m_costBuffer[50]; для (int я = 0; я m_cudaBuffer, selectedMemory); если (cudaStatus != cudaSuccess) { // не удалось — невозможно выделить XXXX памяти графического процессора m_costBuffer->m_cudaBuffer = nullptr; throw std::runtime_error(cudaGetErrorString(cudaStatus)); } } } Результат на NVIDIA T1200 NVIDIA T1200 имеет 4 ГБ выделенной памяти графического процессора + 32 ГБ общей памяти графического процессора. Тест завершается сбоем на итерации номер 34, когда на графическом процессоре больше нет свободного места (устройство + общий доступ)
Результат на NVIDIA RTX 3070
NVIDIA RTX 3070 имеет 8 ГБ выделенной памяти + 128 ГБ общей памяти графического процессора. Тест завершается сбоем на итерации номер 7, когда на графическом процессоре больше нет памяти (только устройство).
Я использую CUDA Toolkit 11.8 — операционная система — Windows.
Программа скомпилирована под Windows с помощью Nvidia T1200.
Я использую CMAKE 3.15.7 с флагом:
CMAKE_CUDA_ARCH_BIN: 3,5 5,0 5,2 5,3 6,0 6,1 6,2 7,0 7,2 7,5 8,0 8,6 8,7 8,9 9,0 ПРОБЛЕМА Когда я запускаю код на своем ноутбуке (T1200), я вижу, что CudaMalloc сначала выделяет память на выделенной памяти графического процессора, а когда там больше нет свободного места , он автоматически распределяет данные в общую память графического процессора.
Когда тот же код запускается на RTX 3070, CudaMalloc сначала выделяет память в выделенной памяти графического процессора, но когда она заполнена, он больше не выделяет данные в общую память Память графического процессора, но сообщает cudaErrorMemoryAllocation
И я не понимаю, почему поведение на отдельных GPU разное.
Я собираю программу на ноутбуке, затем копирую исполняемый файл на машину с RTX 3070 и выполняю программу там.
КОД
Пример рабочего теста Google
класс CudaTestMemory { публика: беззнаковый символ *m_cudaBuffer; }; TEST_F(Cuda, cudaAllocator) { CudaTestMemory *m_costBuffer[50]; для (int я = 0; я m_cudaBuffer, selectedMemory); если (cudaStatus != cudaSuccess) { // не удалось — невозможно выделить XXXX памяти графического процессора m_costBuffer->m_cudaBuffer = nullptr; throw std::runtime_error(cudaGetErrorString(cudaStatus)); } } } Результат на NVIDIA T1200 NVIDIA T1200 имеет 4 ГБ выделенной памяти графического процессора + 32 ГБ общей памяти графического процессора. Тест завершается сбоем на итерации номер 34, когда на графическом процессоре больше нет свободного места (устройство + общий доступ)
Результат на NVIDIA RTX 3070
NVIDIA RTX 3070 имеет 8 ГБ выделенной памяти + 128 ГБ общей памяти графического процессора. Тест завершается сбоем на итерации номер 7, когда на графическом процессоре больше нет памяти (только устройство).
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Tensorflow потребляет память как графического процессора, так и процессора.
Anonymous » » в форуме Python - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-