2017-01-03 4 views
2

Я заинтересован в использовании графического процессора Alea с сторонней библиотекой и пытаюсь понять мои варианты. В частности, меня интересует использование this L-BFGS library. Я довольно новичок в экосистеме F #, но у меня есть опыт работы с CUDA и функциональным программированием.Использование сторонней библиотеки

Я использую эту библиотеку L-BFGS как часть программы, которая реализует логистическую регрессию. Это было бы аккуратно, если бы я мог считать библиотеку правильной и написать остальную часть моего кода (в том числе и то, что работает на графическом процессоре) в безопасном для текста F #.

Возможно link C++ with F#. Предполагая, что я выясню, как интегрировать библиотеку L-BFGS в программу F #, приведет ли к появлению GPU Alea какие-либо проблемы?

То, что я пытаюсь избежать, заключается в переписывании L-BFGS в F # с использованием Alea. Однако, возможно, это самый простой путь к использованию F #. Если у Alea есть какие-то возможности для нелинейной оптимизации, я, вероятно, мог бы использовать их вместо этого.

+0

вы в конечном итоге переписываете поверхность поверхности api L-BFGS в любом случае, если у нее уже нет привязок к сетке. –

ответ

1

У Alea GPU пока нет нелинейного оптимизатора. Версия CUDA имеет немного отличающуюся реализацию, чем стандартный процессор L-BFGS, который иногда вызывает некоторые проблемы с точностью. Помимо этого, я не сталкивался с какими-либо проблемами с кодом, за исключением того, что выигрыш в производительности также значительно зависит от целевой функции. Целевая функция для логистической регрессии является относительно дешевой.

У нас есть внутренняя версия C# для этого кода, перенесенного на графический процессор Alea, который также можно использовать с F #, и мы планируем выпустить его в будущей версии.

Смежные вопросы