---------- Forwarded message ---------
From: Jakub Golinowski <jakub.golinow...@gmail.com>
Date: Sun, Jun 10, 2018, 10:47 AM
Subject: [STE||AR GSoC-students] HPX Backend for OpenCV - First Phase Report
To: <gsoc-stude...@stellar-group.org>


Dear Ste||ar GSoC community,

I would like to submit short report of my progress during the first phase
of GSoC.

The main achievement of this moth is a working HPX backend for OpenCV.

During the development it was discovered that the parallel_for_ loop which
is the base for all parallel execution of OpenCV's jobs is not only exposed
to the user but is also used indirectly by some OpenCV filters. In the
latter case there is a workload based partitioning introduced based on the
domain-specific knowledge of the particular computer vision operation.
Because of that the simple backend version with partitioning done fully by
HPX was extended to the version supporting partitioning propsed by OpenCV.

What is more there is a question of when to start the HPX runtime. For now
there are to versions developed:

   - simple backend that assumes that HPX runtime is on,
   - start-stop backend that is starting and stopping the runtime for each
   parallel_for call.

After the benchmarking experiments it is decided that the final version of
the backend will be a "smart start-stop". It will perform all the necessary
checks to determine if the backend is running and then based on that either
start the runtime (and of course stop it later) or directly proceed to hpx
calls.

The backend itself is developed in two branches of my fork of OpenCV
repository (hpx_backend
<https://github.com/Jakub-Golinowski/opencv/tree/hpx_backend> and
hpx_backend_eval
<https://github.com/Jakub-Golinowski/opencv/tree/hpx_backend_eval>). The
eval branch is more up-to-date and has additional cmake options which
enable to choose between versions of the backend:

   - with or without support for OpenCV partitioning,
   - simple mode (assume HPX runs) or start-stop mode.

Small example applications using HPX, application used for benchmarking
(opencv_mandelbrot) and necessary bash and python scripts can be found in
this repository: https://github.com/Jakub-Golinowski/opencv_hpx_backend

In the next 2 months the backend will be developed in its final version
(most probably smart start-stop) and the efforts to merge it to OpenCV
repository will be started. Apart from that, the example application
combining OpenCV with freshly developed HPX backend, access to webcam and
QT GUI will be developed.

Best regards,

Jakub Golinowski



_______________________________________________
gsoc-students mailing list
gsoc-stude...@stellar-group.org
https://mail.cct.lsu.edu/mailman/listinfo/gsoc-students
_______________________________________________
hpx-users mailing list
hpx-users@stellar.cct.lsu.edu
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to