...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Note |
---|
ต้องมี tensorflow_with_jupyter.sif ที่ทำการติดตั้ง jupyter notebook และ library ที่ต้องการไว้ทั้งหมดแล้ว รวมทั้ง jupyter notebook สามารถอ่านวิธีการสร้าง Singularity file ได้จากhttps://thaisc.atlassian.net/l/c/a6A0yXT7 |
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
1. เตรียม submit.sh
Code Block |
---|
#!/bin/bash #SBATCH -p dgx-preempt #SBATCH -N 1 -c 40 #SBATCH -t 00:10:00 #SBATCH -J jupyter #SBATCH -A projxxxx module purge module load Singularity singularity exec --nv tensorflow_with_jupyter.sif jupyter-notebook \ --no-browser --port=8080 |
ด้านบนเป็นการใช้ Jupyter Notebook ที่ติดตั้งอยู่ใน container โดยใช้ Singularity และระบุ port ที่ต้องการใช้งานเป็น 8080
2. submit job เข้าสู่ระบบ TARA จาก frontend node
$ sbatch submit.sh
3. ตรวจสอบสถานะ job เพื่อทราบชื่อ HPC node ที่ job ได้รัน
$ squeue -n jupyter
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 994569 dgx-preem jupyter hpcuser2 R 0:04 1 tara-dgx1-001 |
จะเห็นว่า job ได้ทรัพยากร HPC node เป็น tara-dgx1-001 โดยมี JOBID เป็น 994569
4. ทำ SSH tunnelling จากเครื่อง local เข้าไปยัง HPC node ที่ job ได้รัน
ssh -J |
คำสั่งด้านบนใช้ local-port เป็น 8888 ซึ่งค่านี้จะนำไปใช้ในการเปิด application บน web browser จากเครื่อง local
5. เปิด Jupyter Notebook บน web browser จากเครื่อง local
ก่อนกลับไปเปิด jupyter notebook สร้างเครื่อง local เราต้องทำการหาค่า token ใน .out จาก slurm กันก่อน
5.1. หาค่า token ใน slurm-[job-id].out
Expand | ||
---|---|---|
| ||
คัดลอกค่า http://localhost:8080/?token=48d6a6ccb70c65c45d611d79446691cee071fa4b1d726c37 |
5.2. เปิดJupyter Notebook บน web browser
Expand | ||
---|---|---|
| ||
เปิด web browser และ วางค่าที่คัดลอกมาในช่อง url จากนั้นเปลี่ยนค่า port จาก 8080 เป็น 8888 ดังรูป กด enter จากนั้น Jupyter Notebook จะแสดงขึ้นมา ดังรูป เมื่อใช้งานเสร็จแล้วสามารถออกจาก web browser ได้ตามปกติ ** การออกจาก web browser ไม่ได้ยุติการทำงานของ Jupyter kernel ผู้ใช้งานจะต้องทำการยกเลิก job ที่ run อยู่บนระบบ TARA |
5.3. การยกเลิก Job บน TARA
$ scancel <jobid>
ซึ่งจากตัวอย่างนี้ เราจะระบุ jobid เป็น 994569 ซึ่งเราทราบค่านี้ได้จากการใช้คำสั่ง squeue เพื่อตรวจสอบสถานะของ job ดังแสดงในหัวข้อ 1.3 สามารถทำการยกเลิกก่อน หรือหลังปิด web browser ก็ได้ (เมื่อยกเลิก job connection จะถูกตัดโดยอัตโนมัติ)
Note |
---|
เพื่อเป็นการป้องกันการลืมปิด Jupyter kernel ทำให้เกิดการเสีย SU โดยเปล่าประโยชน์ ผู้ใช้งานควรระบุ wall time (-t ใน submission script) ให้ใกล้เคียงกับเวลาที่ใช้งาน |
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|