Re: [sage-devel] Re: Parallel computing

2015-10-04 Thread William Stein
On Sunday, October 4, 2015, Jori Mäntysalo  wrote:

> On Sun, 4 Oct 2015, William Stein wrote:
>
> If I am right, there is no EASY parallel functions in Sage.
>>>
>>
>> Type
>>
>>   parallel?
>>
>> in Sage for a simple but very useful parallel decorator in Sage, that
>> I addedabout 6 years.  The API is slightly confusing, and it would be
>> nice to have something better. But it's pretty easy to use
>>
>
> Not hard, but as you said, could be better. I have no idea about how to
> make simpler wrappers.
>
> Btw, it confuses timing:
>
> %timeit
> @parallel
> def f(n): return factor(2^n-1)
>
> n=210
> list(f(range(n,n+10)))
>
> said
>
> CPU time: 0.06 s,  Wall time: 24.02 s
>
> and same with @parallel(ncpus=1) gave
>
> CPU time: 0.07 s,  Wall time: 47.23 s
>
>
Cpu time is by definition the time in the same process.  There are a
million ways to cause other processes to do stuff with the cpu that can't
be measured as part of cpu time.  The wall time should be accurate.



> --
> Jori Mäntysalo
>


-- 
Sent from my massive iPhone 6 plus.

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Parallel computing

2015-10-04 Thread Jori Mäntysalo

On Sun, 4 Oct 2015, William Stein wrote:


If I am right, there is no EASY parallel functions in Sage.


Type

  parallel?

in Sage for a simple but very useful parallel decorator in Sage, that
I addedabout 6 years.  The API is slightly confusing, and it would be
nice to have something better. But it's pretty easy to use


Not hard, but as you said, could be better. I have no idea about how to 
make simpler wrappers.


Btw, it confuses timing:

%timeit
@parallel
def f(n): return factor(2^n-1)

n=210
list(f(range(n,n+10)))

said

CPU time: 0.06 s,  Wall time: 24.02 s

and same with @parallel(ncpus=1) gave

CPU time: 0.07 s,  Wall time: 47.23 s

--
Jori Mäntysalo


Re: [sage-devel] Re: Parallel computing

2015-10-04 Thread William Stein
On Sun, Oct 4, 2015 at 10:29 PM, Jori Mäntysalo  wrote:
> Just a stupid side-question:
>
> On Sun, 4 Oct 2015, Victor Shoup wrote:
>
>> Also, now that NTL is threadsafe, I'm looking at making some of the
>> low-level routines thread enhanced.
>
>
>> For up to 4 threads, I get close to linear speedup...but after that, it
>> starts to degrade: at 16 threads I only get 8x speedup.
>
>
> Isn't this what always happen with parallel computing? Computing in 1 thread
> takes for example 100 seconds. With 2 cores it takes 100/2+1=51, assuming
> that overhead for thread handling is 1 second. And at some point overhead
> will be too much, or memory IO will be bottleneck.
>
> Now let's suppose that Sage has users A and B. A wants to compute one hard
> thing - say, factor one big integer. B wants to compute many things - say,
> factor 100 medium-size integers. For B it would be best to have no threading
> at all on lower level, just very simple upper level wrapper.
>
> I have been asked to answer mostly type B questions, but sometimes also of
> type A.
>
>  * * *
>
> If I am right, there is no EASY parallel functions in Sage. Let G be a list
> of 1000 immutable graphs. How to run
>
> C = [g.chromatic_number() for g in G]
>
> in parallel? AFAIK we have no "parallel_apply()" or similar.

Type

   parallel?

in Sage for a simple but very useful parallel decorator in Sage, that
I addedabout 6 years.  The API is slightly confusing, and it would be
nice to have something better.  But it's pretty easy to use (I used it
a lot recently for some research).

It's used in various places in the Sage library, e.g., related to
elliptic curve L-functions.

William

