#13580: Parallel map reduce on SearchForest
-------------------------------------+-------------------------------------
       Reporter:  hivert             |        Owner:  hivert
           Type:  enhancement        |       Status:  positive_review
       Priority:  major              |    Milestone:  sage-7.2
      Component:  combinatorics      |   Resolution:
       Keywords:  map-reduce,        |    Merged in:
  days57, days77                     |    Reviewers:  Sébastien Labbé,
        Authors:  Florent Hivert,    |  Jean-Baptiste Priez
  Jean-Baptiste Priez, Nathann       |  Work issues:
  Cohen                              |       Commit:
Report Upstream:  N/A                |  134c1fad85dd50fa28528adc343bad759b174cc6
         Branch:                     |     Stopgaps:
  u/hivert/ticket/13580              |
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by hivert):

 Replying to [comment:101 tscrim]:
 > Christian, Vivien, and I are working on trying to speed up the iteration
 of
 > finite Coxeter groups by using (subgroups of) permutation groups and the
 > iterator method of generic Coxeter groups, which uses a `SearchForest`
 (see
 > #11187 and the `CoxeterGroups` category). Our goal is to try and match
 or
 > beat GAP3 iteration time (which we are about ~30x slower).

 I'll be both very happy and interested to have usecase for this code.

 > We are in the process pushing our successor computation code to Cython
 and
 > some of our other methods, but we would appreciate any insights you
 have.

 Do you have a typical example relying on {{{SearchForest}}} of code on top
 of
 #11187 that I can profile ? Note that I included in the documentation of
 map_reduce.py a guide on how to profile the parallel code. I'd like to
 measure
 the proportion of time that is spend on Coxeter code one one hand and on
 the
 parallel infrastructure on the other.


 Now, concerning coxeter group, I'm quite sure that rewriting part of the
 code
 in C/C++ and using advanced parallel stuff (AVX instruction set + SIMD)
 you
 can get speedup a large as several hundreds and even thousand ! As a
 witness
 on https://github.com/hivert/IVMPG I wrote a code whose goal is to
 enumerate
 integer vector modulo permutation group. Compared to the code we have in
 Sage
 which has been Cythonized and optimized by Simon King I manage to get
 speedup
 a large as x2000 ! I need help on the build system to be able to
 distribute
 it. I'm pretty sure the code there is very similar to what you need in
 Coxeter
 groups.

 By the way, should we transfer this discussion on #11187 ?

--
Ticket URL: <http://trac.sagemath.org/ticket/13580#comment:102>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" 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/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to