openphotogrammetry / meshroomcl

MeshroomCL: An OpenCL implementation of photogrammetry with the Meshroom interface
Other
163 stars 8 forks source link

'Reading configuration' in MultiviewStereoCL stalls at the start of SteroeFusion #28

Closed expenses closed 2 years ago

expenses commented 2 years ago

Hi. After running StructureFromMotionCL successfully and going through the two PatchMatch loops twice, the StereoFusion step seems to just stall at 'Reading Configuration' and not do anything for hours. According to Task Manager, it is taking up a fair amount of CPU, memory and disk IO but nothing seems to be happening.

Is it possible that the new 'Data Cache Size' option (I'm using v0.8.1) (set to 3 GiB) is preventing it from reading the configuration somehow?

expenses commented 2 years ago

Adjusting the 'Data Cache Size' worked. My laptop ran out of memory and had to write to the pagefile instead, but that's okay.

I don't know how the StereoFusion pass works, but I believe that this issue could be solved by not using the 'Data Cache Size' limit for it.

revisionarian commented 2 years ago

Hi @expenses, thanks a lot for sharing your experience with MeshroomCL. In earlier versions, before we added the "Data Cache Size" option in MeshroomCL v0.8.1, the cache size for the StereoFusion phase was always set to 32 GB.

What "Data Cache Size" do you think is working best for you on your 8 GB system? I guess with the original 32 GB size, your system would start paging anyway.

The PatchMatch step does a bunch of RAM/VRAM sharing with the GPU, whereas the StereoFusion phase is CPU-only. Maybe we should treat the data cache differently for the two separate processing phases.

Since you are a sophisticated user, you might want to look at our COLMAP-CL software which gives complete control over all the processing parameters. However, COLMAP-CL does not do any texturing of the final mesh.

expenses commented 2 years ago

Yeah, I upped it to 8GB or so and it started paging, but that's fine. I think the situations where you want the Data Cache Size option to be active are when allocating buffers for OpenCL, as paging seems to be a problem there.

revisionarian commented 2 years ago

Hi @expenses, we've released a new version of MeshroomCL (v0.8.2) that separates the two cache sizes (for depth map computation and fusion) and restores the default fusion cache size to 32 GB. Hopefully this will now run smoothly on your system with the default configuration.

Thanks a lot for your feedback and helping to improve MeshroomCL! Please let us know if you encounter further problems or have other ideas.