Changes between Version 6 and Version 11 of Ticket #12016

11/16/11 04:23:32 (11 years ago)

Here are new patches. These use SAGE_NUM_THREADS if it is set, and otherwise try to extract a number from MAKE. (My method for doing this is probably not ideal, but the options This is done in sage-env. Running sage -b should use this setting now, also.

I don't know how to get the number of threads from

make -j16 ptestlong

so I removed that from the "to do" list in the ticket description.

In the file sage-ptest, I removed the "FIXME" comment in

        # FIXME: Nice, but <NUMTHREADS> should immediately follow '-tp' etc.,
        #        i.e., be the next argument. We might have file or directory
        #        names that properly convert to an int...
        numthreads = int(argv[1])
        infiles = argv[2:]
    except ValueError: # can't convert first arg to an integer: arg was probably omitted
        numthreads = 1

The script sage-ptest doesn't get a "tp" argument; it is instead called by sage-sage, and the way it is called, the first argument to sage-ptest is precisely what ever came after "-tp". So I don't think anything needs fixing. If we ever rewrite sage-sage (#21) to properly parse arguments, we can make sure that "-tp" has a default numerical argument of zero.


  • Ticket #12016

    • Property Status changed from new to needs_review
  • Ticket #12016 – Description

    v6 v11  
    55 - running `make ptestlong` or `sage -tp 0 <files>` will doctest in parallel using 16 threads.  If the `-j` flag in `MAKE` is not set, then determine the number of threads as before: `min(8, cpu_count())`.
    7  - '''TODO''': running `./sage -b` will build the Sage library using 16 threads. If the `-j` flag in `MAKE` is not set, then use only 1 thread.
     7 - running `./sage -b` will build the Sage library using 16 threads. If the `-j` flag in `MAKE` is not set, then use only 1 thread.
    99In #6495, we should implement the same behavior for doc building.
    11 '''TODO:''' We should also support:
    12  - `make -j16 ptestlong` (as opposed to `MAKE="make -j16" make ptestlong`).  Use `MAKEFLAGS`.
    13  - `make -j` (unlimited number of jobs, say set to 9999 if we really need a number).
    14  - `make -j37 -j1` (last option takes precedence).
    17  1. [attachment:12016-root.v2.patch] to the `SAGE_ROOT` repository.
    18  1. [attachment:12016-scripts.v2.patch] to the `SCRIPTS` repository.
    19  1. [attachment:12016-sage.v2.patch] to the Sage library.
     12 1. [attachment:trac_12016-root.v2.patch] to the `SAGE_ROOT` repository.
     13 1. [attachment:trac_12016-scripts.v2.patch] to the `SCRIPTS` repository.
     14 1. [attachment:trac_12016-sage.v2.patch] to the Sage library.