2016-12-30 11 views
3

CMakeでOpenCLを有効にしてOpenCVを構築しました(のパスを自動的に検出しましたが、OPENCL_LIBRARYの設定をクリックしてもOPENCL_LIBRARYは空でした) OpenCVのバイナリはその後、私はパフォーマンスを測定するためにUMatを利用する場合には、(UMAT)とのまたは(マット)のOpenCLのないパフォーマンスはどんな違いがありませんでしたOpenCVでOpenCVを構築する

#include <iostream> 
#include <fstream> 
#include <string> 
#include <iterator> 
#include <opencv2/opencv.hpp> 
#include <opencv2/core/ocl.hpp> 

int main() 
{ 
    if (!cv::ocl::haveOpenCL())  
     cout << "OpenCL is not avaiable..." << endl;   
    else cout << "OpenCL is AVAILABLE! :) " << endl; //this is the output 

    cv::ocl::setUseOpenCL(true); 

    cout << context.ndevices() << " GPU devices are detected." << endl; 
    for (int i = 0; i < context.ndevices(); i++) 
    { 
    cv::ocl::Device device = context.device(i); 
    cout << "name:    " << device.name() << endl; 
    cout << "available:   " << device.available() << endl; 
    cout << "imageSupport:  " << device.imageSupport() << endl; 
    cout << "OpenCL_C_Version: " << device.OpenCL_C_Version() << endl; 
    cout << endl; 
    } //this works & i can see my video card name & opencl version 
    cv::ocl::Device(context.device(0)); 
} 

以下のコードを実行します。

私がダウンロードしましたAMD-APP-SDKからこのlinkを試してみました構築するのにOpenCLバイナリはありませんでした(代わりに、私はopenglのdllファイル[glew32.dll & glut32.dll]を見ました)。 OPENCL_LIBRARYをリンクしてOpenCLでOpenCVを構築するにはどうすればよいですか?

答えて

1

私はあなたがOpenCLを持っていると信じています。したがって、haveOpenCLとバージョンリクエストからの呼び出しの結果です。私は、あなたのパフォーマンステストの結果があなたがOpenCLを持っていないとみなしているかどうかはわかりません。

あなたがOpenCLを理解したいのであれば、私は一歩前にそれを理解し、OpenCVを理解しようとします。

リンクが機能しませんでした。試しましたか?this現在のAMD APP SDK(3.0)へのリンクがあります。OpenCLサンプルがあなたのシステムでビルド/作業できるようにしてください。なぜOpenCVで動作しないのかをトラブルシューティングできるはずです(本当にそうでない場合)。

パフォーマンスに関しては、よく、それに依存します。グラフィックスカードとの間でデータをやりとりするたびに、コストがかかります。 Transparent APIはあなたのためにそのような選択をするように設計されています:高速処理のためにカードに送信することは価値があります。もし価値がないのであれば、実際にはパフォーマンスは低下します。さらに、ライブラリのすべてがGPUで実行されるわけではありません。 opencv.orgの説明を参照してください。

+0

C:/ windows/System32にopencl.dllが見つかりましたが、削除しました。しかし、GPUが使用されました。 もお答えできます[こちら](http://stackoverflow.com/questions/41688751/understanding-the-usage-of-opencl-in-opencv-mat-umat-objects?noredirect=1#comment70603090_41688751)質問 –

関連する問題