Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

บทความนี้อธิบายการใช้งานโปรแกรม Apptainer สำหรับการรัน Training บนระบบ LANTA โดยหัวข้อต่อไปนี้ให้ข้อมูลสรุปเนื้อหาของบทความ เพื่อให้ผู้อ่านสามารถระบุส่วนที่ต้องการอ่านได้อย่างรวดเร็ว

Table of Contents
minLevel1
maxLevel6
outlinefalse
styledefault
typelist
printabletrue

การเรียกใช้งานโปรแกรม Apptainer

  1. ใช้คำสั่ง ml av Apptainer เพื่อดูว่ามี Apptainer เวอร์ชั่นไหนบ้างบนเครื่อง LANTA

...

Code Block
username@lanta:~> ml Apptainer/1.1.6

การดาวน์โหลดไฟล์ Container ของ Tensorflow จาก Docker hub

  1. ตรวจสอบไฟล์ Container ของ Tensorflow ที่มีให้ดาวน์โหลดใน Docker hub โดยสามารถตรวจสอบได้จาก
    https://hub.docker.com/

  2. ใช้คำสั่ง apptiner pull เพื่อดาวน์โหลดไฟล์ Container ที่ต้องการใช้งาน ในที่นี้จะดาวน์โหลดไฟล์ Container ของ Tensorflow-gpu เวอร์ชั่น 2.17.0

Code Block
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

  • ไฟล์ submitSubmit.sh - ใช้สำหรับส่ง Job รันบนเครื่อง GPU

...

Info
  • คำสั่ง --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

การส่งงานเข้ารันในระบบ

  1. ดาวน์โหลด Data set โดยใช้คำสั่งต่อไปนี้

...

Code Block
username@lanta:~> sbatch Submit.sh

คู่มืออื่นๆที่เกี่ยวข้อง

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@48ae393
maxCheckboxfalse
showSpacefalse
sortmodified
showSpacetypefalsepage
reversetrue
typelabelspagesingularity python container
cqllabel in ( "download" , "install_apptainer" , "create_container" , "running" , "training" ) and space = currentSpace ( )labelssingularity python container