Ask Your Question
0

OpenCV 2.4.11 GPU features

asked 2015-08-05 08:16:19 -0600

Ahryman40k gravatar image

updated 2015-08-06 08:20:53 -0600

Hi all,

I have a Alienware laptop with 2 x GTX880M (SLI) with Windows 10. I have recompiled OpenCV 2.4.11 with CUDA and Cublas option. I'm using CUDA 7.0.

I do the same on another computer which have a GTX 980 on Windows 8. I use the same options and also CUDA 7.0.

On my Alienware, when running the opencv_test_gpu.exe, I have 1067 failed tests. With my own code using OpenCV CUDA, I'm experiencing crashes and performance issues, I think these strange behaviours may be linked with these tests.

Run tests on all supported devices 

    [==========] Running 51682 tests from 128 test cases.
    [----------] Global test environment set-up.
    [----------] 4 tests from GPU_Video/FGDStatModel
    [ RUN      ] GPU_Video/FGDStatModel.Update/0
    E:\opencv2.4.11-recomp\opencv\sources\modules\gpu\test\test_bgfg.cpp(95): error: Value of: cap.isOpened()
      Actual: false
    Expected: true
    [  FAILED  ] GPU_Video/FGDStatModel.Update/0, where GetParam() = (GeForce GTX 880M, "768x576.avi", Channels(3)) (12 ms)
    [ RUN      ] GPU_Video/FGDStatModel.Update/1
    E:\opencv2.4.11-recomp\opencv\sources\modules\gpu\test\test_bgfg.cpp(95): error: Value of: cap.isOpened()
      Actual: false
    Expected: true
    [  FAILED  ] GPU_Video/FGDStatModel.Update/1, where GetParam() = (GeForce GTX 880M, "768x576.avi", Channels(4)) (3 ms)
    [ RUN      ] GPU_Video/FGDStatModel.Update/2
    E:\opencv2.4.11-recomp\opencv\sources\modules\gpu\test\test_bgfg.cpp(95): error: Value of: cap.isOpened()
      Actual: false
    Expected: true
    [  FAILED  ] GPU_Video/FGDStatModel.Update/2, where GetParam() = (GeForce GTX 880M, "768x576.avi", Channels(3)) (4 ms)
    [ RUN      ] GPU_Video/FGDStatModel.Update/3
    E:\opencv2.4.11-recomp\opencv\sources\modules\gpu\test\test_bgfg.cpp(95): error: Value of: cap.isOpened()
      Actual: false
    Expected: true

...

[  FAILED  ] GPU_ImgProc/WarpPerspectiveNPP.Accuracy/68, where GetParam() = (GeForce GTX 880M, 32FC4, direct, INTER_CUBIC)
[  FAILED  ] GPU_ImgProc/WarpPerspectiveNPP.Accuracy/69, where GetParam() = (GeForce GTX 880M, 32FC4, inverse, INTER_NEAREST)
[  FAILED  ] GPU_ImgProc/WarpPerspectiveNPP.Accuracy/70, where GetParam() = (GeForce GTX 880M, 32FC4, inverse, INTER_LINEAR)
[  FAILED  ] GPU_ImgProc/WarpPerspectiveNPP.Accuracy/71, where GetParam() = (GeForce GTX 880M, 32FC4, inverse, INTER_CUBIC)

1067 FAILED TESTS
  YOU HAVE 302 DISABLED TESTS

Does it look like a normal issue ?

On the computer with a GTX 980, the opencv_test_gpu produces a more strange result.

Run tests on all supported devices

[==========] Running 0 tests from 0 test cases.
[==========] 0 tests from 0 test cases ran. (1 ms total)
[  PASSED  ] 0 tests.
Press any key to continue . . .



F:\OpenCV 2.4.11\opencv\sources\build64\bin\Release>gpu_perf4au.exe
[----------]
[   INFO   ]    Implementation variant: cuda.
[----------]
[----------]
[ FAILURE  ]    Device GeForce GTX 980 is NOT compatible with current GPU module
 build.
[----------]

Does someone can help me to understand what's happen ?

Thanks for all.

edit retag flag offensive close merge delete

Comments

Hi,opencv does not support CUDA 7.0

wuling gravatar imagewuling ( 2015-08-05 12:04:54 -0600 )edit

