Multicore/SMP performance

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Multicore/SMP performance

StuartL
Hi,

I'm running a new install of ODM in a VirtualBox Ubuntu guest VM on
Windows.  The guest VM has four cores but ODM only seems to use one core.

Looking at some other posts people seem to be talking about using
massive numbers of cores so I feel like I must be doing something wrong.

Possibly relevant information:
- ODM was originally compiled with only one core in the VM.  I later
increased the number of cores.
- I'm measuring it using one core by monitoring with 'top' and pressing
'1' to reveal individual CPU cores.  At all steps so far (currently up
to Computing depthmap for...) it seems to flatline one core but the
others are nearly idle.

Does it deduce the number of cores at point of compilation?  Do I need
to enable something to allow multi-core support?  Are the steps I've
observed so far all single-threaded?

Thanks for a wonderful piece of software!

Stuart
_______________________________________________
OpenDroneMap-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/opendronemap-users
Reply | Threaded
Open this post in threaded view
|

Re: Multicore/SMP performance

Piero Toffanin

Hi Stuart,

You can use more cores by setting the "opensfm-processes" option. By default we've set it at 1 because a fault is causing the program to get stuck sometimes with more cores: https://github.com/OpenDroneMap/OpenDroneMap/pull/579

Increasing the number of cores at compilation does not influence runtime behavior, it just compiles faster :)


On 06/03/2017 06:54 AM, StuartL wrote:
Hi,

I'm running a new install of ODM in a VirtualBox Ubuntu guest VM on Windows.  The guest VM has four cores but ODM only seems to use one core.

Looking at some other posts people seem to be talking about using massive numbers of cores so I feel like I must be doing something wrong.

Possibly relevant information:
- ODM was originally compiled with only one core in the VM.  I later increased the number of cores.
- I'm measuring it using one core by monitoring with 'top' and pressing '1' to reveal individual CPU cores.  At all steps so far (currently up to Computing depthmap for...) it seems to flatline one core but the others are nearly idle.

Does it deduce the number of cores at point of compilation?  Do I need to enable something to allow multi-core support?  Are the steps I've observed so far all single-threaded?

Thanks for a wonderful piece of software!

Stuart
_______________________________________________
OpenDroneMap-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/opendronemap-users


_______________________________________________
OpenDroneMap-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/opendronemap-users
Reply | Threaded
Open this post in threaded view
|

Re: Multicore/SMP performance

StuartL

Thanks, Piero.  That explains all.  FTR setting that to 4 worked for me and didn't hang up.  Admittedly I'm only use four cores so any SMP race conditions/deadlocks etc are much less likely to affect me than someone running on 64 cores.

Very impressive results, 82 photos taken at 3m intervals, 30m altitude using a Phantom 3 Advanced.

Out of curiosity: If I take photos with non-vertical orientation, e.g. pointing the camera sideways or at an angle, can ODM automatically integrate the results and avoid the voids under overhangs?

I'm so impressed with this software and thank the developers for it.  If I had one wish it would be to get slightly higher resolution results.  Some of the detail from the original photos is lost in the textured mesh.  Is this a tunable parameter or a limitation of the current implementation?

Stuart


On 03/06/2017 14:22, Piero Toffanin wrote:

Hi Stuart,

You can use more cores by setting the "opensfm-processes" option. By default we've set it at 1 because a fault is causing the program to get stuck sometimes with more cores: https://github.com/OpenDroneMap/OpenDroneMap/pull/579

Increasing the number of cores at compilation does not influence runtime behavior, it just compiles faster :)


On 06/03/2017 06:54 AM, StuartL wrote:
Hi,

I'm running a new install of ODM in a VirtualBox Ubuntu guest VM on Windows.  The guest VM has four cores but ODM only seems to use one core.

Looking at some other posts people seem to be talking about using massive numbers of cores so I feel like I must be doing something wrong.

Possibly relevant information:
- ODM was originally compiled with only one core in the VM.  I later increased the number of cores.
- I'm measuring it using one core by monitoring with 'top' and pressing '1' to reveal individual CPU cores.  At all steps so far (currently up to Computing depthmap for...) it seems to flatline one core but the others are nearly idle.

Does it deduce the number of cores at point of compilation?  Do I need to enable something to allow multi-core support?  Are the steps I've observed so far all single-threaded?

Thanks for a wonderful piece of software!

Stuart
_______________________________________________
OpenDroneMap-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/opendronemap-users



_______________________________________________
OpenDroneMap-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/opendronemap-users
Reply | Threaded
Open this post in threaded view
|

Re: Multicore/SMP performance

Piero Toffanin

Yes you can take non-nadir pictures. You can also take both to get better overhangs in the textured mesh. ODM will merge them together.

For the resolution, increase the --orthophoto-resolution parameter to something like 60 for a better orthophoto. I think the textured mesh already uses the highest resolution available, but perhaps try to increase the -- resize-to parameter, maybe that will help?


On 06/03/2017 09:51 AM, StuartL wrote:

Thanks, Piero.  That explains all.  FTR setting that to 4 worked for me and didn't hang up.  Admittedly I'm only use four cores so any SMP race conditions/deadlocks etc are much less likely to affect me than someone running on 64 cores.

Very impressive results, 82 photos taken at 3m intervals, 30m altitude using a Phantom 3 Advanced.

Out of curiosity: If I take photos with non-vertical orientation, e.g. pointing the camera sideways or at an angle, can ODM automatically integrate the results and avoid the voids under overhangs?

I'm so impressed with this software and thank the developers for it.  If I had one wish it would be to get slightly higher resolution results.  Some of the detail from the original photos is lost in the textured mesh.  Is this a tunable parameter or a limitation of the current implementation?

Stuart


On 03/06/2017 14:22, Piero Toffanin wrote:

Hi Stuart,

You can use more cores by setting the "opensfm-processes" option. By default we've set it at 1 because a fault is causing the program to get stuck sometimes with more cores: https://github.com/OpenDroneMap/OpenDroneMap/pull/579

Increasing the number of cores at compilation does not influence runtime behavior, it just compiles faster :)


On 06/03/2017 06:54 AM, StuartL wrote:
Hi,

I'm running a new install of ODM in a VirtualBox Ubuntu guest VM on Windows.  The guest VM has four cores but ODM only seems to use one core.

Looking at some other posts people seem to be talking about using massive numbers of cores so I feel like I must be doing something wrong.

Possibly relevant information:
- ODM was originally compiled with only one core in the VM.  I later increased the number of cores.
- I'm measuring it using one core by monitoring with 'top' and pressing '1' to reveal individual CPU cores.  At all steps so far (currently up to Computing depthmap for...) it seems to flatline one core but the others are nearly idle.

Does it deduce the number of cores at point of compilation?  Do I need to enable something to allow multi-core support?  Are the steps I've observed so far all single-threaded?

Thanks for a wonderful piece of software!

Stuart
_______________________________________________
OpenDroneMap-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/opendronemap-users




_______________________________________________
OpenDroneMap-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/opendronemap-users

--

Piero Toffanin
IT Business Consultant

masseranolabs.com
<a href="tel:+12184619746">+1(218)461-9746
@pierotofy
<a href="skype:pierotofy?call">pierotofy


_______________________________________________
OpenDroneMap-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/opendronemap-users