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.