2013-07-08 1 views
1

Основываясь на идее из другой темы, я надеялся, что вы сможете помочь мне с этой идеей/подтолкнуть меня в правильном направлении.с использованием GPU в оптимизации в R (OpenCL)?

Я видел пример OpenCL, который не выглядел слишком сложным для базовых вычислений, поэтому я надеюсь просто переписать функцию для численного градиента, которую использует оптимизационная процедура на языке OpenCL, и сжать ее в функции оптимизатора , поэтому каждый раз, когда я бы оптимизировал некоторую функцию, он выполнял бы независимые вычисления в графическом процессоре.

Идея: Использование GPU для расчета функционалов и градиентов во время оптимизации (например, nlminb()

Проблемы: 1, Как задействовать программу оптимизации (я не могу показаться, чтобы найти файл C чего делает оптимизацию)

2 Могу ли я просто заменить вычисление градиента с тем, что я готовлюсь к GPU?

3, кто-нибудь есть что-то похожее на работу? Есть идеи, заметки?

Благодарим вас и у вас будет хороший день!

PS: Если вы считаете, что это не ускорит оптимизацию, сложно выполнить код/​​трудно сделать и т. Д., Пожалуйста, дайте мне знать! Я очень неопытный и паршивый «программист».

ответ

0

Вы можете скомпилировать R, связанную с одной из библиотек BLAS с оптимизацией OpenCL. Но на основе попыток ускорить R с другими библиотеками BLAS результаты могут быть ограничены special cases. Возможно, ваш может быть одним из них.

+0

спасибо за подсказку, я понятия не имел об этом. Bud, правильно ли я понимаю, что он будет вмешиваться в мои подпрограммы, когда я явно запускаю вычисления на нескольких ядрах? (mclapply) –

+0

Нет, я считаю, что все наоборот. При выполнении явно многоядерных команд, которые произойдут, скомпилированы ли с оптимизированным BLAS или нет. Что это будет сделано, это ускорить базовые команды, в которых вы не делаете такой запрос. Вы также путаете ссылку, которую я отправил вам с тем, что вы хотите сделать. Вы хотите оптимизированный BLCL для OpenCL. Я помню один написанный для графических процессоров AMD, но я не знаю об общем оптимизированном OpenCL. – John

+0

Я понял, что это ускорит все. Я просто знаю, что в любом случае я бы не смог закодировать новый BLAS. Я должен ждать готового решения, когда дело доходит до BLAS, потому что только то, что я мог бы кодировать, - это вычисление градиентов cuda, если бы я знал, как использовать функцию оптимизатора. –