> > Flamebait. Discouraging. Useless, etc. > > Bernard, I think your suggestion to more and more try actually > using multiple algorithms in parallel and terminating the slower > one should be pursued further. To what extent have you tried > this already with giac, and how has it gone? >
There is currently no algorithm of this kind in giac. I thought about it for gcd but never implemented anything, there are some technical obstructions like the fact that some multivariate gcd algorithms are recursive and applying parallel algorithms in a recursive framework is probably not a good idea. There is some infrastructure support to do this at the user level (context pointers for preventing different threads to modify shared global context information, like variables content or assumptions). It should be easy to add a maximum memory allowed for a context in a thread (if it's not possible at the libpthread level). Then I must find a way to give control for the user, something like background(a,det(m),1e9,1e4) would launch a thread with maximal memory allowed 1e9 bytes, maximal time 1e4s, that should compute the det of m and once finished store the answer in a. The thread executing the background instruction would not be stopped until evaluation of a is requested. Some instruction should give control on the thread(s), like kill(a) or is_completed(a). I'm also thinking about launching the computation on a remote computer (from inside the thread). --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---