-- 
William (http://wstein.org)

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Parallel computing

2015-10-04 Thread David Roe
On Mon, Oct 5, 2015 at 2:29 PM, Jori Mäntysalo 
wrote:

> Just a stupid side-question:
>
> On Sun, 4 Oct 2015, Victor Shoup wrote:
>
> Also, now that NTL is threadsafe, I'm looking at making some of the
>> low-level routines thread enhanced.
>>
>
> For up to 4 threads, I get close to linear speedup...but after that, it
>> starts to degrade: at 16 threads I only get 8x speedup.
>>
>
> Isn't this what always happen with parallel computing? Computing in 1
> thread takes for example 100 seconds. With 2 cores it takes 100/2+1=51,
> assuming that overhead for thread handling is 1 second. And at some point
> overhead will be too much, or memory IO will be bottleneck.
>
> Now let's suppose that Sage has users A and B. A wants to compute one hard
> thing - say, factor one big integer. B wants to compute many things - say,
> factor 100 medium-size integers. For B it would be best to have no
> threading at all on lower level, just very simple upper level wrapper.
>
> I have been asked to answer mostly type B questions, but sometimes also of
> type A.
>
>  * * *
>
> If I am right, there is no EASY parallel functions in Sage. Let G be a
> list of 1000 immutable graphs. How to run
>
> C = [g.chromatic_number() for g in G]
>
> in parallel? AFAIK we have no "parallel_apply()" or similar.
>

Check out http://doc.sagemath.org/html/en/reference/parallel/index.html
David

>
> --
> Jori Mäntysalo
>

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Please please revert the recent changes to the docbuilder!

2015-10-04 Thread Jori Mäntysalo

On Sun, 4 Oct 2015, Simon King wrote:

Since a couple of weeks, building Sage becomes really annoying. "make 
start" is fine. But as soon as I want to build the docs in two parallel 
threads, it makes my laptop unusable because of swapping.


Was this an exact description? I have noticed that building docs starts as 
usual, but older hardware got almost stuck in some later phase of 
docbuild. I guess that it is some kind of crosslink checking or 
integrating some previously made parts.


--
Jori Mäntysalo


[sage-devel] Re: Parallel computing

2015-10-04 Thread Jori Mäntysalo

Just a stupid side-question:

On Sun, 4 Oct 2015, Victor Shoup wrote:

Also, now that NTL is threadsafe, I'm looking at making some of the 
low-level routines thread enhanced.


For up to 4 threads, I get close to linear speedup...but after that, it 
starts to degrade: at 16 threads I only get 8x speedup.


Isn't this what always happen with parallel computing? Computing in 1 
thread takes for example 100 seconds. With 2 cores it takes 100/2+1=51, 
assuming that overhead for thread handling is 1 second. And at some point 
overhead will be too much, or memory IO will be bottleneck.


Now let's suppose that Sage has users A and B. A wants to compute one 
hard thing - say, factor one big integer. B wants to compute many things - 
say, factor 100 medium-size integers. For B it would be best to have no 
threading at all on lower level, just very simple upper level wrapper.


I have been asked to answer mostly type B questions, but sometimes also of 
type A.


 * * *

If I am right, there is no EASY parallel functions in Sage. Let G be a 
list of 1000 immutable graphs. How to run


C = [g.chromatic_number() for g in G]

in parallel? AFAIK we have no "parallel_apply()" or similar.

--
Jori Mäntysalo


[sage-devel] Re: FLINT/NTL benchmarks

2015-10-04 Thread Victor Shoup
Thanks for the feedback, Bill!  A bit of friendly competition is always a 
good thing :-)

I've been looking into SIMD for small prime FFT's...unfortunately, there is 
currently
no CPU out there that supports SIMD 64x64 -> high order 64 bits of product.
So, it does not look very promising.
In a couple of years, Intel will eventually release a machine with SIMD 
52x52 -> high order 52 bits of product.
That may be interesting.

Also, now that NTL is threadsafe, I'm looking at making some of the 
low-level routines thread enhanced.
I'm currently finishing up makeing NTL's multi-modular ZZ_pX arithmetic 
thread enhanced.
For up to 4 threads, I get close to linear speedup...but after that, it 
starts to degrade: at 16 threads
I only get 8x speedup.  I've also made the Brent/Kung modular composition 
thread enhanced.
This gives much better multicore performance, as the bottleneck is a 
rectangular matrix mul
which is trivial to parallelize.  I'll hopefully make a release of all this 
soonish.



