Предел распределения памяти Alea GPU - PullRequest
0 голосов
/ 30 сентября 2018

Я использую Alea GPU с GTX-1081ti, который имеет 11 ГБ глобальной памяти.

Когда я использую метод Alea Gpu.Default.Allocate для выделения памяти на GPU, когда я встаю около 3+ ГБЯ получаю сообщение об ошибке "Недостаточно памяти".

Мой код:

private static int Length = 2147000000;
...
var gpu = Gpu.Default;    
gpu.Allocate<int>(Length);

Это должно выделить около 8 ГБ ОЗУ графического процессора, но это дает исключение CUDA из нехватки памяти.Я пробовал использовать более низкие значения длины, и на основании отчета диспетчера задач выделенная память графического процессора занимает всего около 3 ГБ, прежде чем выдает ошибку.

Однако, когда я делаю то же самое с необработанным кодом CUDA(за пределами Alea) мой лимит составляет чуть более 80% от 11 ГБ или почти 9 ГБ (поскольку W10 ограничивает выделение).

Кто-нибудь знает, почему у меня «недостаточно памяти»ошибка только в 3 ГБ?

Спасибо.

1 Ответ

0 голосов
/ 18 октября 2018

(вставка в ответ, поскольку кажется, что она решила вашу проблему)

Похоже, что вы, возможно, компилируете в 32-битном режиме.Убедитесь, что вы используете 64-битную ОС и компилируете в 64-битном режиме.Вы не будете первым, кто случайно скомпилирует в 32-битном режиме:)

...