You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Review System Settings:** These cells display the default configurations for SLURM partitions (Datapipeline C3DH, Inference G2/A2/A2U), memory, CPU counts, and timeout durations. While you can modify the `af3_config` later if needed, reviewing these defaults is important.
38
+
-**Review System Settings:** These cells display the default configurations for SLURM partitions (Datapipeline C3DH, Inference G2/A2/A2U), memory, CPU counts, and timeout durations. While you can modify the `af3_config` later if needed, it’s important to **familiarize yourself with the default limits of each machine shape** to ensure your jobs are appropriately configured and to avoid unexpected errors—such as running out of memory, CPU limits, or hitting timeout thresholds.
In some cases—for example, when there are issues with node provisioning for dynamic nodes—the job status may return `PENDING` status or an error status. This is often a temporary condition (e.g., while a node is still being provisioned), so you can try running the cell again.
71
+
72
+
If the issue persists, please refer to the [Known Issues & How to Fix Them](README.md#known-issues-how-to-fix-them) section for further guidance.
73
+
69
74
**4. Executing the Inference:**
70
75
71
76
- Next, locate and execute the inference cell in the notebook. This cell is configured to use the **latest output** generated by the data pipeline as its input.
@@ -81,6 +86,10 @@ These cells perform several crucial setup tasks:
In some cases—for example, when there are issues with node provisioning for dynamic nodes—the job status may return `PENDING` status or an error status. This is often a temporary condition (e.g., while a node is still being provisioned), so you can try running the cell again.
91
+
92
+
If the issue persists, please refer to the [Known Issues & How to Fix Them](../readme.md#known-issues--how-to-fix-them) section for further guidance..
Copy file name to clipboardExpand all lines: examples/science/af3-slurm/examples/simple_ipynb_launcher/README.md
+48-11Lines changed: 48 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,43 @@ Google Cloud Platform (GCP) is unable to provision the requested compute resourc
42
42
43
43
1.**Check the Slurm Controller Node Logs**:
44
44
- Take a look at the **VM log of the Slurm controller node**.
45
+
You can access the log through two methods:
46
+
1. Using the Google Cloud Console (VM UI)
47
+
- Open the Google Cloud Console: [https://console.cloud.google.com/](https://console.cloud.google.com/)
48
+
- At the top of the page, make sure you have selected the correct project name.
49
+
- In the left-hand menu, navigate to **Compute Engine** > **VM instances**.
50
+
- Click on the name of your Slurm controller VM in the list.
51
+
- On the VM details page, scroll down to the **Logs** section and click **Logging**.
52
+
- You will be able to view the relevant logs from there.
53
+
54
+
2. Accessing the Slurm Controller Node Log (via SSH or Google Cloud Console)
55
+
56
+
You can access the Slurm Controller Node either through your local terminal or the Google Cloud Console:
57
+
58
+
- Option A: SSH from Terminal
59
+
60
+
Run this command in your local terminal (replace the placeholders with your actual instance name and zone):
61
+
62
+
```bash
63
+
gcloud compute ssh [INSTANCE_NAME] --zone=[ZONE]
64
+
```
65
+
66
+
- Option B: SSH from Google Cloud Console
67
+
1. Go to the VM instances page.
68
+
2. Find your Slurm Controller VM.
69
+
3. Click the SSH button next to it to open a web-based terminal session.
70
+
4. To view the log, use the following command:
71
+
72
+
```bash
73
+
sudo cat /var/log/slurm/slurmctld.log
74
+
```
75
+
76
+
Why we use `sudo`?
77
+
78
+
The `slurmctld.log` file is typically owned by the `root` user and is not readable by standard (non-root) users. The `sudo`command temporarily elevates your privileges, allowing you to access files that require administrative permissions.
79
+
80
+
Without `sudo`, attempting to read the log file may result in a **"Permission denied"** error.
81
+
45
82
- Look for error messages related to resource availability. In cases of insufficient capacity, you may see a message like:
46
83
47
84
```text
@@ -156,33 +193,33 @@ The job requires **more memory** than is available on the assigned compute node(
156
193
157
194
- Common error messages include:
158
195
159
-
```text
196
+
```bash
197
+
# Data pipeline
160
198
Out of Memory (OOM)
161
199
```
162
200
163
201
or
164
202
165
-
```text
203
+
```bash
204
+
# Inference
166
205
RuntimeError: CUDA out of memory
167
206
Killed: 9
168
207
MemoryError
169
208
```
170
209
171
-
2. **Reduce Memory Usage**:
172
-
173
-
- Simplify the input or reduce the input size (e.g., shorter protein sequence length).
210
+
2. **Handle GPU Memory Constraints**:
174
211
175
-
- Enable the following setting to reduce GPU memory usage:
212
+
- Enable the following setting to optimize GPU memory usage:
176
213
- `inference_enable_unified_memory`:
177
-
This allows the system to offload memoryto CPU RAM when GPU memory is insufficient. It can help prevent OOM errors during inference. Set the value in the `af3-slurm-deployment.yaml` to `true` to enable:
214
+
This setting allows the system to use unified memory, enabling the GPU to access system (CPU) RAM when its own memory is insufficient. This can helpreduce the likelihood of out-of-memory (OOM) errors during inference. To enable this feature, setthe value to `true`inyour`af3-slurm-deployment.yaml`file:
178
215
179
216
```json
180
217
"inference_enable_unified_memory": true
181
218
```
182
219
183
220
3. **Request More Memory**:
184
221
185
-
- Modify your job submission script or cluster configuration to request nodes with larger memory.
222
+
- You can modify your **data pipeline** or **inference**job submission script or cluster configuration to request nodes with higher memory capacity.
186
223
187
224
- For example, in the `af3-slurm-deployment.yaml` file, if the `inference_g2_partition` memory value is currently set to `46`, you can increase it to `50` to request more memory:
188
225
@@ -192,15 +229,15 @@ The job requires **more memory** than is available on the assigned compute node(
192
229
```
193
230
194
231
> [!WARNING]
195
-
> Check the maximum memory capacity available for the node type before assigning a new value to avoid misconfiguration.
232
+
>Before increasing the memory value, check the maximum memory capacity available for the node type to avoid misconfiguration.
196
233
197
234
- Alternatively, you can specify memory directly in your Slurm job script:
198
235
199
236
```bash
200
-
#SBATCH --mem=128G
237
+
#SBATCH --mem=50G
201
238
```
202
239
203
-
- You may also consider requesting more powerful machine types depending on your platform’s options.
240
+
- You may also consider exploring more powerful machine types or configurations that offer more memory or better performance.
Copy file name to clipboardExpand all lines: examples/science/af3-slurm/examples/simple_ipynb_launcher/Setup-post-cluster-deployment.md
+14-4Lines changed: 14 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,11 +75,21 @@ In the Google Cloud Console:
75
75
**Where to run**: **On the system where you executed `gcluster`** (where the `gcloud` CLI is authenticated with access to your GCP project, similar to step [Grant Secret Access to the Notebook's Service Account](#2-grant-secret-access-to-the-notebooks-service-account)
76
76
).
77
77
78
-
To verify that Secret Manager access is properly configured, open a terminal within JupyterLab and run the following command:
78
+
To verify that Secret Manager access is properly configured:
Replace `<your-secret-name>` with the name of your secret.
83
93
84
94
If the command returns the secret value successfully, it confirms that the notebook environment can securely access the SLURM REST API—just as in the image below:
0 commit comments