On Sunday, October 4, 2015 at 8:06:26 PM UTC-4, Bill Hart wrote:
>
> This is really nice Victor. Thanks for sharing these benchmarks!
>
> There are two things we really need to do in Flint fairly soon: 1) make 
> better use of SIMD (e.g. small primes FFT is now probably competitive with 
> our Schoenhage-Strassen FFT) and 2) make use of threading.
>
> Flint is actually starting to look pretty slow on some benchmarks compared 
> to some of the new code that is being presented at conferences these days.
>
> Bill.
>
> On Monday, 5 October 2015 01:35:09 UTC+2, Victor Shoup wrote:
>>
>> I've recently done some benchmarking to compare FLINT and NTL.
>> I've tried to be as fair as possible in the comparisons.
>> If anyone is interested, you can see the results here: 
>>
>> http://shoup.net/ntl/benchmarks.pdf
>>
>> The upshot is: FLINT is faster for some things, and NTL is faster
>> for other things.
>>
>

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: FLINT/NTL benchmarks

2015-10-04 Thread Bill Hart
In particular it really looks like we should study the factorisation 
algorithms in NTL, since the performance you have there seems unlikely to 
be explained by mere arithmetic performance. We are likely missing a number 
of tricks.

Bill.

On Monday, 5 October 2015 02:06:26 UTC+2, Bill Hart wrote:
>
> This is really nice Victor. Thanks for sharing these benchmarks!
>
> There are two things we really need to do in Flint fairly soon: 1) make 
> better use of SIMD (e.g. small primes FFT is now probably competitive with 
> our Schoenhage-Strassen FFT) and 2) make use of threading.
>
> Flint is actually starting to look pretty slow on some benchmarks compared 
> to some of the new code that is being presented at conferences these days.
>
> Bill.
>
> On Monday, 5 October 2015 01:35:09 UTC+2, Victor Shoup wrote:
>>
>> I've recently done some benchmarking to compare FLINT and NTL.
>> I've tried to be as fair as possible in the comparisons.
>> If anyone is interested, you can see the results here: 
>>
>> http://shoup.net/ntl/benchmarks.pdf
>>
>> The upshot is: FLINT is faster for some things, and NTL is faster
>> for other things.
>>
>

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: FLINT/NTL benchmarks

2015-10-04 Thread Bill Hart
This is really nice Victor. Thanks for sharing these benchmarks!

There are two things we really need to do in Flint fairly soon: 1) make 
better use of SIMD (e.g. small primes FFT is now probably competitive with 
our Schoenhage-Strassen FFT) and 2) make use of threading.

Flint is actually starting to look pretty slow on some benchmarks compared 
to some of the new code that is being presented at conferences these days.

Bill.

On Monday, 5 October 2015 01:35:09 UTC+2, Victor Shoup wrote:
>
> I've recently done some benchmarking to compare FLINT and NTL.
> I've tried to be as fair as possible in the comparisons.
> If anyone is interested, you can see the results here: 
>
> http://shoup.net/ntl/benchmarks.pdf
>
> The upshot is: FLINT is faster for some things, and NTL is faster
> for other things.
>

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] FLINT/NTL benchmarks

2015-10-04 Thread Victor Shoup
I've recently done some benchmarking to compare FLINT and NTL.
I've tried to be as fair as possible in the comparisons.
If anyone is interested, you can see the results here: 

http://shoup.net/ntl/benchmarks.pdf

The upshot is: FLINT is faster for some things, and NTL is faster
for other things.

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Please please revert the recent changes to the docbuilder!

2015-10-04 Thread Simon King


Am Montag, 5. Oktober 2015 00:44:00 UTC+2 schrieb Volker Braun:
>
> See 
> https://groups.google.com/forum/#!msg/sage-release/MGkb_-y-moM/j0qABCAKBAAJ
>
> What version was OK for you?
>

Difficult to tell. I had the impression that it gradually became worse in 
the past year or so, becoming really bad since perhaps a month. But I 
didn't keep a record of my docbuild experiences. 

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Please please revert the recent changes to the docbuilder!

2015-10-04 Thread Volker Braun
See https://groups.google.com/forum/#!msg/sage-release/MGkb_-y-moM/j0qABCAKBAAJ

