Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

segfault with multithreaded gpu calls

Hi,

I'm using gpu::HOGDescriptor from OpenCV 2.4.9.0 in a multithreaded application, that is multiple gpu HoGs are running simultaneously. Ocassionally, I get the following error:

OpenCV Error: Gpu API call (an illegal memory access was encountered) in extract_descrs_by_cols, file /home/stfn/libs/opencv-2.4.9/modules/gpu/src/cuda/hog.cu, line 545
OpenCV Error: Gpu API call (an illegal memory access was encountered) in mallocPitch, file /home/stfn/libs/opencv-2.4.9/modules/dynamicuda/include/opencv2/dynamicuda/dynamicuda.hpp, line 1134
OpenCV Error: Gpu API call (an illegal memory access was encountered) in normalize_hists, file /home/stfn/libs/opencv-2.4.9/modules/gpu/src/cuda/hog.cu, line 323
OpenCV Error: Gpu API call (an illegal memory access was encountered) in call, file /home/stfn/libs/opencv-2.4.9/modules/gpu/include/opencv2/gpu/device/detail/transform_detail.hpp, line 364
terminate called recursively
terminate called recursively
terminate called after throwing an instance of 'cv::ExceptionAbgebrochen (Speicherabzug geschrieben)

It seems that there is no rule for that, it happens completely randomly. Is there a guideline on Cuda resp. the OpenCV gpu module in multithreaded applications or stuff?

segfault with multithreaded gpu calls

Hi,Hey,

I'm using gpu::HOGDescriptor from OpenCV 2.4.9.0 in a multithreaded application, that is multiple gpu HoGs are running simultaneously. Ocassionally, I get the following error:

OpenCV Error: Gpu API call (an illegal memory access was encountered) in extract_descrs_by_cols, file /home/stfn/libs/opencv-2.4.9/modules/gpu/src/cuda/hog.cu, line 545
OpenCV Error: Gpu API call (an illegal memory access was encountered) in mallocPitch, file /home/stfn/libs/opencv-2.4.9/modules/dynamicuda/include/opencv2/dynamicuda/dynamicuda.hpp, line 1134
OpenCV Error: Gpu API call (an illegal memory access was encountered) in normalize_hists, file /home/stfn/libs/opencv-2.4.9/modules/gpu/src/cuda/hog.cu, line 323
OpenCV Error: Gpu API call (an illegal memory access was encountered) in call, file /home/stfn/libs/opencv-2.4.9/modules/gpu/include/opencv2/gpu/device/detail/transform_detail.hpp, line 364
terminate called recursively
terminate called recursively
terminate called after throwing an instance of 'cv::ExceptionAbgebrochen (Speicherabzug geschrieben)

It seems that there is no rule for that, it happens completely randomly. Is there a guideline on Cuda resp. the OpenCV gpu module in multithreaded applications or stuff?

segfault with multithreaded gpu calls

Hey,

I'm using gpu::HOGDescriptor from OpenCV 2.4.9.0 in a multithreaded application, that is multiple gpu HoGs are running simultaneously. Ocassionally, I get the following error:

OpenCV Error: Gpu API call (an illegal memory access was encountered) in extract_descrs_by_cols, file /home/stfn/libs/opencv-2.4.9/modules/gpu/src/cuda/hog.cu, line 545
OpenCV Error: Gpu API call (an illegal memory access was encountered) in mallocPitch, file /home/stfn/libs/opencv-2.4.9/modules/dynamicuda/include/opencv2/dynamicuda/dynamicuda.hpp, line 1134
OpenCV Error: Gpu API call (an illegal memory access was encountered) in normalize_hists, file /home/stfn/libs/opencv-2.4.9/modules/gpu/src/cuda/hog.cu, line 323
OpenCV Error: Gpu API call (an illegal memory access was encountered) in call, file /home/stfn/libs/opencv-2.4.9/modules/gpu/include/opencv2/gpu/device/detail/transform_detail.hpp, line 364
terminate called recursively
terminate called recursively
terminate called after throwing an instance of 'cv::ExceptionAbgebrochen (Speicherabzug geschrieben)

It seems that there is no rule for that, it happens completely randomly. Is there a guideline on Cuda resp. the OpenCV gpu module in multithreaded applications or stuff?