Module: HPC

Defined in:
lib/rbbt/hpc/lsf.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, SLURM, TemplateGeneration Classes: SBATCH

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
# 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 'auto'
    case $previous_commands.last
    when 'slurm'
      HPC::SLURM
    when 'lsf'
      HPC::LSF
    else
      case Rbbt::Config.get(:batch_system, :batch, :batch_system, :hpc, :HPC, :BATCH).to_s.downcase
      when 'slurm'
        HPC::SLURM
      when 'lsf'
        HPC::LSF
      else
        case ENV["BATCH_SYSTEM"].to_s.downcase
        when 'slurm'
          HPC::SLURM
        when 'lsf'
          HPC::LSF
        end
      end
    end
  end
end