...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Info |
---|
ทางทีมแนะนำให้ใช้ Mambaforge ซึ่งมี channel เริ่มต้นเป็น conda-forge เนื่องจากเป็น opensource การทำงานของ conda และ mamba มีลักษณะคล้ายคลึงกัน |
Table of Contents |
---|
การติดตั้ง
...
Mambaforge
ขั้นตอนการติดตั้ง
1. ทำการ download ตัว installer ของ miniconda3 Mambaforge version ล่าสุด และทำการติดตั้งโดยระบุคำสั่งดังนี้
Code Block |
---|
wget https://github.com//repo.continuum.io/miniconda/Miniconda3-latestconda-forge/miniforge/releases/download/24.1.2-0/Mambaforge-24.1.2-0-Linux-x86_64.sh bash Miniconda3-latestMambaforge-24.1.2-0-Linux-x86_64.sh |
2. ดำเนินการตามขั้นตอนที่ปรากฏบนหน้าจอ โดยระบุ yes
และ กด Enter เพื่อยอมรับข้อตกลงการใช้งาน (license ของ minicondaMambaforge)
3. ระบุ path ที่ต้องการติดตั้ง และกด Enter (สามารถเว้นว่างไว้และกด Enter โดยโปรแกรมจะถูกติดตั้งที่ $HOME/miniconda3 mambaforge หรือ ~/miniconda3mambaforge)
หากต้องการใช้งานร่วมกันภายในโครงการ สามารถระบุ path ไปที่ project home ได้
...
5. ระบุคำสั่ง conda config --set auto_activate_base false
เพื่อตั้งค่าเริ่มต้นให้เข้า shell ปกติ (ถ้าข้ามขั้นตอนนี้ conda จะ auto activate ตัว base environment ทุกครั้งที่ login)
ตรวจสอบการติดตั้ง
1. ใช้คำสั่ง source ~/.bashrc
เพื่อตั้งค่า environment (สามารถ log-out จากนั้น log-in เข้ามาใหม่แทนขั้นตอนนี้ได้)
...
Code Block |
---|
(base) [vjarerat@tara-frontend-1 ~]$ conda deactivate [vjarerat@tara-frontend-1 ~]$ python -V Python 2.7.5 |
การจัดการ conda environment
บนระบบ TARA HPC ผู้ใช้งานสามารถ จัดการกับ conda environment ได้เอง โดยใช้คำสั่งเหมือนการจัดการบน Linux โดยสามารถอ่านข้อมูลเพิ่มเติมได้ที่ Managing environments — conda documentation
การสร้าง virtual environment
สามารถสร้าง virtual environment โดยใช้คำสั่ง
...
หมายเหตุ ถ้าไม่ได้ระบุ python version ระบบจะสร้าง environment สำหรับ python version ล่าสุด ถ้าต้องการใช้งาน version อื่นๆ สามารถระบุ version ตามหลังได้เช่น conda create -n myenv python=3.7
(-n
เป็นแบบย่อของ --name
)
การดูรายชื่อ virtual environment
สามารถดูรายชื่อ virtual environment ทั้งหมดที่ติดตั้งไว้โดยใช้คำสั่ง
...
Code Block |
---|
[hpcuser@tara-frontend-1 ~]$ conda env list # conda environments: base * /tarafs/data/home/hpcuser/miniconda3 myenv /tarafs/data/home/hpcuser/miniconda3/envs/myenv myenv2 /tarafs/data/home/hpcuser/miniconda3/envs/myenv2 |
การเรียกใช้งาน virtual environment
สามารถใช้งาน virtual environment ได้โดยใช้คำสั่ง
...
Code Block |
---|
[hpcuser@tara-frontend-1 ~]$ conda activate myenv (myenv) [hpcuser@tara-frontend-1 ~]$ (myenv) [hpcuser@tara-frontend-1 ~]$ python -V Python 3.7.12 |
การสร้าง virtual environment บน TARA จาก virtual environment เดิมที่มีในเครื่อง
หากมี environment ที่ต้องการใช้งานอยู่แล้วใน computer เครื่องอื่นๆ ผู้ใช้งานสามารถบันทึกคุณสมบัติของ environment นั้นๆลงใน environment.yml และทำมาสร้าง environment บน TARA ให้ software ต่างๆเหมือนเดิมได้โดยมาขึ้นตอนดังนี้
...
Code Block |
---|
conda env create -f environment.yml |
การติดตั้ง software เพิ่มเติมลงใน virtual environment
1. ทำการเรียกใช้งาน virtual environment ที่ต้องการติดตั้ง
...
Note |
---|
การใช้ conda install มีความแตกต่างจากการใช้ pip install อาจจะให้ผลลัพท์ที่แตกต่างกันขึ้นอยู่กับ software |
การออกจาก virtual environment
สามารถออกจาก virtual environment ได้โดยใช้คำสั่ง
...
Code Block |
---|
(myenv) [hpcuser@tara-frontend-1 ~]$ conda deactivate [hpcuser@tara-frontend-1 ~]$ |
การลบ virtual environment
สามารถลบ virtual environment ที่ไม่ต้องการใช้งานแล้วโดยใช้คำสั่ง
Code Block |
---|
conda env remove --name myenv |
การลบ caches และ packages ไม่ที่มีการใช้งาน
สามารถใช้คำสั่ง conda clean
Info |
---|
หมายเหตุ caches กินพื้นที่แต่ช่วยย่นระยะเวลาการติดตั้ง packages ในกรณีที่มีการใช้ packages คล้ายๆกันในหลายๆ environments ผู้ใช้งานสามารถเลือก option ของ conda clean ตามความเหมาะสมได้ โดยวิธีการใช้งานคำสั่งโดยละเอียดสามารถดูได้จาก conda clean — conda documentation |
ตัวอย่าง sbatch submit.sh
1. กรณี multithread โดยไม่ใช้ MPI
Code Block |
---|
#!/bin/bash #SBATCH -p memory # specific partition (compute, memory, gpu) #SBATCH -N 1 -c 192 # specific number of nodes and task per node #SBATCH --mem=MaxMemPerNode # specific amout of memory (RAM),delete this line if using default #SBATCH -t 1:00:00 # job time limit #SBATCH -J test # job name #SBATCH -A projxxxx # Specify Project account which will be received after Register ** If you do not specify in this section, the job will not be able to run. module purge # purge all module source ~/.bashrc conda activate myenv python my_model_CPU.py |
...
บรรทัดที่ 13 รันคำสั่ง python my_model_CPU.py
2. กรณี multithread โดยใช้ MPI
Info |
---|
สังเกตจากการที่ต้องระบุคำสั่ง mpirun (หรือเทียบเคียง) เวลาใช้งาน application นั้นๆ |
...
บรรทัดที่ 13 รันคำสั่ง srun python my_model_CPU.py
เป็นการสั่งรันแบบ MPI โดย -n 8
จะเป็นการบอกให้ srun ใช้ MPI 8 ranks (run 8 processes) ซึ่งสำหรับบาง application ที่ต้องการใช้จำนวน processes เท่ากับจำนวน GPU cards ที่ต้องการใช้ (บน DGX-1 มี V100 8 cards)
...
Related articles
Filter by label (Content by label) | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|