> > > In https://trac.sagemath.org/ticket/27444 we are exposing the parallel > versions (using OpenMP) of > fflas-ffpack routines used in SageMath. This is only about multicore > parallelism, based on OpenMP. > > +1 to having multicore linear algebra in Sage. I have hacked together some things in the past to do computations that would take too long serially, but they were really ugly, and I would prefer not to have to do them again.
> We would like to discuss on the best design to expose them to the end > user: > > 1. Should the default behaviour be sequential or parallel ? > I think it should follow SAGE_NUM_THREADS as a default. This is something that you have to know at least a little bit of what you are doing to set it. Moreover, if you are doing this for building/testing, then you would want to do the same for computations. > > 2. If the default is parallel, how many cores should be used by default? I > guess the default should > be whatever value openmp_get_numthreads() returns, which is usually the > number of cores, however, in > most systems where hyperthreading is enabled, this means that we will use > twice as many cores as the > number of real cores, which will slow down the computation. > IMO, same as the above: Start with SAGE_NUM_THREADS and allow the user to modify it accordingly. > > 3. What interface do we want for the sage user who wants to > > 3a switch between sequential and parallel, > > 3b specify the number of cores to be used ? > > Should there be some kind of environment variable containing such > informations? > As Eric mentioned, I would expand upon Parallelism() as that would make a good unique and natural point to have all of this data. Best, Travis -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.