Changes between Version 45 and Version 46 of AppPlanSpec


Ignore:
Timestamp:
Jul 26, 2018, 11:43:08 AM (6 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AppPlanSpec

    v45 v46  
    6767=== Fields for multicore apps ===
    6868
    69  <min_ncpus>N</min_ncpus> :: run only on hosts with at least N usable CPUs.
    70  <min_ncpus_phys>N</min_ncpus_phys> :: run only on with at least N usable physical CPUs
    71    (older clients don't report physical CPUs, in which case we assume physical = logical/2).
    72  <max_threads>N</max_threads>:: If N > 1, this is a multicore app.  Use as many CPUs as are available, but no more than N.
    73  <nthreads>NCPUS_PHYS-1</nthreads> :: proposed syntax
    74  <max_threads_phys>N</max_threads_phys>:: use as many threads as there are physical CPUs, but no more than N.
     69The following distinguishes between "logical" and "physical" CPUs.
     70Processors with hyperthreading have two logical CPUs per physical CPUs.
     71Pre-7.14 versions of the BOINC client measure and report only the number N of logical CPUs.
     72For these clients, we conservatively assume that the number of physical CPUs is max(1, N/2).
     73
     74"Usable" refers to computing preferences,
     75which allow volunteers to limit the % of CPUs (logical and physical) that can be used.
     76NUL and NUP denote the number of usable logical and physical CPUs on the host.
     77
     78Floating-point intensive apps should express their parallelism in terms of physical CPUs,
     79since pairs of logical CPUs generally share an FPU.
     80VM-based apps should do so as well, since VMWare may refuse to create a VM with more than NUP threads.
     81
     82 <min_ncpus>N</min_ncpus> :: run only on hosts with NUL >= N.
     83 <min_ncpus_phys>N</min_ncpus_phys> :: run only on hosts with NUP >= N.
     84 <max_threads>N [M]</max_threads>:: Use min(N, NUL-M) logical CPUs (if not specified, M is zero).
     85 <max_threads_phys>N [M]</max_threads_phys>:: Use min(N, NUP-M) physical CPUs (if not specified, M is zero).
    7586 <nthreads_cmdline>0|1</nthreads_cmdline>:: if set, pass command-line args '''--nthreads N'''
    76   to the app, where N is the number of CPUs to use
    77   (the lesser of max_threads and the number of CPUs on the host).
     87  to the app, where N is the number of logical CPUs to use.
    7888 <mem_usage_base_mb>X</mem_usage_base_mb>::
    79  <mem_usage_per_cpu_mb>Y</mem_usage_per_cpu_mb>:: if specified, estimated memory usage (in Megabytes) is X + NY, where N is the number of CPUs used.  Pass this to the app with a '''--memory_size_mb X''' command-line arg.
     89 <mem_usage_per_cpu_mb>Y</mem_usage_per_cpu_mb>:: if specified, estimated memory usage (in Megabytes) is X + NY,
     90   where N is the number of CPUs used.
     91   Pass this to the app with a '''--memory_size_mb X''' command-line arg.
    8092   
    81 
    8293=== Fields for GPU apps ===
    8394