What version was OK for you?


On Sunday, October 4, 2015 at 11:22:06 PM UTC+2, Simon King wrote:
>
> Hi!
>
> Since a couple of weeks, building Sage becomes really annoying. "make 
> start" is fine. But as soon as I want to build the docs in two parallel 
> threads, it makes my laptop unusable because of swapping. Is there really a 
> good reason why one should now use so much more memory than in the past? Is 
> it really needed to force computers with 4GB ram to build single-threaded?
>
> Best regards,
> Simon
>

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] How to declare dependencies of new-style packages?

2015-10-04 Thread John Cremona
On 4 October 2015 at 17:00, Simon King  wrote:
> Hi!
>
> Am Sonntag, 4. Oktober 2015 22:34:38 UTC+2 schrieb Snark:
>>
>> If MEATAE isn't defined, you add a depend on $(INST)/, which does exist,
>> so
>> it's an always-satisfied dep and not an error, isn't it?
>
>
> I am confused. Do you say that FOO is defined regardless whether the
> optional package foo is installed or not? Where does it come from? Perhaps

In makefiles, as in the shell, any undefined variable evaluates to the
null string.

A more robust version (perhaps what Jeroen was alluding to as a job
for later) would be to test all such variables and file somehow if any
are null.

> from running ./configure in SAGE_ROOT, which checks the content of
> build/pkgs/?
>
> And why is there such an indirection? If the dependency is called foo,
> shouldn't it be possible to name it foo rather than FOO?
>
> And why does it need to be *manually* decorated with $(INST)/? Shouldn't it
> be enough to give a list of unmodified package names, optionally modified by
> prescribing a range of acceptable version numbers?
>
> Thus, why "$(INST)/MEATAXE $(INST)/DATABASE_GAP" rather than "meataxe
> database_gap"?

The upper case variables are set in the Makefile (build/make/Makefile)
to include the full package name including the version number.

I expect that this somehow happens during the ./configure stage (which
creates that Makefile) but I have never looked into build/make before
now!

John

>
> By the way, concerning docs: Building the docs has never been a very
> pleasant experience for me, but it became a nightmare recently. It takes
> more ages on my laptop, because of swapping. And that used not to happen in
> the not so distant past.
>
> Cheers,
> Simon
>
>
> --
> 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 http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Please please revert the recent changes to the docbuilder!

2015-10-04 Thread Simon King
Hi!

Since a couple of weeks, building Sage becomes really annoying. "make 
start" is fine. But as soon as I want to build the docs in two parallel 
threads, it makes my laptop unusable because of swapping. Is there really a 
good reason why one should now use so much more memory than in the past? Is 
it really needed to force computers with 4GB ram to build single-threaded?

Best regards,
Simon

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] How to declare dependencies of new-style packages?

2015-10-04 Thread Simon King
Hi!

Am Sonntag, 4. Oktober 2015 22:34:38 UTC+2 schrieb Snark:
>
> If MEATAE isn't defined, you add a depend on $(INST)/, which does exist, 
> so 
> it's an always-satisfied dep and not an error, isn't it? 
>

I am confused. Do you say that FOO is defined regardless whether the 
optional package foo is installed or not? Where does it come from? Perhaps 
from running ./configure in SAGE_ROOT, which checks the content of 
build/pkgs/?

And why is there such an indirection? If the dependency is called foo, 
shouldn't it be possible to name it foo rather than FOO?

And why does it need to be *manually* decorated with $(INST)/? Shouldn't it 
be enough to give a list of unmodified package names, optionally modified 
by prescribing a range of acceptable version numbers?

Thus, why "$(INST)/MEATAXE $(INST)/DATABASE_GAP" rather than "meataxe 
database_gap"?

By the way, concerning docs: Building the docs has never been a very 
pleasant experience for me, but it became a nightmare recently. It takes 
more ages on my laptop, because of swapping. And that used not to happen in 
the not so distant past.

Cheers,
Simon
 

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] How to declare dependencies of new-style packages?

2015-10-04 Thread Simon King
Hi!

