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/
-~----------~----~----~----~------~----~------~--~---

Reply via email to