@wuling that is just incorrect. I have a working CUDA7.0 installation running right here. @Ahryman40k I will check if the tests tend to fail here too.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-08-06 03:55:33 -0600 )edit

@StevenPuttemans Do you have some idea where the problem come from ?

For memories with OpenCV 2.4.11

  • GTX 880M / Windows 10 / >1000 GPU / tests failed but drivers are up to date
  • GTX 980 / Windows 8 / No compatible GPU module, drivers are also up to date
  • GTX 980 / Ubuntu 15 / I also have problem, to investigate ...
Ahryman40k gravatar imageAhryman40k ( 2015-08-06 04:36:05 -0600 )edit

Well I got a double NVIDIA QUADRO K2000 setup here and it seems that it breaks down when going to the second GPU. However I am unsure if there is a parameter in the test that you can pass to select on which GPU to run the tests.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-08-06 04:47:09 -0600 )edit

SLI was deactivated when tests ran ...

Ahryman40k gravatar imageAhryman40k ( 2015-08-06 08:33:21 -0600 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-08-06 03:59:25 -0600

updated 2015-08-06 04:52:34 -0600

I just did a build test for both OpenCV2.4 latest branch and OpenCV3 latest branch. I built the system with CUDA7.0 support on Linux Ubuntu 14.04.

  • For the 3.0 all tests run fine
  • For the 2.4.11 tests, it starts out fine but then crashes somewhere in the process with failed tests.

The errors are all the same

C++ exception with description "/home/spu/Documents/github/opencv_CUDA_2.4/modules/gpu/src/filtering.cpp:368: error: (-217) NPP_CUDA_KERNEL_EXECUTION_ERROR [Code = -1000] in function operator()
" thrown in the test body.
[  FAILED  ] GPU_Filter/Blur.Accuracy/1, where GetParam() = (Quadro K2000, 128x128, 8UC1, KSize(3x3), Anchor([-1, -1]), sub matrix) (165 ms)

No idea yet what the reason is, will take a look at it. NVIDIA Quadro K2000 cards used here.

  • deleted card info, not that usefull now -

UPDATE

Seems the first error that occurs, when piping the output to a file is

[ RUN      ] GPU_ImgProc/Canny.Accuracy/0
/home/spu/Documents/github/opencv_CUDA_2.4/modules/gpu/test/test_imgproc.cpp:331: Failure
Value of: img.empty()
  Actual: true
Expected: false

This is not that bad because the test just states that it cannot find the testing data. All fine with that, however it is strange that it does not say what testing data it is expecting. A ton of similar errors like this one keep popping up.

Off course this makes that the accuracy testing on the same function fail also. Same goes for HarrisCorners and other functions. Then errors occur in the loading of classifiers.

So my biggest guess is that you need to specify the location of the test data, but no idea on how to do so.

edit flag offensive delete link more

Comments

And finally

unknown file: Failure
C++ exception with description "/home/spu/Documents/github/opencv_CUDA_2.4/modules/gpu/src/filtering.cpp:368: error: (-217) NPP_CUDA_KERNEL_EXECUTION_ERROR [Code = -1000] in function operator()
" thrown in the test body.

is what crashes down the complete test suite, where others just seem to fail.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-08-06 04:53:51 -0600 )edit

If I understand correctly your post, you mean that all tests failed because they can't find location of the test data ? It may be true for the Alienware computer But what about : "Device GeForce GTX 980 is NOT compatible with current GPU module" when trying to execute opencv_perf_gpu ?

Which options are you using when compiling under Linux ? I set WITH_CUDA and WITH_CUBLAS to true and CUDA_GENERATION=Kepler then I run the build Unfortunately, the compilation stopped with this error on Ubuntu 15

../../lib/libopencv_core.so.2.4.11: undefined reference to `__cudaRegisterLinkedBinary_64_tmpxft_00000a3d_00000000_10_matrix_operations_compute_35_cpp1_ii_332650c4'
Ahryman40k gravatar imageAhryman40k ( 2015-08-06 08:31:28 -0600 )edit

Are you using OpenCV only with Linux or also under Windows Operating System ?

Ahryman40k gravatar imageAhryman40k ( 2015-08-06 08:34:33 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2015-08-05 08:16:19 -0600

Seen: 1,618 times

Last updated: Aug 06 '15