Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

บทความนี้ตั้งใจรวบรวม 5 ขั้นตอนอย่างง่ายในการสร้าง Singularity Container โดยท่านสามารถเตรียมความพร้อมล่วงหน้าได้ ดังแสดงในส่วน Requirements

Requirements

  1. เครื่องคอมพิวเตอร์ในระบบปฏิบัติการลีนุกซ์ (Linux machine) โดยท่านต้องมีสิทธิ์ root เพื่อทำการ build container

  2. ติดตั้ง Singularity software ใน linux machine เสร็จสิ้น https://thaisc.atlassian.net/l/c/13FtNZ8d

  3. recipe ของ environment ที่ท่านใช้ เช่น

    1. requirement.txt

    2. docker image ที่มีส่วนผสมที่ถูกต้องกับงานของท่าน

    3. Singularity image

Instructions การสร้าง Singularity Container บน local linux machine ของท่าน

step-by-step อย่างง่าย 5 ขั้นตอน

  1. ให้ singularity เรียก pull docker image หรือ singularity image ที่ต้องการจาก registry จะได้ไฟล์ .sif

    1. ตัวอย่างคำสั่ง $ singularity pull docker://nvcr.io/nvidia/tensorflow:21.04-tf2-py3

  2. สร้าง sandbox จากไฟล์ .sif หรือก็คือสร้างโฟลเดอร์ของ container ขึ้นมาเพื่อเข้าไปติดตั้งเพิ่มเติมได้

    1. ตัวอย่างคำสั่ง $ sudo singularity build --sandbox mysandbox/ tensorflow_21.04-tf2-py3.sif

  3. เข้าสู่ sandbox container แบบ writable และ bind directory ข้างนอกและข้างใน container ไว้ด้วย

    1. ตัวอย่างคำสั่ง $ sudo singularity shell -B /home/apiyatum:/root --writable mysandbox/

    2. option -B ถูกใช้เพื่อ bind directory <my machine directory>:<container directory>

  4. ทำการติดตั้งซอฟแวร์หรือ packages เพิ่มเติมจาก recipe environment ที่ต้องการลงใน sandbox

  5. เมื่อเตรียม environment ใน sandbox เสร็จ ทำการ build sandbox ให้เป็นไฟล์ .sif อีกครั้ง

    1. ตัวอย่างคำสั่ง $ sudo singularity build newsif.sif mysandbox/

    2. สิ่งที่ได้คือ Singularity file ใหม่ที่ชื่อ newsif.sif ไปใช้งานต่อใน HPC cluster ได้

...

SCP ไปใช้งานบน HPC

เมื่อได้ newsif.sif ที่มี environment การใช้งานตามต้องการแล้วสามารถทำสำเนาขึ้นไปยัง HPC เพื่อใช้งานได้ทันที

$ scp newsif.sif username@tara.nstda.or.th:/<user home หรือ project home directory>/

การใช้งาน Singularity Container บน HPC

สามารถดูตัวอย่างการใช้งานเบื้องต้นร่วมกับภาษา Python ได้ที่นี่ หรือตัวอย่างการใช้งาน Jupyter Notebook ผ่าน Singularity container ได้ที่นี่

Requirements

...

เครื่องคอมพิวเตอร์ในระบบปฏิบัติการลีนุกซ์ (Linux machine) โดยท่านต้องมีสิทธิ์ root เพื่อทำการ build container

...

ติดตั้ง Singularity software ใน linux machine เสร็จสิ้น https://thaisc.atlassian.net/l/c/13FtNZ8d

recipe ของ environment ที่ท่านใช้ เช่น

...

requirement.txt

...

docker image ที่มีส่วนผสมที่ถูกต้องกับงานของท่าน

...

...

Related articles

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@48ae393
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel in ( "container" , "python" , "singularity" ) and type = "page" and space = currentSpace ( )
labelssingularity python container
Page Properties
hiddentrue

Related issues

...