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
FlowLine is an automated system for **GPU resource management** and **concurrent command stream scheduling**, supporting both **Command Line Interface (CLI)** and **Web Graphical User Interface (GUI)** interaction modes. It is suitable for multi-task experiments, deep learning training, or high-concurrency computing environments.
> Note: Ensure you have installed basic dependencies from `requirements.txt` (`pandas`, `psutil`, `openpyxl`, etc.).
40
46
41
-
#### 2. Create Task Control Sheet`todo.xlsx`
47
+
#### 2. Create Task Control Sheet
42
48
43
-
The system uses an Excel file (`.xlsx` format) to define task parameters. **This is the only input method for all tasks.** Each row represents an independent task, and each column corresponds to a parameter that will be automatically mapped to `--key value` CLI format.
49
+
The system uses a list file (`.xlsx`、 `.csv` or `.json` format) to define task parameters. **This is the only input method for all tasks.** Each row represents an independent task, and each column corresponds to a parameter that will be automatically mapped to `--key value` CLI format.
44
50
45
51
<details>
46
52
<summary>Example and Explanation</summary>
47
53
48
-
Example file: [`test/todo.xlsx`](./test/todo.xlsx)
54
+
Example files: [`test/todo.xlsx`](./test/todo.xlsx), [`test/todo.csv`](./test/todo.csv),[`test/todo.json`](./test/todo.json), which can be constructed using the example program [`test/task_builder.py`](./test/task_builder.py).
49
55
50
56
|*name*| lr | batch_size |*run_num*|*need_run_num*|*cmd*|
|`run`| None | Toggles the task processing loop state (start/stop) |
129
+
|`gpu <id>`|`<id>`: GPU ID | Toggles the availability of the specified GPU (available/unavailable) |
130
+
|`killgpu <id>`|`<id>`: GPU ID | Terminates all processes running on the specified GPU |
131
+
|`kill <id>`|`<id>`: Process ID | Terminates the process with the specified process ID |
132
+
|`ls`| None | Lists all running processes, showing process ID, PID, task ID, GPU ID, status, and command |
133
+
|`gpus`| None | Displays the status of all GPUs, including utilization, memory usage, temperature, power consumption, etc. |
134
+
|`min <num>`|`<num>`: Memory size (MB) | Sets the minimum required memory for processes |
135
+
|`max <num>`|`<num>`: Process count | Sets the maximum number of concurrent processes |
136
+
|`task`| None | Lists the pending task queue, showing task ID, name, run count, etc. |
137
+
|`exit`| None | Exits the program (equivalent to `Ctrl+D`) |
138
+
|`help` or `?`| None | Displays help information |
139
+
140
+
<details>
141
+
<summary>Command Usage Examples</summary>
142
+
143
+
```bash
144
+
# Start the task processing loop
145
+
> run
146
+
147
+
# Check GPU status
148
+
> gpus
149
+
150
+
# View running processes
151
+
> ls
152
+
153
+
# Set the maximum number of concurrent processes to 4
154
+
> max 4
155
+
156
+
# Set the minimum memory requirement to 2048 MB
157
+
> min 2048
158
+
159
+
# Disable GPU 1
160
+
> gpu 1
161
+
162
+
# Terminate all processes on GPU 0
163
+
> killgpu 0
164
+
165
+
# View pending tasks
166
+
> task
167
+
168
+
# Exit the program
169
+
>exit
170
+
```
171
+
172
+
</details>
173
+
</details>
174
+
175
+
115
176
### 🌐 Using Web Interface (Visual Task Management)
116
177
117
178
> **No extra configuration needed - Works directly in SSH environments**
@@ -150,10 +211,33 @@ This project provides **automated detection and utilization of idle GPUs** for r
150
211
-**DO NOT misuse to monopolize shared resources or disrupt others' research.**
151
212
152
213
### 🚨 Risk Statement
153
-
> **For learning/research purposes only. Users assume all responsibility.**
154
214
155
215
Potential risks include but not limited to:
156
216
- Resource conflicts from concurrent scheduling
157
217
- Violation of lab/platform policies if abused
158
218
159
-
Developers **shall not be liable** for any direct/indirect losses including resource conflicts, account restrictions, or data loss resulting from script usage.
219
+
Developers **shall not be liable** for any direct/indirect losses including resource conflicts, account restrictions, or data loss resulting from script usage.
220
+
221
+
222
+
## 💐 Contributions
223
+
224
+
We welcome everyone to contribute code, fix bugs, or improve the documentation for this template!
225
+
226
+
- If you have any suggestions or questions, please submit an issue.
227
+
- Pull requests are welcome.
228
+
229
+
> [!TIP]
230
+
> If this project is helpful to you, please give it a **Star**!
0 commit comments