my $resource_class = shift;
my $display_name = $resource_class->display_name;
my $memory_req = $display_name;
# Convert special names to the standard nomenclature
$memory_req = '250Mb_job' if $display_name eq 'default';
$memory_req = '250Mb_job' if $display_name eq 'urgent';
$memory_req = '2Gb_job' if $display_name eq 'msa';
$memory_req = '8Gb_job' if $display_name eq 'msa_himem';
# Remove stuff we don't need
$memory_req =~ s/_(job|mpi|big_tmp)
$memory_req =~ s/_\d+(_hour|min|c$)
# Convert to GBs
$memory_req =~ s/Gb$
if ($memory_req =~ /^(\d+)Mb$/) {
$memory_req = $1/1000;
} elsif ($memory_req =~ /^mem(\d+)$/) {
$memory_req = $1/1000;
}
if ($memory_req < 1) {
return '<1';
} elsif ($memory_req <= 4) {
return '1-4';
} elsif ($memory_req <= 8) {
return '5-8';
} elsif ($memory_req <= 16) {
return '9-16';
} elsif ($memory_req <= 32) {
return '17-32';
} elsif ($memory_req <= 128) {
return '33-128';
} else {
return 'bigmem';
}
}