Theano: смешивать CPU и GPU?
Я построил нейронную сеть, которая должна использовать декомпозицию Холецкого и решать треугольные системы как часть ее вычисления. Это означает, что мне также, конечно, нужно вычислить градиенты всего вычисления.
Когда я пытаюсь скомпилировать код, я получаю сообщение об ошибке "Нет доступного Cula". К сожалению, я не могу скачать Cula с сайта.
Мне было интересно, можно ли смешивать CPU и GPU с theano. Матрицы, на которых мне нужно использовать Cholesky и Solve, маленькие (100x100), чтобы я мог выполнять эту часть на процессоре. Однако для этого мне нужно было бы передать матрицы в ЦП сразу после того, как они были вычислены графическим процессором, а затем отправить результат обратно в графический процессор. Можно ли сделать это достаточно прозрачно?
1 ответ
Этот перевод прозрачен. Не нужно делать что-то особенное. Но я бы порекомендовал вам профилировать граф Теано, просто чтобы быть уверенным: http://deeplearning.net/software/theano/tutorial/profiling.html
Для cula существует PR, который дает решение проблемы на основе cusolver, теперь предоставляемое NVIDIA. Так что это, вероятно, больше не нужно. Попробуйте этот PR: https://github.com/Theano/Theano/pull/4917