Skip to content
Snippets Groups Projects
Unverified Commit f264a696 authored by Ravi Tripathi's avatar Ravi Tripathi Committed by GitHub
Browse files

Merge pull request #1 from krishmoodbidri/v1

feat add version v1 for cod cluster
parents d71d2041 a5112fb8
No related branches found
Tags v1.0
No related merge requests found
form.yml 0 → 100644
---
cluster: "SLURM_CLUSTER"
attributes:
bc_num_hours:
value: 1
bc_num_slots:
label: Number of CPU
value: 1
min: 1
max: 24
step: 1
bc_num_mems:
widget: "number_field"
label: Memory per CPU (GB)
value: 4
min: 1
max: 128
step: 1
bc_partition:
widget: select
label: Partition
options:
- [ "express", "express" ]
- [ "short", "short" ]
- [ "medium", "medium" ]
- [ "long", "long" ]
- [ "interactive", "interactive" ]
- [ "pascalnodes", "pascalnodes" ]
- [ "pascalnodes-medium", "pascalnodes-medium" ]
- [ "largemem", "largemem" ]
- [ "largemem-long", "largemem-long" ]
- [ "amd-hdr100", "amd-hdr100" ]
version:
widget: select
label: "MATLAB version"
help: "This defines the version of MATLAB you want to load."
options:
{% for ver in matlab_vers %}
- [ "{{ ver }}", "{{ matlab_module_name }}/{{ ver }}"]
{% endfor %}
cuda_toolkit: "{{ cuda_toolkit_module }}"
form:
- version
- bc_num_hours
- bc_partition
- bc_num_slots
- bc_num_mems
- bc_email_on_started
- cuda_toolkit
<%-
groups = OodSupport::User.new.groups.sort_by(&:id).tap { |groups|
groups.unshift(groups.delete(OodSupport::Process.group))
}.map(&:name).grep(/^P./)
-%>
---
cluster:
- "owens"
- "pitzer"
form:
- version
- account
- bc_num_hours
- bc_num_slots
- num_cores
- node_type
- bc_vnc_resolution
- bc_email_on_started
attributes:
num_cores:
widget: "number_field"
label: "Number of cores"
value: 1
help: |
Number of cores on node type (4 GB per core unless requesting whole
node). Leave blank if requesting full node.
min: 0
max: 28
step: 1
bc_num_slots: "1"
bc_vnc_resolution:
required: true
account:
label: "Project"
widget: select
options:
<%- groups.each do |group| %>
- "<%= group %>"
<%- end %>
node_type:
widget: select
label: "Node type"
help: |
- **Standard Compute** <br>
These are standard HPC machines. Owens has 648 of these nodes with 40
cores and 128 GB of memory. Pitzer has 224 of these nodes with 40 cores and
340 of these nodes with 48 cores. All pitzer nodes have 192 GB of RAM. Chosing "any" as the node type will decrease
your wait time.
- **GPU Enabled** <br>
These are HPC machines with GPUs. Owens has 160 nodes with 1 [NVIDIA Tesla P100 GPU]
and Pitzer has 74 nodes with 2 [NVIDIA Tesla V100 GPUs]. They have the same
CPU and memory characteristics of standard compute. However, Pitzer's 40 core machines
have 2 GPUs with 16 GB of RAM; and Pitzer's 48 core machines have 2 GPUs with 32 GB of RAM.
Dense GPU types have 4 GPUs with 16 GB of RAM.
- **Large Memory** <br>
These are HPC machines with very large amounts of memory. Owens has 16 hugemem nodes
with 48 cores and 1.5 TB of RAM. Pitzer has 4 hugemem nodes with 3 TB of RAM and 80 cores.
Pitzer also has 12 Largmem nodes which have 48 cores with 768 GB of RAM.
[NVIDIA Tesla P100 GPU]: http://www.nvidia.com/object/tesla-p100.html
[NVIDIA Tesla V100 GPUs]: https://www.nvidia.com/en-us/data-center/v100/
options:
- [
"any", "any",
data-max-num-cores-for-cluster-owens: 28,
data-max-num-cores-for-cluster-pitzer: 48,
]
- [
"40 core", "any-40core",
data-max-num-cores-for-cluster-pitzer: 40,
data-option-for-cluster-owens: false,
]
- [
"48 core", "any-48core",
data-max-num-cores-for-cluster-pitzer: 48,
data-option-for-cluster-owens: false,
]
- [
"any gpu", "gpu",
data-max-num-cores-for-cluster-owens: 28,
data-max-num-cores-for-cluster-pitzer: 48,
]
- [
"40 core gpu", "gpu-40core",
data-max-num-cores-for-cluster-pitzer: 40,
data-option-for-cluster-owens: false,
]
- [
"48 core gpu", "gpu-48core",
data-max-num-cores-for-cluster-pitzer: 48,
data-option-for-cluster-owens: false,
]
- [
"largemem", "largemem",
data-min-num-cores-for-cluster-pitzer: 48,
data-max-num-cores-for-cluster-pitzer: 48,
data-option-for-cluster-owens: false,
]
- [
"hugemem", "hugemem",
data-min-num-cores-for-cluster-owens: 48,
data-max-num-cores-for-cluster-owens: 48,
data-min-num-cores-for-cluster-pitzer: 80,
data-max-num-cores-for-cluster-pitzer: 80,
]
- [
"debug", "debug",
data-max-num-cores-for-cluster-owens: 28,
data-max-num-cores-for-cluster-pitzer: 48,
data-option-for-cluster-owens: false,
data-option-for-cluster-pitzer: false,
]
version:
widget: select
label: "MATLAB version"
help: "This defines the version of MATLAB you want to load."
options:
- [
"R2022a", "matlab/r2022a",
]
- [
"R2020a", "matlab/r2020a",
]
- [
"R2019b", "matlab/r2019b",
]
- [
"R2019a", "matlab/r2019a",
data-option-for-cluster-owens: false,
]
- [
"R2018b", "matlab/r2018b"
]
- [
"R2018a", "matlab/r2018a"
]
- [
"R2017a", "matlab/r2017a",
data-option-for-cluster-pitzer: false,
]
- [
"R2016b", "matlab/r2016b",
data-option-for-cluster-pitzer: false,
]
- [
"R2015b", "matlab/r2015b" ,
data-option-for-cluster-pitzer: false,
]
......@@ -4,8 +4,8 @@ category: Interactive Apps
subcategory: GUIs
role: batch_connect
description: |
This app will launch a [MATLAB] GUI on the [Owens cluster]. You will be able
This app will launch a [MATLAB] GUI on the [Cheaha cluster]. You will be able
to interact with the MATLAB GUI through a VNC session.
[MATLAB]: https://www.mathworks.com/products/matlab.html
[Owens cluster]: https://www.osc.edu/resources/technical_support/supercomputers/owens
[Cheaha cluster]: https://uabrc.github.io
#!/usr/bin/env bash
# Set working directory to home directory
cd "${HOME}"
#
# Launch Xfce Window Manager and Panel
#
(
export SEND_256_COLORS_TO_REMOTE=1
export XDG_CONFIG_HOME="<%= session.staged_root.join("config") %>"
export XDG_DATA_HOME="<%= session.staged_root.join("share") %>"
export XDG_CACHE_HOME="$(mktemp -d)"
module reset
set -x
xfwm4 --compositor=off --daemon --sm-client-disable
xsetroot -solid "#D3D3D3"
xfsettingsd --sm-client-disable
xfce4-panel --sm-client-disable
) &
#
# Start MATLAB
#
<%- if context.bc_partition == "pascalnodes" -%>
# Load CUDA toolkit
module load <%= context.cuda_toolkit %>
<%- end -%>
# Load the required environment
module load <%= context.version %>
# Launch MATLAB
module list
set -x
matlab -desktop
<%-
ppn = num_cores.blank? ? 28 : num_cores.to_i
nodes = bc_num_slots.blank? ? 1 : bc_num_slots.to_i
case node_type
when "hugemem"
ppn = 48
partition = bc_num_slots.to_i > 1 ? "hugemem-parallel" : "hugemem"
slurm_args = [ "--nodes", "#{nodes}", "--ntasks-per-node", "#{ppn}", "--partition", partition ]
when "vis"
slurm_args = ["--nodes", "#{nodes}", "--ntasks-per-node", "#{ppn}", "--gpus-per-node", "1", "--gres", "vis" ]
else
slurm_args = ["--nodes", "#{nodes}", "--ntasks-per-node", "#{ppn}" ]
end
%>
---
batch_connect:
template: vnc
template: "vnc"
script:
accounting_id: "<%= account %>"
native:
<%- slurm_args.each do |arg| %>
- "<%= arg %>"
<%- end %>
- "-N 1"
- "-n <%= bc_num_slots.blank? ? 1 : bc_num_slots.to_i %>"
- "--mem-per-cpu=<%= bc_num_mems.blank? ? 4 : bc_num_mems.to_i %>G"
- "--partition=<%= bc_partition %>"
- "--time=<%= bc_num_hours.blank? ? 1 : bc_num_hours.to_i %>:00:00"
- "--job-name=ood-matlab-<%= version.split("/")[-1] %>"
<%- if bc_partition.include? "pascalnodes" -%>
- "--gres=gpu:1"
<%- end -%>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment