cdcseacave / openMVS

open Multi-View Stereo reconstruction library
http://cdcseacave.github.io
GNU Affero General Public License v3.0
3.37k stars 910 forks source link

Got CUDA Error in Common/UtilCUDA.h:65 #1043

Closed jiangzhiwei2018 closed 1 year ago

jiangzhiwei2018 commented 1 year ago

Describe the bug I got CUDA error from openMVS/libs/Common/UtilCUDA.h:65 while I use bin/scrip DensifyPointCloud

data: openMVS_sample's data scence.mvs, using the script TextureMesh in test_refinemesh.mvs appear the same error.

error info: DensifyPointCloud: /home/user/Libs/openMVS/libs/Common/UtilCUDA.h:65: CUresult SEACAVE::CUDA::__reportCudaError(CUresult, LPCSTR): Assertion"CudaError" == __null' failed.`

my command line: ~/Libs/openMVS/openMVS_sample$ ../build/bin/DensifyPointCloud -w . -i scene.mvs -o test_dense.mvs

Verion of CUDA: 11.8

My Desktop Info : 18:08:24 [App ] OpenMVS x64 v2.2.0 18:08:24 [App ] Build date: Aug 11 2023, 17:49:53 18:08:24 [App ] CPU: Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz (8 cores) 18:08:24 [App ] RAM: 31.03GB Physical Memory 2.00GB Virtual Memory 18:08:24 [App ] OS: Linux 5.15.0-78-generic (x86_64) 18:08:24 [App ] Disk: 172.71GB (467.89GB) space 18:08:24 [App ] SSE & AVX compatible CPU & OS detected 18:08:24 [App ] Command line: DensifyPointCloud -w . -i scene.mvs -o test_dense.mvs 18:08:24 [App ] CUDA device 0 initialized: NVIDIA GeForce RTX 2080 (compute capability 7.5; memory 7.78GB) 18:08:24 [App ] Camera model loaded: platform 0; camera 0; f 1.054x1.054; poses 11

Additional context user@user-Precision-5820-Tower:~/Libs/openMVS/openMVS_sample$ ../build/bin/DensifyPointCloud -w . -i scene.mvs -o test_dense.mvs 18:08:24 [App ] OpenMVS x64 v2.2.0 18:08:24 [App ] Build date: Aug 11 2023, 17:49:53 18:08:24 [App ] CPU: Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz (8 cores) 18:08:24 [App ] RAM: 31.03GB Physical Memory 2.00GB Virtual Memory 18:08:24 [App ] OS: Linux 5.15.0-78-generic (x86_64) 18:08:24 [App ] Disk: 172.71GB (467.89GB) space 18:08:24 [App ] SSE & AVX compatible CPU & OS detected 18:08:24 [App ] Command line: DensifyPointCloud -w . -i scene.mvs -o test_dense.mvs 18:08:24 [App ] CUDA device 0 initialized: NVIDIA GeForce RTX 2080 (compute capability 7.5; memory 7.78GB) 18:08:24 [App ] Camera model loaded: platform 0; camera 0; f 1.054x1.054; poses 11 18:08:24 [App ] Image loaded 0: 00000.jpg 18:08:24 [App ] Image loaded 1: 00001.jpg 18:08:24 [App ] Image loaded 2: 00002.jpg 18:08:24 [App ] Image loaded 3: 00003.jpg 18:08:24 [App ] Image loaded 4: 00004.jpg 18:08:24 [App ] Image loaded 5: 00005.jpg 18:08:24 [App ] Image loaded 6: 00006.jpg 18:08:24 [App ] Image loaded 7: 00007.jpg 18:08:24 [App ] Image loaded 8: 00008.jpg 18:08:24 [App ] Image loaded 9: 00009.jpg 18:08:24 [App ] Image loaded 10: 00010.jpg 18:08:24 [App ] Scene loaded from interface format (102ms): 11 images (11 calibrated) with a total of 63.22 MPixels (5.75 MPixels/image) 12683 points, 0 vertices, 0 faces 18:08:24 [App ] The camera directions mean is unbalanced; the scene will be considered unbounded (no ROI) 18:08:24 [App ] error: too few images to be a tower: '11' 18:08:24 [App ] Point-cloud composed of 12683 points with:

