Configuring Resources to be used with latest version of WebODM not using Docker

Hi there, I’ve searched and have been unsuccessful finding a tutorial or walkthrough for allocating more processing power and RAM with the Windows version not using Docker. If there’s a post walking through this process please route me in that direction, otherwise I need help from start to finish for setting up WebODM to utilize the most it can out of my system.

Win 11 Pro
AMD Ryzen 9 3900X 12-Core Processor, 3801 Mhz, 12 Core(s), 24 Logical
Processor(s)
32GB DDR4 Ram (planning to double soon)
Nvidia 1080 (planning to upgrade soon)

Thanks!

1 Like

I don’t think there is much you have to do, it mostly happens automatically. The exception being virtual memory, which you need to set up properly so that large tasks can be handled.

It turns out that Windows does not manage virtual memory in a very suitable manner for WebODM, due to using dynamic allocations which can be too slow, leading to an OOM crash. The most successful way is to allocate the paging file is to make it big, with initial size = maximum size, and put it on one drive only, preferably the one where Windows wants to put it (minimum allowed), usually C:
Ideally, this will be an SSD.

Regarding your RAM, consider going to 3 or 4X as much as you have now if you are thinking of doing tasks with thousands of images.

1 Like

Thanks for the assist! I went through the steps to increase the Virtual Memory and my CPU is now being utilized by 40% rather than 10%! Great increase.

If I monitor my RAM and GPU usage, they’re still below what I’d expect to be utilized. Ram averaging 23% and GPU at 2%. This is during the process or task that looks like this…

2022-08-02 17:04:08,467 DEBUG: Matching DJI_0179.JPG and DJI_0222.JPG. Matcher: FLANN (symmetric) T-desc: 2.740 T-robust: 0.001 T-total: 2.742 Matches: 49 Robust: 47 Success: True
2022-08-02 17:04:08,568 DEBUG: Matching DJI_0569.JPG and DJI_0575.JPG. Matcher: FLANN (symmetric) T-desc: 4.223 T-robust: 0.010 T-total: 4.235 Matches: 599 Robust: 594 Success: True
2022-08-02 17:04:08,988 DEBUG: Matching DJI_0168.JPG and DJI_0129.JPG. Matcher: FLANN (symmetric) T-desc: 3.310 T-robust: 0.001 T-total: 3.312 Matches: 382 Robust: 377 Success: True
2022-08-02 17:04:09,408 DEBUG: Matching DJI_0552.JPG and DJI_0551.JPG. Matcher: FLANN (symmetric) T-desc: 2.419 T-robust: 0.001 T-total: 2.421 Matches: 416 Robust: 413 Success: True

Can I still increase the amount that WebODM uses my RAM and GPU, or is that already being done and nothing can change?

1 Like

Unfortunately it seems there is nothing that can be done to increase CPU and memory usage. It’s a fairly common topic of discussion.

Here’s performance monitor graph of a 1435 image task with ultra/ultra settings, started at 8:37. You can see full use of the CPU to start with (GPU would be used for high feature quality or if I resized by 0.66X with ultra), then CPU and memory settle down to a fairly constant level during image matching. Once the image additions start, the memory usage will increase a lot.

1 Like