Class: Origen::Application::LSF::Configuration
- Defined in:
- lib/origen/application/lsf.rb
Overview
The LSF command configuration that will be used for all submissions to the LSF. An instance of this class is returned via the configuration method and which can be used to modify the LSF behavior on a per-setup basis.
Instance Attribute Summary collapse
-
#cores ⇒ Object
Specify the number of cores to use while submitting the job to LSF There is a restriction on the number of cores available per queue name Below is a table: Queue name equivalent Purpose interq gui Interactive jobs, like Virtuoso.
-
#debug ⇒ Object
When set to true no submissions will be made to LSF and instead the command that would have been submitted is printed to the terminal instead.
-
#group ⇒ Object
The group parameter, default: nil.
-
#max_jobs ⇒ Object
default 400.
-
#project ⇒ Object
The project parameter, default: 'msg.te'.
-
#queue ⇒ Object
The queue parameter, default: 'short'.
-
#queue_count_only ⇒ Object
default false.
-
#resource ⇒ Object
The resource parameter, default: 'linux'.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/origen/application/lsf.rb', line 46 def initialize @group = Origen.site_config.lsf_group @project = Origen.site_config.lsf_project @resource = Origen.site_config.lsf_resource @queue = Origen.site_config.lsf_queue @debug = Origen.site_config.lsf_debug @cores = Origen.site_config.lsf_cores @max_jobs = Origen.site_config.lsf_max_jobs || 400 @queue_count_only = Origen.site_config.lsf_queue_count_only || false end |
Instance Attribute Details
#cores ⇒ Object
Specify the number of cores to use while submitting the job to LSF There is a restriction on the number of cores available per queue name Below is a table:
Queue name equivalent Purpose
interq gui Interactive jobs, like Virtuoso. Max 15 jobs/user
batchq normal CPU intensive batch jobs, 1 .. 3 threads. Specify # of threads with bsub -n option. Slots/user: ~10% of total batch capacity.
batchq_mt normal CPU intensive batch jobs, >= 4 threads. Specify # of threads with bsub -n option. Slots: shared with batchq.
shortq short CPU intensive batch jobs, 1 thread (= 1 core), guaranteed run time 15 minutes. Slots/user: approximately 3x limit in batchq.
offloadq - Used for offloading cpu intensive batch jobs to cloud, see CloudPortal.
Do not submit directly into this queue. No real slot limit. Focused on CPU intensive jobs, not using much memory/data.
distributed normal Run jobs than span multiple hosts.
- prio High prio queue with low slot count, useful if you don't have slots available in normal queue. See PrioritizingMyJobs.
- ondemand On-Demand Servers to satisfy urgent and short-term (2 weeks or less) customer compute requirements.
- wam WAM cron processing
- grid Low-priority batch jobs (random sim, regressions, etc). Access to all spare CPU cycles.
36 37 38 |
# File 'lib/origen/application/lsf.rb', line 36 def cores @cores end |
#debug ⇒ Object
When set to true no submissions will be made to LSF and instead the command that would have been submitted is printed to the terminal instead
20 21 22 |
# File 'lib/origen/application/lsf.rb', line 20 def debug @debug end |
#group ⇒ Object
The group parameter, default: nil
11 12 13 |
# File 'lib/origen/application/lsf.rb', line 11 def group @group end |
#max_jobs ⇒ Object
default 400. Set number of max jobs (- 100) to be able to run by this user before lsf submission pauses. eg if max jobs you want ran is 500, set to 400, which will block until local submissions is less than 400 at which point it can batch submit up to 100 more jobs
40 41 42 |
# File 'lib/origen/application/lsf.rb', line 40 def max_jobs @max_jobs end |
#project ⇒ Object
The project parameter, default: 'msg.te'
13 14 15 |
# File 'lib/origen/application/lsf.rb', line 13 def project @project end |
#queue ⇒ Object
The queue parameter, default: 'short'
17 18 19 |
# File 'lib/origen/application/lsf.rb', line 17 def queue @queue end |
#queue_count_only ⇒ Object
default false. used when calculating remote job count for comparison with the max jobs parameter If set to true, then only jobs of the specified queue will be counted, effectively making the max_jobs value a max_jobs per queue
44 45 46 |
# File 'lib/origen/application/lsf.rb', line 44 def queue_count_only @queue_count_only end |
#resource ⇒ Object
The resource parameter, default: 'linux'
15 16 17 |
# File 'lib/origen/application/lsf.rb', line 15 def resource @resource end |