[Bf-blender-cvs] [5dde5dd44e0] master: Libmv: Use static scheduler for threading

Sergey Sharybin noreply at git.blender.org
Mon Apr 6 15:18:39 CEST 2020


Commit: 5dde5dd44e05024a53147aef70b26c70bfecdb1b
Author: Sergey Sharybin
Date:   Mon Apr 6 14:47:35 2020 +0200
Branches: master
https://developer.blender.org/rB5dde5dd44e05024a53147aef70b26c70bfecdb1b

Libmv: Use static scheduler for threading

For a real-world distortion the payload is quite uniformly
distributed across scanlines. Surely, in the corners more
iterations of minimizer is needed, but that happens in threads
without scheduling overhead.

===================================================================

M	intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h

===================================================================

diff --git a/intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h b/intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h
index 97abee7ab01..e1b53992dfd 100644
--- a/intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h
+++ b/intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h
@@ -63,7 +63,7 @@ void LookupWarpGrid::Compute(const CameraIntrinsics &intrinsics,
   double aspx = (double) w / intrinsics.image_width();
   double aspy = (double) h / intrinsics.image_height();
 #if defined(_OPENMP)
-#  pragma omp parallel for schedule(dynamic) num_threads(threads_) \
+#  pragma omp parallel for schedule(static) num_threads(threads_) \
   if (threads_ > 1 && height > 100)
 #endif
   for (int y = 0; y < height; y++) {
@@ -125,7 +125,7 @@ void LookupWarpGrid::Apply(const PixelType *input_buffer,
                            int channels,
                            PixelType *output_buffer) {
 #if defined(_OPENMP)
-#  pragma omp parallel for schedule(dynamic) num_threads(threads_) \
+#  pragma omp parallel for schedule(static) num_threads(threads_) \
   if (threads_ > 1 && height > 100)
 #endif
   for (int y = 0; y < height; y++) {



More information about the Bf-blender-cvs mailing list