diff --git a/scripts/create_resources/spatial/process_10x_atera_nebius.sh b/scripts/create_resources/spatial/process_10x_atera_nebius.sh index d3475e586..432122295 100644 --- a/scripts/create_resources/spatial/process_10x_atera_nebius.sh +++ b/scripts/create_resources/spatial/process_10x_atera_nebius.sh @@ -8,7 +8,9 @@ cd "$REPO_ROOT" set -e -publish_dir="s3://openproblems-data/resources/datasets" +# store the loader output locally, mirroring the process_datasets layout ($id/) +# but under a sibling raw/ folder +publish_dir="/scratch/task_ist_preprocessing/raw" cat > /tmp/params_atera.yaml << HERE param_list: diff --git a/src/base/labels_nebius.config b/src/base/labels_nebius.config index fd98f257d..fa7cfe90e 100644 --- a/src/base/labels_nebius.config +++ b/src/base/labels_nebius.config @@ -47,20 +47,26 @@ process { withLabel: midcpu { cpus = 15 } withLabel: highcpu { cpus = 30 } withLabel: lowmem { - memory = { get_memory( 20.GB * task.attempt ) } + // Nebius 48vcpu-192gb nodes: 188 GB allocatable + memory = { get_memory( 25.GB * task.attempt ) } disk = { 50.GB * task.attempt } + pod = [[nodeSelector: 'nebius.com/node-group-id=mk8snodegroup-e00p5wjvb7bc55b2js']] } withLabel: midmem { + // Nebius 64vcpu-256gb nodes: 251 GB allocatable memory = { get_memory( 50.GB * task.attempt ) } disk = { 100.GB * task.attempt } + pod = [[nodeSelector: 'nebius.com/node-group-id=mk8snodegroup-e00wvqfyde1nfwezs0']] } withLabel: highmem { - memory = { task.attempt == 1 ? 200.GB : 500.GB } + // Nebius 128vcpu-512gb nodes: 503 GB allocatable — cap well below node max + memory = { task.attempt == 1 ? 200.GB : 450.GB } disk = 200.GB pod = [[nodeSelector: 'nebius.com/node-group-id=mk8snodegroup-e00hnqhyfdcsy9m09n']] } withLabel: veryhighmem { - memory = { get_memory( 200.GB * task.attempt ) } + // Nebius 128vcpu-512gb nodes: 503 GB allocatable — cap at 450 GB to leave headroom + memory = { [ 200.GB * task.attempt, 450.GB ].min() } disk = { 400.GB * task.attempt } pod = [[nodeSelector: 'nebius.com/node-group-id=mk8snodegroup-e00hnqhyfdcsy9m09n']] } @@ -115,6 +121,17 @@ process { containerOptions = { workflow.containerEngine == "singularity" ? '--nv': ( workflow.containerEngine == "docker" ? '--gpus all': null ) } } + withLabel: gpuhighmem { + // Nebius high-mem gpu-node-group: NVIDIA L40S, 1 GPU, 40 CPUs, 160 GiB RAM + // ~156 GiB allocatable — cap memory at 150 GB to leave headroom + cpus = 30 + accelerator = 1 + memory = { [ 100.GB * task.attempt, 150.GB ].min() } + disk = 200.GB + pod = [[nodeSelector: 'nebius.com/node-group-id=mk8snodegroup-e00dhcgx1xqjskycvc']] + containerOptions = { workflow.containerEngine == "singularity" ? '--nv': + ( workflow.containerEngine == "docker" ? '--gpus all': null ) } + } withLabel: hightime { time = 12.h } withLabel: veryhightime { time = 24.h } diff --git a/src/datasets/loaders/tenx_atera/config.vsh.yaml b/src/datasets/loaders/tenx_atera/config.vsh.yaml index 6da3a43bf..ed74ffeac 100644 --- a/src/datasets/loaders/tenx_atera/config.vsh.yaml +++ b/src/datasets/loaders/tenx_atera/config.vsh.yaml @@ -68,4 +68,4 @@ runners: - type: executable - type: nextflow directives: - label: [midmem, midcpu, midtime] \ No newline at end of file + label: [highmem, midcpu, midtime] \ No newline at end of file