diff --git a/templates/workspace_services/README.md b/templates/workspace_services/README.md index d6b8030..fe6a5b4 100644 --- a/templates/workspace_services/README.md +++ b/templates/workspace_services/README.md @@ -9,26 +9,43 @@ Workspace Service Templates are located in this folder. We make use of our own c ## Available VM sizes -| VM Size | vCPU | RAM (GB) | GPU | GPU Memory (GB) | Price/Hour | Azure SKU | -| ---------------------------------- | ---- | -------- | ---------- | --------------- | ---------- | ------------------------- | -| **CPU-Only VMs** | | | | | | | -| B-Series | 2 | 4 | None | - | £0.05 | Standard_B2s | -| Dsv5 Series | 2 | 8 | None | - | £0.15 | Standard_D2s_v5 | -| D4as_v5 Series | 4 | 16 | None | - | £0.30 | Standard_D4as_v5 | -| Dsv5 Series | 4 | 16 | None | - | £0.30 | Standard_D4s_v5 | -| F4s_v2 Series | 4 | 16 | None | - | £0.30 | Standard_F4s_v2 | -| Dsv5 Series | 8 | 32 | None | - | £0.65 | Standard_D8s_v5 | -| Easv4 Series | 8 | 64 | None | - | £0.75 | Standard_E8as_v4 | -| Dsv5 Series | 16 | 64 | None | - | £1.25 | Standard_D16s_v5 | -| **GPU VMs - A10 Series** | | | | | | | -| NV6ads_A10_v5 Series | 6 | 55 | 1/6 A10 | 4 | £0.61 | Standard_NV6ads_A10_v5 | -| NV12ads_A10_v5 Series | 12 | 110 | 1/3 A10 | 8 | £1.22 | Standard_NV12ads_A10_v5 | -| NV18ads_A10_v5 Series | 18 | 220 | 1/2 A10 | 12 | £2.05 | Standard_NV18ads_A10_v5 | -| NV36ads_A10_v5 Series | 36 | 440 | 1 A10 | 24 | £4.11 | Standard_NV36ads_A10_v5 | -| NV72ads_A10_v5 Series | 72 | 880 | 2 A10 | 48 | £8.60 | Standard_NV72ads_A10_v5 | -| **GPU VMs - H100 Series** | | | | | | | -| NC40ads_H100_v5 Series | 40 | 320 | 1 H100 NVL | 94 | £7.70 | Standard_NC40ads_H100_v5 | -| NC80adis_H100_v5 Series | 80 | 640 | 2 H100 NVL | 188 | £15.90 | Standard_NC80adis_H100_v5 | +That works fine then — researcher airlocks in the drivers they need for their specific GPU. No image changes required, and it's consistent with how you already handle CUDA wheels for A10. + +That removes the main blocker. You should be good to add the T4 sizes to the bundle. Here's the updated readme table: + +| VM Size | vCPU | RAM (GB) | GPU | GPU Memory (GB) | Windows Price/hr | Linux Price/hr | Azure SKU | +| --- | --- | --- | --- | --- | --- | --- | --- | +| **CPU-Only — B-Series** | | | | | | | | +| B-Series | 2 | 4 | None | - | £0.05 | £0.05 | Standard_B2s | +| **CPU-Only — Dsv5 Series (Intel)** | | | | | | | | +| Dsv5 Series | 2 | 8 | None | - | £0.15 | £0.10 | Standard_D2s_v5 | +| Dsv5 Series | 4 | 16 | None | - | £0.30 | £0.20 | Standard_D4s_v5 | +| Dsv5 Series | 8 | 32 | None | - | £0.65 | £0.35 | Standard_D8s_v5 | +| Dsv5 Series | 16 | 64 | None | - | £1.25 | £0.65 | Standard_D16s_v5 | +| **CPU-Only — Das_v5 Series (AMD)** | | | | | | | | +| Das_v5 Series | 4 | 16 | None | - | £0.30 | £0.15 | Standard_D4as_v5 | +| Das_v5 Series | 8 | 32 | None | - | £0.60 | £0.30 | Standard_D8as_v5 | +| Das_v5 Series | 16 | 64 | None | - | £1.20 | £0.60 | Standard_D16as_v5 | +| Das_v5 Series | 32 | 128 | None | - | £2.40 | £1.20 | Standard_D32as_v5 | +| **CPU-Only — Fs_v2 Series (compute-optimised)** | | | | | | | | +| Fs_v2 Series | 4 | 8 | None | - | £0.30 | £0.15 | Standard_F4s_v2 | +| Fs_v2 Series | 8 | 16 | None | - | £0.60 | £0.30 | Standard_F8s_v2 | +| Fs_v2 Series | 16 | 32 | None | - | £1.15 | £0.60 | Standard_F16s_v2 | +| **CPU-Only — Easv4 Series (memory-optimised)** | | | | | | | | +| Easv4 Series | 8 | 64 | None | - | £0.75 | £0.45 | Standard_E8as_v4 | +| Easv4 Series | 16 | 128 | None | - | £1.50 | £0.90 | Standard_E16as_v4 | +| **GPU — T4 Series** | | | | | | | | +| NCas_T4_v3 Series | 4 | 28 | 1× T4 | 16 | £0.60 | £0.50 | Standard_NC4as_T4_v3 | +| NCas_T4_v3 Series | 8 | 56 | 1× T4 | 16 | £1.00 | £0.70 | Standard_NC8as_T4_v3 | +| **GPU — A10 Series** | | | | | | | | +| NV6ads_A10_v5 Series | 6 | 55 | 1/6 A10 | 4 | £0.61 | £0.45 | Standard_NV6ads_A10_v5 | +| NV12ads_A10_v5 Series | 12 | 110 | 1/3 A10 | 8 | £1.22 | £0.85 | Standard_NV12ads_A10_v5 | +| NV18ads_A10_v5 Series | 18 | 220 | 1/2 A10 | 12 | £2.05 | £1.50 | Standard_NV18ads_A10_v5 | +| NV36ads_A10_v5 Series | 36 | 440 | 1× A10 | 24 | £4.11 | £3.00 | Standard_NV36ads_A10_v5 | +| NV72ads_A10_v5 Series | 72 | 880 | 2× A10 | 48 | £8.60 | £6.15 | Standard_NV72ads_A10_v5 | +| **GPU — H100 Series** | | | | | | | | +| NC40ads_H100_v5 Series | 40 | 320 | 1× H100 NVL | 94 | £7.70 | £6.55 | Standard_NC40ads_H100_v5 | +| NC80adis_H100_v5 Series | 80 | 640 | 2× H100 NVL | 188 | £15.90 | £13.15 | Standard_NC80adis_H100_v5 | ## Current VM Image options diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm-ouh2/porter.yaml b/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm-ouh2/porter.yaml index c70ddea..a2cf93f 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm-ouh2/porter.yaml +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm-ouh2/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-guacamole-linuxvm-ouh2 -version: 1.2.0 +version: 1.2.3 description: "An Azure TRE User Resource Template for Guacamole (Linux)" dockerfile: Dockerfile.tmpl registry: azuretre @@ -9,24 +9,34 @@ registry: azuretre custom: # For information on vm_sizes and image_options, see README.me in the guacamole/user-resources folder vm_sizes: - # CPU-only VMs (ordered by price) "B-Series | 2 CPU | 4GB RAM | Text editing | £0.05/ hour": Standard_B2s + # CPU-only VMs - Dsv5 Series (Intel, ordered by size) "Dsv5 Series | 2 CPU | 8GB RAM | £0.10/ hour": Standard_D2s_v5 - "D4as_v5 Series | 4 CPU | 16GB RAM | £0.15/ hour": Standard_D4as_v5 - "F4s_v2 Series | 4 CPU | 8GB RAM | £0.15/ hour": Standard_F4s_v2 "Dsv5 Series | 4 CPU | 16GB RAM | £0.20/ hour": Standard_D4s_v5 - "F8s_v2 Series | 8 CPU | 16GB RAM | £0.30/ hour": Standard_F8s_v2 "Dsv5 Series | 8 CPU | 32GB RAM | £0.35/ hour": Standard_D8s_v5 - "Easv4 Series | 8 CPU | 64GB RAM | £0.45/ hour": Standard_E8as_v4 - "F16s_v2 Series | 16 CPU | 32GB RAM | £0.60/ hour": Standard_F16s_v2 "Dsv5 Series | 16 CPU | 64GB RAM | £0.65/ hour": Standard_D16s_v5 - # GPU VMs - A10 Series (ordered by price) + # CPU-only VMs - Das_v5 Series (AMD, ordered by size) + "Das_v5 Series | 4 CPU | 16GB RAM | £0.15/ hour": Standard_D4as_v5 + "Das_v5 Series | 8 CPU | 32GB RAM | £0.30/ hour": Standard_D8as_v5 + "Das_v5 Series | 16 CPU | 64GB RAM | £0.60/ hour": Standard_D16as_v5 + "Das_v5 Series | 32 CPU | 128GB RAM | £1.20/ hour": Standard_D32as_v5 + # CPU-only VMs - Fs_v2 Series (compute-optimised, ordered by size) + "Fs_v2 Series | 4 CPU | 8GB RAM | £0.15/ hour": Standard_F4s_v2 + "Fs_v2 Series | 8 CPU | 16GB RAM | £0.30/ hour": Standard_F8s_v2 + "Fs_v2 Series | 16 CPU | 32GB RAM | £0.60/ hour": Standard_F16s_v2 + # CPU-only VMs - Easv4 Series (memory-optimised, ordered by size) + "Easv4 Series | 8 CPU | 64GB RAM | £0.45/ hour": Standard_E8as_v4 + "Easv4 Series | 16 CPU | 128GB RAM | £0.90/ hour": Standard_E16as_v4 + # GPU VMs - T4 Series (ordered by size) + "NCas_T4_v3 Series | 4 CPU 28GB RAM | 1 T4 GPU 16GB RAM | £0.50/ hour": Standard_NC4as_T4_v3 + "NCas_T4_v3 Series | 8 CPU 56GB RAM | 1 T4 GPU 16GB RAM | £0.70/ hour": Standard_NC8as_T4_v3 + # GPU VMs - A10 Series (ordered by size) "NV6ads_A10_v5 Series | 6 CPU 55GB RAM | 1/6 A10 GPU 4GB RAM | £0.45/ hour": Standard_NV6ads_A10_v5 "NV12ads_A10_v5 Series | 12 CPU 110GB RAM | 1/3 A10 GPU 8GB RAM | £0.85/ hour": Standard_NV12ads_A10_v5 "NV18ads_A10_v5 Series | 18 CPU 220GB RAM | 1/2 A10 GPU 12GB RAM | £1.50/ hour": Standard_NV18ads_A10_v5 "NV36ads_A10_v5 Series | 36 CPU 440GB RAM | 1 A10 GPU 24GB RAM | £3.00/ hour": Standard_NV36ads_A10_v5 "NV72ads_A10_v5 Series | 72 CPU 880GB RAM | 2 A10 GPU 48GB RAM | £6.15/ hour": Standard_NV72ads_A10_v5 - # GPU VMs - H100 Series (ordered by price) + # GPU VMs - H100 Series (ordered by size) "NC40ads_H100_v5 Series | 40 CPU 320GB RAM | 1 H100 NVL GPU 94GB RAM | £6.55/ hour": Standard_NC40ads_H100_v5 "NC80adis_H100_v5 Series | 80 CPU 640GB RAM | 2 H100 NVL GPU 188GB RAM | £13.15/ hour": Standard_NC80adis_H100_v5 image_options: @@ -137,7 +147,7 @@ parameters: default: "" - name: vm_size type: string - default: "F4s_v2 Series | 4 CPU | 8GB RAM | £0.15/ hour" + default: "Dsv5 Series | 2 CPU | 8GB RAM | £0.10/ hour" - name: shared_storage_access type: boolean default: true diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm-ouh2/template_schema.json b/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm-ouh2/template_schema.json index 1ebd444..6218cdb 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm-ouh2/template_schema.json +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm-ouh2/template_schema.json @@ -48,18 +48,24 @@ "type": "string", "title": "VM Size", "description": "Select size of VM. VMs can only be resized within the same series (e.g., Dsv5 → Dsv5). Resizing across different series is not supported. GPU VMs should only be deployed when actively needed due to limited quota. H100 quota is especially limited - deploy only for essential workloads and limited periods.", - "default": "F4s_v2 Series | 4 CPU | 8GB RAM | £0.15/ hour", + "default": "Dsv5 Series | 2 CPU | 8GB RAM | £0.10/ hour", "enum": [ "B-Series | 2 CPU | 4GB RAM | Text editing | £0.05/ hour", "Dsv5 Series | 2 CPU | 8GB RAM | £0.10/ hour", - "D4as_v5 Series | 4 CPU | 16GB RAM | £0.15/ hour", - "F4s_v2 Series | 4 CPU | 8GB RAM | £0.15/ hour", "Dsv5 Series | 4 CPU | 16GB RAM | £0.20/ hour", - "F8s_v2 Series | 8 CPU | 16GB RAM | £0.30/ hour", "Dsv5 Series | 8 CPU | 32GB RAM | £0.35/ hour", - "Easv4 Series | 8 CPU | 64GB RAM | £0.45/ hour", - "F16s_v2 Series | 16 CPU | 32GB RAM | £0.60/ hour", "Dsv5 Series | 16 CPU | 64GB RAM | £0.65/ hour", + "Das_v5 Series | 4 CPU | 16GB RAM | £0.15/ hour", + "Das_v5 Series | 8 CPU | 32GB RAM | £0.30/ hour", + "Das_v5 Series | 16 CPU | 64GB RAM | £0.60/ hour", + "Das_v5 Series | 32 CPU | 128GB RAM | £1.20/ hour", + "Fs_v2 Series | 4 CPU | 8GB RAM | £0.15/ hour", + "Fs_v2 Series | 8 CPU | 16GB RAM | £0.30/ hour", + "Fs_v2 Series | 16 CPU | 32GB RAM | £0.60/ hour", + "Easv4 Series | 8 CPU | 64GB RAM | £0.45/ hour", + "Easv4 Series | 16 CPU | 128GB RAM | £0.90/ hour", + "NCas_T4_v3 Series | 4 CPU 28GB RAM | 1 T4 GPU 16GB RAM | £0.50/ hour", + "NCas_T4_v3 Series | 8 CPU 56GB RAM | 1 T4 GPU 16GB RAM | £0.70 / hour", "NV6ads_A10_v5 Series | 6 CPU 55GB RAM | 1/6 A10 GPU 4GB RAM | £0.45/ hour", "NV12ads_A10_v5 Series | 12 CPU 110GB RAM | 1/3 A10 GPU 8GB RAM | £0.85/ hour", "NV18ads_A10_v5 Series | 18 CPU 220GB RAM | 1/2 A10 GPU 12GB RAM | £1.50/ hour", @@ -266,4 +272,4 @@ "classNames": "tre-hidden" } } -} +} \ No newline at end of file diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm-ouh2/porter.yaml b/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm-ouh2/porter.yaml index b038f30..1463dc7 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm-ouh2/porter.yaml +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm-ouh2/porter.yaml @@ -1,7 +1,7 @@ --- schemaVersion: 1.0.0 name: tre-service-guacamole-windowsvm-ouh2 -version: 1.1.8 +version: 1.2.2 description: "An Azure TRE User Resource Template for Guacamole (Windows)" dockerfile: Dockerfile.tmpl registry: azuretre @@ -9,24 +9,34 @@ registry: azuretre custom: # For information on vm_sizes and image_options, see README.me in the guacamole/user-resources folder vm_sizes: - # CPU-only VMs (ordered by price) "B-Series | 2 CPU | 4GB RAM | Text editing | £0.05/ hour": Standard_B2s + # CPU-only VMs - Dsv5 Series (Intel, ordered by size) "Dsv5 Series | 2 CPU | 8GB RAM | £0.15/ hour": Standard_D2s_v5 - "D4as_v5 Series | 4 CPU | 16GB RAM | £0.30/ hour": Standard_D4as_v5 - "F4s_v2 Series | 4 CPU | 8GB RAM | £0.30/ hour": Standard_F4s_v2 "Dsv5 Series | 4 CPU | 16GB RAM | £0.30/ hour": Standard_D4s_v5 - "F8s_v2 Series | 8 CPU | 16GB RAM | £0.60/ hour": Standard_F8s_v2 "Dsv5 Series | 8 CPU | 32GB RAM | £0.65/ hour": Standard_D8s_v5 - "Easv4 Series | 8 CPU | 64GB RAM | £0.75/ hour": Standard_E8as_v4 - "F16s_v2 Series | 16 CPU | 32GB RAM | £1.15/ hour": Standard_F16s_v2 "Dsv5 Series | 16 CPU | 64GB RAM | £1.25/ hour": Standard_D16s_v5 - # GPU VMs - A10 Series (ordered by price) + # CPU-only VMs - Das_v5 Series (AMD, ordered by size) + "Das_v5 Series | 4 CPU | 16GB RAM | £0.30/ hour": Standard_D4as_v5 + "Das_v5 Series | 8 CPU | 32GB RAM | £0.60/ hour": Standard_D8as_v5 + "Das_v5 Series | 16 CPU | 64GB RAM | £1.20/ hour": Standard_D16as_v5 + "Das_v5 Series | 32 CPU | 128GB RAM | £2.40/ hour": Standard_D32as_v5 + # CPU-only VMs - Fs_v2 Series (compute-optimised, ordered by size) + "Fs_v2 Series | 4 CPU | 8GB RAM | £0.30/ hour": Standard_F4s_v2 + "Fs_v2 Series | 8 CPU | 16GB RAM | £0.60/ hour": Standard_F8s_v2 + "Fs_v2 Series | 16 CPU | 32GB RAM | £1.15/ hour": Standard_F16s_v2 + # CPU-only VMs - Easv4 Series (memory-optimised, ordered by size) + "Easv4 Series | 8 CPU | 64GB RAM | £0.75/ hour": Standard_E8as_v4 + "Easv4 Series | 16 CPU | 128GB RAM | £1.50/ hour": Standard_E16as_v4 + # GPU VMs - T4 Series (ordered by size) + "NCas_T4_v3 Series | 4 CPU 28GB RAM | 1 T4 GPU 16GB RAM | £0.60/ hour": Standard_NC4as_T4_v3 + "NCas_T4_v3 Series | 8 CPU 56GB RAM | 1 T4 GPU 16GB RAM | £1.00/ hour": Standard_NC8as_T4_v3 + # GPU VMs - A10 Series (ordered by size) "NV6ads_A10_v5 Series | 6 CPU 55GB RAM | 1/6 A10 GPU 4GB RAM | £0.61/ hour": Standard_NV6ads_A10_v5 "NV12ads_A10_v5 Series | 12 CPU 110GB RAM | 1/3 A10 GPU 8GB RAM | £1.22/ hour": Standard_NV12ads_A10_v5 "NV18ads_A10_v5 Series | 18 CPU 220GB RAM | 1/2 A10 GPU 12GB RAM | £2.05/ hour": Standard_NV18ads_A10_v5 "NV36ads_A10_v5 Series | 36 CPU 440GB RAM | 1 A10 GPU 24GB RAM | £4.11/ hour": Standard_NV36ads_A10_v5 "NV72ads_A10_v5 Series | 72 CPU 880GB RAM | 2 A10 GPU 48GB RAM | £8.60/ hour": Standard_NV72ads_A10_v5 - # GPU VMs - H100 Series (ordered by price) + # GPU VMs - H100 Series (ordered by size) "NC40ads_H100_v5 Series | 40 CPU 320GB RAM | 1 H100 NVL GPU 94GB RAM | £7.70/ hour": Standard_NC40ads_H100_v5 "NC80adis_H100_v5 Series | 80 CPU 640GB RAM | 2 H100 NVL GPU 188GB RAM | £15.90/ hour": Standard_NC80adis_H100_v5 image_options: @@ -119,7 +129,7 @@ parameters: default: "" - name: vm_size type: string - default: "F4s_v2 Series | 4 CPU | 8GB RAM | £0.30/ hour" + default: "Dsv5 Series | 2 CPU | 8GB RAM | £0.15/ hour" - name: shared_storage_access type: boolean default: true diff --git a/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm-ouh2/template_schema.json b/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm-ouh2/template_schema.json index c75cbc4..c46eb6e 100644 --- a/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm-ouh2/template_schema.json +++ b/templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm-ouh2/template_schema.json @@ -48,18 +48,24 @@ "type": "string", "title": "VM Size", "description": "Select size of VM. VMs can only be resized within the same series (e.g., Dsv5 → Dsv5). Resizing across different series is not supported. GPU VMs should only be deployed when actively needed due to limited quota. H100 quota is especially limited - deploy only for essential workloads and limited periods.", - "default": "F4s_v2 Series | 4 CPU | 8GB RAM | £0.30/ hour", + "default": "Dsv5 Series | 2 CPU | 8GB RAM | £0.15/ hour", "enum": [ "B-Series | 2 CPU | 4GB RAM | Text editing | £0.05/ hour", "Dsv5 Series | 2 CPU | 8GB RAM | £0.15/ hour", - "D4as_v5 Series | 4 CPU | 16GB RAM | £0.30/ hour", - "F4s_v2 Series | 4 CPU | 8GB RAM | £0.30/ hour", "Dsv5 Series | 4 CPU | 16GB RAM | £0.30/ hour", - "F8s_v2 Series | 8 CPU | 16GB RAM | £0.60/ hour", "Dsv5 Series | 8 CPU | 32GB RAM | £0.65/ hour", - "Easv4 Series | 8 CPU | 64GB RAM | £0.75/ hour", - "F16s_v2 Series | 16 CPU | 32GB RAM | £1.15/ hour", "Dsv5 Series | 16 CPU | 64GB RAM | £1.25/ hour", + "Das_v5 Series | 4 CPU | 16GB RAM | £0.30/ hour", + "Das_v5 Series | 8 CPU | 32GB RAM | £0.60/ hour", + "Das_v5 Series | 16 CPU | 64GB RAM | £1.20/ hour", + "Das_v5 Series | 32 CPU | 128GB RAM | £2.40/ hour", + "Fs_v2 Series | 4 CPU | 8GB RAM | £0.30/ hour", + "Fs_v2 Series | 8 CPU | 16GB RAM | £0.60/ hour", + "Fs_v2 Series | 16 CPU | 32GB RAM | £1.15/ hour", + "Easv4 Series | 8 CPU | 64GB RAM | £0.75/ hour", + "Easv4 Series | 16 CPU | 128GB RAM | £1.50/ hour", + "NCas_T4_v3 Series | 4 CPU 28GB RAM | 1 T4 GPU 16GB RAM | £0.60/ hour", + "NCas_T4_v3 Series | 8 CPU 56GB RAM | 1 T4 GPU 16GB RAM | £1.00/ hour", "NV6ads_A10_v5 Series | 6 CPU 55GB RAM | 1/6 A10 GPU 4GB RAM | £0.61/ hour", "NV12ads_A10_v5 Series | 12 CPU 110GB RAM | 1/3 A10 GPU 8GB RAM | £1.22/ hour", "NV18ads_A10_v5 Series | 18 CPU 220GB RAM | 1/2 A10 GPU 12GB RAM | £2.05/ hour", @@ -266,4 +272,4 @@ "classNames": "tre-hidden" } } -} +} \ No newline at end of file