การรัน Training ด้วยโปรแกรม Apptainer
บทความนี้อธิบายการใช้งานโปรแกรม Apptainer สำหรับการรัน Training บนระบบ LANTA โดยหัวข้อต่อไปนี้ให้ข้อมูลสรุปเนื้อหาของบทความ เพื่อให้ผู้อ่านสามารถระบุส่วนที่ต้องการอ่านได้อย่างรวดเร็ว
การเรียกใช้งานโปรแกรม Apptainer
ใช้คำสั่ง
ml av Apptainer
เพื่อดูว่ามี Apptainer เวอร์ชั่นไหนบ้างบนเครื่อง LANTA
username@lanta:~> ml av Apptainer
------------------- /lustrefs/disk/modules/easybuild/modules/all --------------------
Apptainer/1.1.6
If the avail list is too long consider trying:
"module --default avail" or "ml -d av" to just list the default modules.
"module overview" or "ml ov" to display the number of modules for each name.
Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
จากนั้นใช้คำสั่ง
ml Apptainer/x.x.x
เพื่อเรียกใช้งานโปรแกรม Apptainer เวอร์ชั่นที่ต้องการใช้งาน ถ้าไม่ระบุเวอร์ชั่น เวอร์ชั่นเริ่มต้นจะถูกเรียกใช่งานซึ่งก็คือ Apptainer/1.1.6
username@lanta:~> ml Apptainer/1.1.6
การดาวน์โหลดไฟล์ Container ของ Tensorflow จาก Docker hub
ตรวจสอบไฟล์ Container ของ Tensorflow ที่มีให้ดาวน์โหลดใน Docker hub โดยสามารถตรวจสอบได้จาก
Docker Hub Container Image Library | App Containerizationใช้คำสั่ง
apptiner pull
เพื่อดาวน์โหลดไฟล์ Container ที่ต้องการใช้งาน ในที่นี้จะดาวน์โหลดไฟล์ Container ของ Tensorflow-gpu เวอร์ชั่น 2.17.0
username@lanta:~> apptainer pull tensorflow_2.17.0-gpu.sif docker://tensorflow/tensorflow:2.17.0-gpu
ตัวอย่างการรัน Training ด้วยโปรแกรม Apptainer
ตัวอย่างการรัน Training นี้จะประกอบด้วย 3 ไฟล์ต่อไปนี้
ไฟล์ Setup.py - ใช้สำหรับการดาวน์โหลด Data set
ไฟล์ MNIST.py - ใช้สำหรับทดสอบรัน Training
ไฟล์ Submit.sh - ใช้สำหรับส่ง Job รันบนเครื่อง GPU
ไฟล์ Setup.py
ไฟล์ MNIST.py
ไฟล์ Submit.sh
คำสั่ง
--ntasks-per-node
ใช้ในการระบุจำนวน task ต่อ 1 node (โดยปกติจะระบุให้ตรงกับจำนวน GPU ที่ต้องการใช้งาน)คำสั่ง
--gpus-per-node
ใช้ในการระบุจำนวน GPU ต่อ 1 node (GPU 1 ตัว:--gpus-per-node=1
, GPU 2 ตัว:--gpus-per-node=2
, GPU 4 ตัว:--gpus-per-node=4
คำสั่ง
-B $PWD:$PWD
ใช้เพื่อระบุ Path ของไฟล์ Container และไฟล์สคริปต์ Python เป็น Path ที่ใช้ส่งงานของคุณไปยังระบบ Slurm ของ LANTAคำสั่ง
--nv
ใช้สำหรับการเปิดใช้งาน GPU
การส่งงานเข้ารันในระบบ
ดาวน์โหลด Data set โดยใช้คำสั่งต่อไปนี้
จากนั้น ใช้คำสั่ง
sbatch Submit.sh
เพื่อส่งงานของคุณเข้ารันบนเครื่อง LANTA
คู่มืออื่นๆที่เกี่ยวข้อง