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 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".
  1. จากนั้นใช้คำสั่ง ml Apptainer/x.x.x เพื่อเรียกใช้งานโปรแกรม Apptainer เวอร์ชั่นที่ต้องการใช้งาน ถ้าไม่ระบุเวอร์ชั่น เวอร์ชั่นเริ่มต้นจะถูกเรียกใช่งานซึ่งก็คือ Apptainer/1.1.6

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:~> ml Apptainer
username@lanta:~> apptainer exec -B $PWD:$PWD tensorflow_2.17.0-gpu.sif python Setup.py
  1. จากนั้น ใช้คำสั่ง sbatch submitSubmit.sh เพื่อส่ง Job ของคุณเข้าระบบ Slurm ของ เพื่อส่งงานของคุณเข้ารันบนเครื่อง LANTA

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
typepage
reversetrue
labelssingularity python container
cqllabel in ( "download" , "install_apptainer" , "create_container" , "running" ) and space = currentSpace ( )