On 01/24/2018 11:00 AM, Ben Goertzel wrote:
Hmm, interesting

So if I understand right, this is just sort of like letting the PM run
independently on N processors, exploring different parts of the
hypergraph...

That's the idea. It seems even with large variance in resources needed for checking if a candidate is a match, it would still be OK as OpenMP is supposed to support dynamic scheduling. Quoting from http://pages.tacc.utexas.edu/~eijkhout/pcse/html/omp-loop.html

"Dynamic schedules are a good idea if iterations take an unpredictable amount of time, so that load balancing is needed"

Looking at __gnu_parallel code it seems static and dynamic looping are calling the same primitive however :\

We've have to try to really know. Anyway, most of the work would go into making the PM multi-thread safe, which, for the most part, will be needed for parallel backtracking.

Nil


Not as fancy as a parallel backtracker, but might work almost as well
in most common cases... I'd need to think/study more ...




On Wed, Jan 24, 2018 at 4:46 PM, 'Nil Geisweiller' via opencog
<[email protected]> wrote:
Regarding multi-threaded pattern matcher, I've always wondered, why not just
wrap the following loops

https://github.com/opencog/atomspace/blob/master/opencog/query/InitiateSearchCB.cc#L393
https://github.com/opencog/atomspace/blob/master/opencog/query/InitiateSearchCB.cc#L634
https://github.com/opencog/atomspace/blob/master/opencog/query/InitiateSearchCB.cc#L821

in omp algos (see
https://github.com/opencog/cogutil/blob/master/opencog/util/oc_omp.h) since
most of the time (always?) `found` is set to false anyway.

By setting min_n appropriately (see
https://github.com/opencog/cogutil/blob/master/opencog/util/oc_omp.h#L64)
we'd avoid unnecessary multi-threading overhead.

All we'd need to have this working would be to make sure that the PM code is
multi-threaded safe (maybe easier said than done).

What do you guys think?

Nil

On 01/24/2018 08:06 AM, Parth Thakkar wrote:

I was going through the suggested projects page, and found this page:
(https://wiki.opencog.org/w/Parallelizing_OpenCog). I'd like to know if it
is still in scope.

--
You received this message because you are subscribed to the Google Groups
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit
https://groups.google.com/d/msgid/opencog/4feba3cc-72bd-42fc-ab13-08fef4d81b8d%40googlegroups.com
<https://groups.google.com/d/msgid/opencog/4feba3cc-72bd-42fc-ab13-08fef4d81b8d%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit
https://groups.google.com/d/msgid/opencog/c143005d-d924-daec-5961-359bdd03b253%40gmail.com.

For more options, visit https://groups.google.com/d/optout.




--
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/14d956d0-3898-cc7b-2191-779ccb8c0aeb%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to