Skip to content

Issue: Unstructured Variogram Estimate Slower with OpenMP [v1.3.5]? #231

@mathijsvdven

Description

@mathijsvdven

Hi All, Thanks for your efforts to create and maintain GSTools. I'm wanting to create an omnidirectional variogram for a dataset of ~45k unstructured points (x-y-z). Running "gstools.variogram.vario_estimate" in my default installation [1.3.4] takes about 34 seconds to complete.

310 function calls (301 primitive calls) in 34.927 seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
...
        1   34.917   34.917   34.917   34.917 {gstools.variogram.estimator.unstructured}
...

To speed up the code, I installed v 1.3.5 from source with OpenMP enabled following the instructions in the documentation. I installed this compiler which includes OpenMP support (I am on Windows 10) and ran:

set GSTOOLS_BUILD_PARALLEL=1
pip install --no-binary=gstools gstools

I then ran the variogram function on the same dataset but found that runtime has increased by almost a factor 10:

310 function calls (301 primitive calls) in 295.988 seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
...
        1  295.977  295.977  295.977  295.977 {gstools.variogram.estimator.unstructured}
...

Is this a known issue or does this look like an issue with my installation?

Metadata

Metadata

Assignees

No one assigned

    Labels

    PerformancePerformance related stuff.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions