Module: HPC

Defined in:
lib/rbbt/hpc/lsf.rb,
lib/rbbt/hpc/pbs.rb,
lib/rbbt/hpc/batch.rb,
lib/rbbt/hpc/slurm.rb,
lib/rbbt/hpc/orchestrate.rb,
lib/rbbt/hpc/orchestrate.old.rb,
lib/rbbt/hpc/orchestrate/rules.rb,
lib/rbbt/hpc/orchestrate/chains.rb,
lib/rbbt/hpc/orchestrate/batches.rb

Defined Under Namespace

Modules: BATCH, LSF, Orchestration, PBS, SLURM, TemplateGeneration Classes: BATCH_DRY_RUN

Class Method Summary collapse

Class Method Details

.batch_system(batch_system = 'auto') ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/rbbt/hpc/batch.rb', line 9

def self.batch_system(batch_system = 'auto')
  case batch_system.to_s.downcase
  when 'slurm'
    HPC::SLURM
  when 'lsf'
    HPC::LSF
  when 'pbs'
    HPC::PBS
  when 'auto'
    $previous_commands = [] if $previous_commands.nil?
    case $previous_commands.last
    when 'slurm'
      HPC::SLURM
    when 'lsf'
      HPC::LSF
    when 'pbs'
      HPC::PBS
    else
      case Rbbt::Config.get(:batch_system, :batch, :batch_system, :hpc, :HPC, :BATCH).to_s.downcase
      when 'slurm'
        HPC::SLURM
      when 'lsf'
        HPC::LSF
      when 'pbd'
        HPC::PBS
      else
        case ENV["BATCH_SYSTEM"].to_s.downcase
        when 'slurm'
          HPC::SLURM
        when 'lsf'
          HPC::LSF
        when 'pbs'
          HPC::PBS
        end
      end
    end
  end
end