Am Sonntag, 4. Oktober 2015 22:34:38 UTC+2 schrieb Snark:
>
> If MEATAE isn't defined, you add a depend on $(INST)/, which does exist, 
> so 
> it's an always-satisfied dep and not an error, isn't it? 
>

I am confused. Do you say that FOO is defined regardless whether the 
optional package foo is installed or not? Where does it come from? Perhaps 
from running ./configure in SAGE_ROOT, which checks the content of 
build/pkgs/?

And why is there such an indirection? If the dependency is called foo, 
shouldn't it be possible to name it foo rather than FOO?

And why does it need to be *manually* decorated with $(INST)/? Shouldn't it 
be enough to give a list of unmodified package names, optionally modified 
by prescribing a range of acceptable version numbers?

Thus, why "$(INST)/MEATAXE $(INST)/DATABASE_GAP" rather than "meataxe 
database_gap"?

By the way, concerning docs: Building the docs has never been a very 
pleasant experience for me, but it became a nightmare recently. It takes 
more ages on my laptop, because of swapping. And that used not to happen in 
the not so distant past.

Cheers,
Simon
 

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] How to declare dependencies of new-style packages?

2015-10-04 Thread Jeroen Demeyer

On 2015-10-04 22:31, Simon King wrote:

OK. But what should happen, if I replace it with $(INST)/$(MEATAE) ?
Shouldn't it fail with an error? Well, it didn't (which was a bug,
IMHO)
OK, I agree that this is annoying and I am aware of that. But let's live 
with it for a moment. There have been a lot of changes in the build 
system in the 6.9 release and fixing this wasn't a priority. In any 
case, let's wait until things have settled down.


Jeroen.

--
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] How to declare dependencies of new-style packages?

2015-10-04 Thread Julien Puydt
Le dimanche 04 oct. 2015 à 13:31:19 (-0700), Simon King a écrit :
> 
> OK. But what should happen, if I replace it with $(INST)/$(MEATAE) ? 
> Shouldn't it fail with an error? Well, it didn't (which was a bug, IMHO), 
> at least on a branch that was not very old. Hopefully the latest develop 
> works better.
> 

If MEATAE isn't defined, you add a depend on $(INST)/, which does exist, so
it's an always-satisfied dep and not an error, isn't it?

Snark on #sagemath

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] How to declare dependencies of new-style packages?

2015-10-04 Thread Simon King
Hi Jeroen,

Am Sonntag, 4. Oktober 2015 22:20:03 UTC+2 schrieb Jeroen Demeyer:
>
> On 2015-10-04 19:27, Simon King wrote: 
> > In the developer manual I couldn't find a syntax definition for the 
> > "dependencies" file. 
> Did you look in the *most recent* version of the developer's manual? I 
> mean not the one which is online but the one in your local develop branch. 
>

I read it online. But I am building the latest beta right now.
 

> > Suppose I want that a package depends on meataxe 
> > (which awaits review as a new optional package at #12103) and 
> > database_gap, do I need to put 
> > $(INST)/$(MEATAXE) $(INST)/$(DATABASE_GAP) 
> > or what? 
> Looks right to me. 
>

OK. But what should happen, if I replace it with $(INST)/$(MEATAE) ? 
Shouldn't it fail with an error? Well, it didn't (which was a bug, IMHO), 
at least on a branch that was not very old. Hopefully the latest develop 
works better.

By the way: Shouldn't there be a way to declare that ALL tests in a file 
are optional? I am not happy at all with the prospect of adding "optional: 
modular_resolution" after several hundreds of lines of tests.

Cheers,
Simon

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] How to declare dependencies of new-style packages?

2015-10-04 Thread Jeroen Demeyer

On 2015-10-04 19:27, Simon King wrote:

In the developer manual I couldn't find a syntax definition for the
"dependencies" file.
Did you look in the *most recent* version of the developer's manual? I 
mean not the one which is online but the one in your local develop branch.