18:08:24 [App ] K8 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K0 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K4 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K6 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K9 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K2 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K10 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K5 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K3 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] K1 = 1492.6642 0.0000 725.8179 0.0000 1492.6642 562.2670 0.0000 0.0000 1.0000

18:08:24 [App ] Preparing images for dense reconstruction completed: 11 images (423ms) 18:08:24 [App ] Reference image 0 sees 10 views: 1(2110pts,1.07scl) 2(1705pts,1.11scl) 3(1560pts,1.12scl) 4(1277pts,1.14scl) 5(1058pts,1.15scl) 6(934pts,1.12scl) 7(814pts,1.03scl) 8(694pts,0.94scl) 9(450pts,0.85scl) 10(246pts,0.72scl) (2571 shared points) 18:08:24 [App ] Reference image 9 sees 10 views: 7(1710pts,1.19scl) 8(2497pts,1.09scl) 6(1302pts,1.31scl) 10(1315pts,0.88scl) 5(1112pts,1.37scl) 4(942pts,1.38scl) 3(874pts,1.39scl) 2(793pts,1.39scl) 1(669pts,1.34scl) 0(450pts,1.26scl) (3346 shared points) 18:08:24 [App ] Reference image 1 sees 10 views: 3(2771pts,1.04scl) 2(3197pts,1.04scl) 4(2116pts,1.07scl) 0(2110pts,0.94scl) 5(1726pts,1.07scl) 6(1479pts,1.04scl) 7(1287pts,0.96scl) 8(1077pts,0.88scl) 9(669pts,0.79scl) 10(354pts,0.67scl) (4460 shared points) 18:08:24 [App ] Reference image 6 sees 10 views: 4(2315pts,1.03scl) 8(2202pts,0.85scl) 3(1966pts,1.02scl) 5(2857pts,1.03scl) 7(2891pts,0.92scl) 2(1769pts,1.02scl) 9(1302pts,0.78scl) 1(1479pts,0.98scl) 0(934pts,0.92scl) 10(631pts,0.68scl) (4619 shared points) 18:08:24 [App ] Reference image 7 sees 10 views: 5(2250pts,1.13scl) 8(3136pts,0.92scl) 6(2891pts,1.09scl) 4(1945pts,1.13scl) 9(1710pts,0.85scl) 3(1678pts,1.12scl) 2(1497pts,1.12scl) 10(826pts,0.74scl) 1(1287pts,1.07scl) 0(814pts,1.01scl) (4878 shared points) 18:08:24 [App ] Reference image 5 sees 10 views: 3(2355pts,0.99scl) 7(2250pts,0.89scl) 2(2028pts,0.99scl) 4(2870pts,1.00scl) 6(2857pts,0.97scl) 8(1796pts,0.82scl) 1(1726pts,0.95scl) 9(1112pts,0.75scl) 0(1058pts,0.89scl) 10(499pts,0.65scl) (4533 shared points) 18:08:24 [App ] Reference image 3 sees 10 views: 1(2771pts,0.96scl) 5(2355pts,1.02scl) 4(2909pts,1.02scl) 6(1966pts,0.99scl) 2(3550pts,1.00scl) 0(1560pts,0.90scl) 7(1678pts,0.91scl) 8(1394pts,0.83scl) 9(874pts,0.75scl) 10(399pts,0.64scl) (5026 shared points) 18:08:24 [App ] Reference image 8 sees 10 views: 6(2202pts,1.19scl) 7(3136pts,1.09scl) 9(2497pts,0.92scl) 5(1796pts,1.23scl) 10(1142pts,0.81scl) 4(1544pts,1.24scl) 3(1394pts,1.23scl) 2(1233pts,1.24scl) 1(1077pts,1.19scl) 0(694pts,1.12scl) (4840 shared points) 18:08:24 [App ] Reference image 10 sees 10 views: 8(1142pts,1.24scl) 9(1315pts,1.14scl) 7(826pts,1.36scl) 6(631pts,1.51scl) 5(499pts,1.58scl) 4(440pts,1.62scl) 3(399pts,1.62scl) 2(360pts,1.65scl) 1(354pts,1.57scl) 0(246pts,1.48scl) (1735 shared points) 18:08:24 [App ] Reference image 4 sees 10 views: 2(2546pts,0.98scl) 6(2315pts,0.97scl) 3(2909pts,0.99scl) 1(2116pts,0.94scl) 5(2870pts,1.00scl) 7(1945pts,0.89scl) 8(1544pts,0.82scl) 0(1277pts,0.89scl) 9(942pts,0.75scl) 10(440pts,0.64scl) (4549 shared points) 18:08:24 [App ] Reference image 2 sees 10 views: 4(2546pts,1.02scl) 1(3197pts,0.96scl) 5(2028pts,1.02scl) 0(1705pts,0.90scl) 3(3550pts,1.00scl) 6(1769pts,0.99scl) 7(1497pts,0.91scl) 8(1233pts,0.83scl) 9(793pts,0.75scl) 10(360pts,0.64scl) (4961 shared points) 18:08:24 [App ] Selecting images for dense reconstruction completed: 11 images (114ms) Geometric-consistent estimated depth-maps 11 (100%, 32s880ms)
Geometric-consistent estimated depth-maps 11 (100%, 30s287ms)
Filtered depth-maps 11 (100%, 21s612ms)
Fused depth-maps 11 (100%, 18s193ms)
18:10:08 [App ] Depth-maps fused and filtered: 11 depth-maps, 8241384 depths, 1141482 points (14%%) (18s383ms) 18:10:08 [App ] Dense point-cloud composed of: 0 points with 1- views 0 points with 2 views 1141482 points with 3+ views 18:10:08 [App ] Densifying point-cloud completed: 1141482 points (1m44s113ms) 18:10:20 [App ] Scene saved (11s562ms): 11 images (11 calibrated) 1141482 points, 0 vertices, 0 faces 18:10:20 [App ] Point-cloud saved: 1141482 points (703ms) 18:10:21 [App ] MEMORYINFO: { 18:10:21 [App ] VmPeak: 9159576 kB 18:10:21 [App ] VmSize: 8471600 kB 18:10:21 [App ] } ENDINFO DensifyPointCloud: /home/user/Libs/openMVS/libs/Common/UtilCUDA.h:65: CUresult SEACAVE::CUDA::reportCudaError(CUresult, LPCSTR): Assertion `"CudaError" == null' failed. Aborted (core dumped)

cdcseacave commented 1 year ago

something seems to happen at the end of the reconstruction, after all is done, so the result should be fine; feel free to debug what is happening by debugging

jiangzhiwei2018 commented 1 year ago

something seems to happen at the end of the reconstruction, after all is done, so the result should be fine; feel free to debug what is happening by debugging

Thanks for your reply. I got the fine result. and when I debug for what is happening, I opened the function inline CUresult __reportCudaError(CUresult result, LPCSTR errorMessage) in the file openMVS/libs/Common/UtilCUDA.h ,as it show blow

inline CUresult __reportCudaError(CUresult result, LPCSTR errorMessage) {
    if (result == CUDA_SUCCESS)
        return CUDA_SUCCESS;
    LPCSTR szName;
    cuGetErrorName(result, &szName);
    LPCSTR szError;
    cuGetErrorString(result, &szError);
    #ifdef _DEBUG
    VERBOSE("CUDA error at %s:%d: %s (%s (code %d) - %s)", __FILE__, __LINE__, errorMessage, szName, static_cast<unsigned>(result), szError);
    #else
    DEBUG("CUDA error: %s (%s (code %d) - %s)", errorMessage, szName, static_cast<unsigned>(result), szError);
    #endif
    ASSERT("CudaError" == NULL);  // the error occured line.
    return result;

but I didn't get the debug information from DEBUG("CUDA error: %s (%s (code %d) - %s)", errorMessage, szName, static_cast<unsigned>(result), szError); or VERBOSE("CUDA error at %s:%d: %s (%s (code %d) - %s)", __FILE__, __LINE__, errorMessage, szName, static_cast<unsigned>(result), szError); how can I do to catch the information, I had tried to set the argument -v [--verbosity] to 1 or 0, but I didn't catch the debug info in console .

cdcseacave commented 1 year ago

use GDB

007cat commented 1 month ago

Hello, I meet the same problem, could you explain how to solve it?