2017-01-03 6 views
2

제 3 자 라이브러리와 함께 Alea GPU를 사용하고 싶습니다. 내 옵션에 대해 알고 싶습니다. 특히 this L-BFGS library을 사용하고 싶습니다. 나는 F # 생태계에 상당히 익숙하지만 CUDA와 함수 프로그래밍 모두에 대한 경험이 있습니다.타사 라이브러리 사용

나는 로지스틱 회귀를 구현하는 프로그램의 일부로 그 L-BFGS 라이브러리를 사용 해왔다. 라이브러리를 올바르게 가정하고 타입 안전 F #에서 내 코드의 나머지 부분 (GPU에서 실행되는 코드 포함)을 작성하면 멋질 것입니다.

link C++ with F#이 가능합니다. L-BFGS 라이브러리를 F # 프로그램에 통합하는 방법을 알면 Alea GPU를 도입하면 어떤 문제가 발생합니까?

내가 피하려고하는 것은 Alea를 사용하여 F #에 L-BFGS를 다시 쓰는 것입니다. 그러나 실제로 F #을 사용하는 가장 쉬운 방법 일 수 있습니다. Alea가 비선형 최적화를위한 어떤 기능을 가지고 있다면, 아마 Alea를 대신 사용할 수 있습니다.

+0

어쨌든 dotnet 바인딩이 없다면 어쨌든 L-BFGS API 표면 영역을 다시 작성해야합니다. –

답변

1

Alea GPU에는 아직 비선형 최적화가 없습니다. CUDA 버전은 때때로 정확도 문제를 일으키는 표준 CPU L-BFGS와 약간 다른 구현 방식을 사용합니다. 이 외에도 코드에서 어떤 문제도 발생하지 않았습니다. 단, 성능 우위도 목적 함수에 크게 달려 있습니다. 로지스틱 회귀의 목적 함수는 수치 적으로 비교적 저렴합니다.

우리는 Alea GPU로 포팅 된이 코드의 내부 C# 버전을 가지고 있으며 F #에서 사용할 수도 있으며 향후 버전에서 릴리스 할 계획입니다.