Suppose I want that a package depends on meataxe
(which awaits review as a new optional package at #12103) and
database_gap, do I need to put
$(INST)/$(MEATAXE) $(INST)/$(DATABASE_GAP)
or what?

Looks right to me.

--
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: How to declare dependencies of new-style packages?

2015-10-04 Thread Jeroen Demeyer

On 2015-10-04 21:55, Simon King wrote:

If I misspell the name of the dependency of my package
on purpose, then the package still installs

Well, don't misspell :-)

--
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: How to declare dependencies of new-style packages?

2015-10-04 Thread Simon King
Am Sonntag, 4. Oktober 2015 21:21:58 UTC+2 schrieb Simon King:
>
>
>  I don't see the developer manual mentioning the meaning of $(INST); I can 
> only guess that it is a command that installs another package unless it is 
> installed already. But what package? Do you confirm my guess that 
> $(INST)/$(FOO) does "sage -i foo" unless foo is already installed?
>

Apparently  not. If I misspell the name of the dependency of my package on 
purpose, then the package still installs, rather then trying (and failing) 
to install the dependency.

So, really the meaning of what's written in the build/pkgs/.../dependencies 
remains totally obscure to me.

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: How to declare dependencies of new-style packages?

2015-10-04 Thread Simon King
And PS:

Will the user be asked for confirmation if the dependency's license is not 
GPL compatible (as is the case for database_gap)?

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: How to declare dependencies of new-style packages?

2015-10-04 Thread Simon King
Hi Volker,

Am Sonntag, 4. Oktober 2015 20:54:25 UTC+2 schrieb Volker Braun:
>
> Its makefile syntax since its really just a script that glues everything 
> together into one makefile. The ones after the pipe are order only 
> dependencies.
>
>
 I don't see the developer manual mentioning the meaning of $(INST); I can 
only guess that it is a command that installs another package unless it is 
installed already. But what package? Do you confirm my guess that 
$(INST)/$(FOO) does "sage -i foo" unless foo is already installed?

What is an "order only dependency"?

Cheers,
Simon

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: How to declare dependencies of new-style packages?

2015-10-04 Thread Volker Braun
Its makefile syntax since its really just a script that glues everything 
together into one makefile. The ones after the pipe are order only 
dependencies.



On Sunday, October 4, 2015 at 7:27:48 PM UTC+2, Simon King wrote:
>
> Hi!
>
> Meanwhile I try to change my group cohomology spkg into a new style 
> package. But I wonder how dependencies are checked these days.
>
> I see, for example, the file build/pkgs/cvxopt/dependencies:
> $(INST)/$(NUMPY) $(INST)/$(ATLAS) $(INST)/$(CEPHES) $(INST)/$(GSL) 
> $(INST)/$(GLPK) | $(INST)/$(MATPLOTLIB)
>
> In the developer manual I couldn't find a syntax definition for the 
> "dependencies" file. Suppose I want that a package depends on meataxe 
> (which awaits review as a new optional package at #12103) and database_gap, 
> do I need to put
> $(INST)/$(MEATAXE) $(INST)/$(DATABASE_GAP)
> or what?
>
> Best regards,
> Simon
>

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] How to declare dependencies of new-style packages?

2015-10-04 Thread Simon King
Hi!

Meanwhile I try to change my group cohomology spkg into a new style 
package. But I wonder how dependencies are checked these days.

I see, for example, the file build/pkgs/cvxopt/dependencies:
$(INST)/$(NUMPY) $(INST)/$(ATLAS) $(INST)/$(CEPHES) $(INST)/$(GSL) 
$(INST)/$(GLPK) | $(INST)/$(MATPLOTLIB)

In the developer manual I couldn't find a syntax definition for the 
"dependencies" file. Suppose I want that a package depends on meataxe 
(which awaits review as a new optional package at #12103) and database_gap, 
do I need to put
$(INST)/$(MEATAXE) $(INST)/$(DATABASE_GAP)
or what?

Best regards,
Simon

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] threejs

2015-10-04 Thread Thierry Dumont


What about the optional package threejs ?

As far as I remember, the idea was to replace jmol with it.
(But may be I am wrong).

Is this always an active project? Is it an orphan project ? Are there 
difficult problems to solve ?


t.d.

--
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.
<>

Re: [sage-devel] History of notebooks.

2015-10-04 Thread Thierry Dumont

William,

Thank you for this detailed answer!

For my talk to the group of engineers I mentioned, it is more than perfect.
But I am also involved a bit in the history of computing: I think we 
must keep track of the different developments and writing history 
without such documents is very difficult.

Thank you again.

t.

Le 03/10/2015 19:52, William Stein a écrit :

On Sat, Oct 3, 2015 at 8:35 AM, Thierry Dumont
 wrote:

Hello,

I am preparing a talk I will give to a group of engineers, about
"Notebooks". I mean web technology based notebooks (not java, qt or
something else, but notebooks which use your web browser); so I will speak
about Sage Notebook, Ipython and Jupyter notebooks.

My question is:

-> Was Sage notebook at the origin of all ?


As you define it above, yes, I think it was the origin of all... but
it was also *very* heavily influenced by many other things.   I wrote
the first version with help from Tom Boothby and Alex Clemesha in
2006.Our motivation was

   (1) A failed summer attempt by two students in San Diego to provide
a GUI for iPython, which was not web based, but was demoed in a talk
at Sage Days 1.  I instantly started prototypingvery crappy approachs
to the same problem, maybe minutes after that talk.

   (2) Mathematica, obviously.  Alex Clemesha was a UCSD physics
undergrad who like/used Mathematics notebooks.   Of course, I had used
Maple/Mathematica notebooks myself too back in 1993 as an undergrad.

   (3) Gmail and Google maps, which pioneered use of "AJAX" = web
applications that don't have to refresh the whole page every time you
do anything.

I clearly remember standing in my office in 2006 and trying to figure
out solutions to problems like "make the output appear as it is
produced when you run this code:
for i in range(10):
  sleep(1)
  print i"

I demoed the first public web-based sage notebook at a talk I gave at
digipen (a video-game programming college near Microsoft).   If I
remember correctly, there were no accounts -- all users shared
everything.  There were named worksheets, but I think you could only
add new cells (not delete existing stuff).   It was all persistent
though.

I used to teach every summer in this program (SIMUW):

http://www.math.washington.edu/~simuw/thisyear/index.html

A year after the first sage notebook stuff, mentioned above, mostly me
and Bobby Moretti spend a huge amount of time during about *2 weeks*
right before 2007 SIMUW writing a new version of the Sage notebook
that was much more powerful, in that it had user accounts, making
documents public, etc.We had to finish the entire thing in about 2
weeks, since I wanted to use it for SIMUW, and those dates were fixed.
Instead of worrying about UI design, we mostly just copied Google
docs, so in 2007 Sagenb looked almost exactly the same as Google docs.
(I don't think Google docs had synchronized editing back then -- only
one at a time, just like sagenb even today.)  Actually, sagenb *today*
in 2015 looks much the same as Google docs looked in 2007, but nothing
like Google docs today, since just as we were releasing sagenb, Google
docs's UI got completely redone.

Google also had something called "Google notebook" for a little while
-- they release it after sage notebook, but it coincidentally looked
very similar.  It didn't compute anything -- it was like Sage notebook
without any computational ability.  Of course Google killed it.
There was also Google wave, which was again similar, and again got
killed.

I think in 2008, Alex Clemesha wrote something called Knoboo, which is
here: https://github.com/knoboo/knoboo   It hasn't been touched in 6
years.  He would have continued working on massively improving the
sage notebook, but I couldn't afford to pay him.  [Repeatedly
realizing and actually acknowledging the number of massive lost
opportunities for lack of money during the last 10 years really
hurts.] So he tried some new experimental open source stuff on his
own, but then stopped as he had a fulltime job.

Mike Hansen, Robert Bradshaw, Jason Grout and I at some point rewrote
some of the notebook backend in FLASK/Twisted so that it would scale
up a little more since a lot of people wanted to use it.  The site
sagenb.org got a lot of traffic, but would routinely die due to
overuse, and was massively limited by lack of scalability (not lack of
demand).   It also regularly got abused in every imaginable way by
assholes, causing no end of grief (and having all of the sage.math
resources banned from the internet multiple times at UW).

For a while Tim Dummol -- a 16 year old high school student in the
Philippines (!) -- became the main developer on the sage notebook,
polishing many little things, fixing every bug he could find, etc.,
etc.Then he graduated high school, went to college somewhere, and
we never heard from him again.

In 2012  maybe (?) some student from I think Brown University started
using sagenb, but described the UI as "making him want to goug