Automati c управление памятью для функций cuda - PullRequest
0 голосов
/ 29 апреля 2020

Я пытался использовать некоторые библиотеки cuda для python для выполнения операций линейной алгебры. Самым простым на данный момент, похоже, является чашка.

Однако проблема, с которой я столкнулся, заключается в том, что всякий раз, когда операции становятся достаточно большими, чтобы быть интересными для вычислений на GPU, я сталкиваюсь с ошибками памяти.

Есть ли какой-нибудь способ в cupy или аналогичной библиотеке для автоматического управления памятью?

1 Ответ

1 голос
/ 29 апреля 2020

Можно попробовать попросить CuPy перезапустить всю неиспользуемую память графического процессора перед входом в область, интенсивно использующую память:

mempool = cupy.get_default_memory_pool()
mempool.free_all_blocks()

Любой массив CuPy, чей счетчик ссылок равен нулю, прежде чем вызов будет освобожден, и соответствующий графический процессор память возвращается в пул памяти.

...