Skip to content

Commit 47390f9

Browse files
committed
docs: update readme
1 parent 3f7bd5d commit 47390f9

3 files changed

Lines changed: 72 additions & 16 deletions

File tree

examples/science/af3-slurm/examples/simple_ipynb_launcher/Ipynb.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ These cells perform several crucial setup tasks:
3535

3636
<img src="adm/install_dependencies.png" alt="install dependencies" width="1000">
3737

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, 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.
3939

4040
<img src="adm/system_setting.png" alt="system setting" width="1000">
4141

@@ -62,10 +62,15 @@ These cells perform several crucial setup tasks:
6262
<img src="adm/datapipeline.png" alt="data pipeline" width="1000">
6363

6464
- After updating the filename, run the data pipeline cell. This will process your input data.
65+
6566
- Check job status:
6667

6768
<img src="adm/datapipeline_status.png" alt="data pipeline status" width="1000">
6869

70+
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+
6974
**4. Executing the Inference:**
7075

7176
- 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:
8186

8287
- Check job status:
8388
<img src="adm/inference_status.png" alt="inference status" width="1000">
89+
90+
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..
8493

8594
**5. Visualizing the Results:**
8695

examples/science/af3-slurm/examples/simple_ipynb_launcher/README.md

Lines changed: 48 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,43 @@ Google Cloud Platform (GCP) is unable to provision the requested compute resourc
4242

4343
1. **Check the Slurm Controller Node Logs**:
4444
- 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+
4582
- Look for error messages related to resource availability. In cases of insufficient capacity, you may see a message like:
4683

4784
```text
@@ -156,33 +193,33 @@ The job requires **more memory** than is available on the assigned compute node(
156193

157194
- Common error messages include:
158195

159-
```text
196+
```bash
197+
# Data pipeline
160198
Out of Memory (OOM)
161199
```
162200

163201
or
164202

165-
```text
203+
```bash
204+
# Inference
166205
RuntimeError: CUDA out of memory
167206
Killed: 9
168207
MemoryError
169208
```
170209

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**:
174211

175-
- Enable the following setting to reduce GPU memory usage:
212+
- Enable the following setting to optimize GPU memory usage:
176213
- `inference_enable_unified_memory`:
177-
This allows the system to offload memory to 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 help reduce the likelihood of out-of-memory (OOM) errors during inference. To enable this feature, set the value to `true` in your `af3-slurm-deployment.yaml` file:
178215

179216
```json
180217
"inference_enable_unified_memory": true
181218
```
182219

183220
3. **Request More Memory**:
184221

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.
186223

187224
- 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:
188225

@@ -192,15 +229,15 @@ The job requires **more memory** than is available on the assigned compute node(
192229
```
193230

194231
> [!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.
196233

197234
- Alternatively, you can specify memory directly in your Slurm job script:
198235

199236
```bash
200-
#SBATCH --mem=128G
237+
#SBATCH --mem=50G
201238
```
202239

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.
204241

205242
### Notebook Save Error
206243

examples/science/af3-slurm/examples/simple_ipynb_launcher/Setup-post-cluster-deployment.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,21 @@ In the Google Cloud Console:
7575
**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)
7676
).
7777

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:
7979

80-
```bash
81-
gcloud secrets versions access latest --secret=<your-secret-name>
82-
```
80+
1. Open a terminal in JupyterLab:
81+
- Go to **File > New Launcher**, or
82+
- Click the **“+” button** under the **File** bar,
83+
84+
then click **“Terminal”** under the **Other** section.
85+
86+
2. Then, run the following command in the terminal:
87+
88+
```bash
89+
gcloud secrets versions access latest --secret=<your-secret-name>
90+
```
91+
92+
Replace `<your-secret-name>` with the name of your secret.
8393

8494
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:
8595

0 commit comments

Comments
 (0)