Speaking of parallel processing in Python, I recently heard about the pp module: http://www.parallelpython.com/ It may be something that we want to look at.
--Mike On 9/16/07, William Stein <[EMAIL PROTECTED]> wrote: > > On 9/16/07, David Joyner <[EMAIL PROTECTED]> wrote: > > Some comments on the recent GAP comments relevant to SAGE: > > > > (0) The talk on SAGE went quite well and generated interest. > > Excellent. > > > (1) Many GAP developers and some GAP packages authors like > > SAGE and plan on looking into the extra functionality of "GAP-SAGE" > > (ie, the GAP that comes with SAGE). Especially the HAP team. > > I would like to include HAP as standard as soon as we can. > > (There still is a documented HAP function which returns a list sometimes > > and an integer others. I have them 2 ways to remedy this which are > > fairly easy. Once they fix this, i would like it to be included. > > Further HAP development will use polymake, which is already a > > SAGE package.) > > Just get it to work for me easily and I'll include it. > > > (2) Many really liked the SAGE gui. Unfortunately, the TUB (Tech Univ at > > Braunschweig) wirefall blocked the online authentication so it could not > > be used and there was no internet at the hotel. > > For future reference, about 3-4 days ago I changed things so that the > public notebook server: > (1) Doesn't use ssl at all, and > (2) Is at http://sagenb.org (and another at http://sagenb.com), so > there is no funny business with ports. > Thus the above setup shouldn't get blocked anywhere anymore. > Obviously (1) means people could sniff password on the public notebook > easily, but this really isn't too worrisome given that the thing is free, > etc., so what should people expect? > > > (3) The Browse package authors (which used ncurses to do some fancy > > display tricks with large character tables, for example) wished that it > > could be used in the gui. I have no idea if you can pipe ncurses > > special characters through to the browser and make it look nicer. > > I have no clue if that is possible or if it would be a good idea. Probably > not. > > > In general, for SAGE's browser, how do you view a section of a huge > > (say character or Cayley) table? They have solved this problem using Browse, > > which leaves the side and top alone (which index the rows and columns) > > but allows you to browse 5 or 10 consecutive rows and column entries. > > I suspect HTML and any good web browser solves this problem ok -- just > make aread-only textarea or span or div tag with a limited number of > rows and columns, and the browser provides good scroll functionality. This > is one thing that browsers are surprisingly good at. > > > (4) Single processor machines are almost a thing of the past. > > How do we start to adjust for this increase in processors? > > DSAGE, IPython1, multithreaded BLAS, etc. > > > Can SAGE use a single GAP workspace but start two (or more) > > threads using that? > > I don't know what that means, due to my lack of knowledge about > GAP. > > > Which basic commands (like polynomial > > multiplication) can be parallelized? > > For atomic operations like that, most anything can be parallelized. > The amusing thing is that usually the overhead of starting threads > and keeping track of them ends up making the resulting code > slower than not using threads at all. In my opinion the *only* reason > to ever use parallelism is to make things faster -- period. If > a parallel implementation isn't demonstrably faster than a serial > one, then there is no point (though there are some issues of scaling). > > In numerous cases basic arithmetic, linear algebra, etc. in SAGE / GAP > is way slower than Magma's serial implementations, so in such cases > one should at least catch up with (or beat) them first. Finally, in many > cases Sage's basic arithmetic is done by third-party libraries, > in order to avoid us reinventing the wheel... our multivariate polynomial > arithmetic is often done by Singular -- and it would probably takes > years of hard work to come up with our own serial multivariate polynomial > arithmetic that would beat Singular (note that Singular actually beats > Magma in many cases). And then once we understand our serial > implementation, we have to do something parallel that is even better. > > So I think nontrivial parallelization at the low-level arithmetic level is not > something that is going to happen soon, except if any third party > libraries were to do it. One exception is linear algebra, where SAGE > uses Linbox, which in turn using a system-wide optimized BLAS -- and > one can get optimized BLAS's that really do leverage multicore machines, > e.g., this is standard on OS X. So already much of SAGE's linear algebra > benefits from multicore machines, without us doing any work to make > that happen. > > Parallelization at a higher level, e.g., dsage, ipython1, etc., is of course > very important and is currently being used all the time by people. > > > (5) How easy would it be to "certify" a computation? Suppose > > f is a function, x is input and y is output and I claim GAP (or SAGE) > > tells me that, after several days, y = f(x). I want you to believe me, > > so I "certify this". One way (maybe) is to have SAGE encrypt the > > start time, finish time, and printout (and maybe a pickle of some > > relevant data) into a file. This file looks random but a SAGE Oracle can > > verify its authenticity within a reasonable probability. > > Probably anything you could imagine doing along the above lines > could be forged. In any case, it's such a standard problem/question > that either it has been solved in other programs or systems > like Mathematica, and it's obvious what to do, or it's like DRM and > there is always a way to trick it. If somebody knows something about > this sort of question, please reply... > > Are we supposed to assume the person doing the signature is > malicious? Are do we assume the person is somewhat like me > who is -- I claim -- not malicious, and just isn't very good at keeping > track of what they are doing, and wants a double check on what > they've computed? Then wouldn't a log be good enough? > > > (6) At SD4 the topic of Bruhat orderings came up (maybe in a different > > guise). Frank Luebeck told me about > > http://math.univ-lyon1.fr/~ducloux/coxeter/coxeter3/english/coxeter3_e.html > > Sadly, du Cloux died recently, but it is GPL'd. It may or may not be > > included in Atlas (which he was also the main author). > > Cool. > > > I'm happy to post any or some of this on the sage-devel or > > you can just reply there and cut out what you want. > > Done. > > -- > William Stein > Associate Professor of Mathematics > University of Washington > http://wstein.org > > > > --~--~---------~--~----~------------~-------~--~----~ 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---