* הביתה run-ai
* מה קורה אם אני רוצה לקבל מסך ומקלדת ולעבוד אינטראקטיבית?
* מצב הקונטיינרים
* רצוי למחוק קונטיינרים מיותרים!
* כיצד לתת שם נורמלי לג'וב שלי?
* כיצד לראות יותר פרטים על הג'וב?
* האם יש דרך קצרה להעביר קבצים ממחשב שלישי?
* כיצד לעבוד על הקבצים ב storage מהמחשב המקומי?
* כמה שטח דיסק תפסתי עד כה ומה גודל הקבצים?
* כיצד לבנות סביבת פיתון ב storage
* ?? עכשיו להסב את כל /my/place/ למילה storage ?? !
* אין ממשק גרפי?
* פורט 2222 \ 8888 \ ... עף - מה עושים?
* העבודה עפה והחזרה לנקודת ההתחלה
* בעית זיכרון משותף
* לוג-אין לוקח הרבה זמן ואז הודעות שגיאה
* העברת קבצים: ... error: cannot exec into a container in a completed pod; current phase is Failed
* הודעת שגיאה: ... workers are out of shared memory ...
* הודעת שגיאה Could not find KubeConfig file
* הודעת שגיאה ...dial tcp 127.0.0.1:8080: connect: connection refused

* משתמשים מאק לא יכולים להריץ למרות שהדוקר בסדר



* מה קורה אם אני רוצה לקבל מסך ומקלדת ולעבוד אינטראקטיבית?
פקודת sleep מגבילה את זמן תפיסת המערכת ומאפשרת כניסה לקונטיינר
הפקודה מקבלת "infinity" אך בפועל הזמן מוגבל בהגדרות הפרוייקט.
בדוגמא הבאה אני מקצה לעצמי חמש דקות ונכנס לקונטיינר:

runai submit --pvc=storage:/storage -g 0.1 -i uuddii/helo --interactive --command -- sleep 300
runai bash theJobName

לחומר נוסף




* מצב הקונטיינרים

runai list jobs


* רצוי למחוק קונטיינרים מיותרים!

runai delete job theJobName




* כיצד לתת שם נורמלי לג'וב שלי?
בפקודת ההרצה אפשר להוסיף את שם הג'וב הרצוי

runai submit --pvc=storage:/storage -g 0.1 -i uuddii/helo --name=theGoodName




* כיצד לראות יותר פרטים על הג'וב?

runai describe job theJobName




* האם יש דרך קצרה להעביר קבצים ממחשב שלישי?
כן, יש להוסיף לאימג' הדוקר את הקליינט של SSH ואז
כאשר נכָּנס אל הקונטיינר עם הפקודות הבאות נוכל
להעביר קבצים בעזרת SCP

runai bash theJobName
cd /storage

לחומר נוסף




* כיצד לעבוד על ה storage במחשב המקומי?
לצורך כך יש להשתמש בשרת SSH בדוקר וב sshfs במחשב המקומי
או להשתמש ב SAMBA




* יש לי הרבה סקריפטים עם הכוונה לתיקיה ראשית /my/place/
* האם עלי לערוך את כל הסקריפטים ולהסב ל storage ? האם אין סידור אחר?
בעזרת האופציה PVC אפשר לכוון את התיקיה הראשית של הקונטיינר כך שתיראה ב storage ושם השינויים ישמרו

runai submit --pvc=storage:/my/place ...




* כמה שטח דיסק תפסתי עד כה ומה גודל הקבצים?

kube_bash_storage
root@storage-gateway-5856974484-5d9ws:/#   df -h /storage/
root@storage-gateway-5856974484-5d9ws:/#   cd /storage/
root@storage-gateway-5856974484-5d9ws:/storage#   du -sh *




* כיצד לבנות סביבת עבודה של פיתון בתוך ה storage?
ראה virtual-environment




* אין ממשק גרפי?
דווקא יש:

tau.run.ai




* הפורט 2222 או 8888 או אחר עף והג'וב ממשיך לעבוד
* כיצד להתחבר חזרה?
שחזור פורט שהתנתק (דוגמה ל 2222):

runai port-forward jobName --port 2222:22




* קורה שעבודה חוזרת לסוף התור לריצה חוזרת (לדוגמה בחריגה של מכסת ה GPU
כאשר הריצה חוזרת העבודה מתחילה בנקודת ההתחלה ולא מנקודת העצירה
כדי להתחיל מנקודת העצירה צריך להשתמש בצ'קפויינטס (checkpoints)
ההסבר באתר של RUN:AI




* הפקודות kube_bash_storage, local2storage, storage2local לא עובדות

משתמשי אובונטו
UU="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
wget -U "$UU" --no-check-certificate https://www.tau.ac.il/~udi/runai/tools/runai.sh
sudo mv runai.sh /etc/profile.d/
source /etc/profile.d/runai.sh

משתמשי מק
UU="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
wget -U "$UU" --no-check-certificate https://www.tau.ac.il/~udi/runai/tools/runai.zsh
sudo mv runai.sh /usr/local/bin/
source /usr/local/bin/runai.zsh


* הודעת השגיאה:

"RuntimeError: DataLoader worker (pid 990) is killed by signal: Bus error.
It is possible that dataloader’s workers are out of shared memory.
Please try to raise your shared memory limit. "

צריך להוסיף את האופציה large-shm לפקודת ה submit

runai submit --large-shm ...




* לוג-אין מתעכב והפקודת האחרות לא עובדות:

צריך לעדכן את תוכנת KUBECTL submit

sudo apt upgrade kubectl




* הודעת שגיאה Could not find KubeConfig file
* או ... dial tcp 127.0.0.1:8080: connect: connection refused...
צריך לשחזר את קובץ הקונפיג האישי:

runai logout
kube-config
runai login
runai config project projectName




* משתמשי מאק מקבלים הודעה שהדוקר לא מתאים למרות שנבנה כהלכה. למאקים יש מודלים שונים של CPU ולפעמים צריך להדריך את הדוקר בזמן הבנייה:

docker buildx build --platform linux/amd64 -t theDocker/name

בקובץ הדוקר

FROM --platform=linux/amd64 python