Skip to content

להריץ את המחקר על החווה – מצב Launcher

החווה שלכם כבר מריצה סימולציות דרך אפליקציית ה-launcher שלכם: היא מקבלת את תוכנת הסימולציה וקובץ פרמטרים לכל הרצה. Signal Viewer לא מחליף אותה ולא מותקן על מחשבי החישוב. הוא רץ במקום אחד (המחשב הנייד עם הגרסה הניידת, או מחשב ניהול אחד) ומדבר בשפה של ה-launcher. כל מה שנוגע ל-launcher נמצא בבלוק launcher של קובץ המחקר.

רשימת הבדיקה (פעם אחת)

  1. קחו קובץ פרמטרים אמיתי אחד שה-launcher מקבל (XML או JSON).
  2. החליפו ערכים במצייני מקום: <Kp>1.2</Kp> ← <Kp>{{Kp}}</Kp>. מציין מקום הוא שם עמודה של הטבלה, או {{run_id}}, {{table}}, {{round}}. הערכים מוגנים לפי סוג הקובץ. שמרו ליד המחקר והגדירו params_template_file.
  3. הגדירו submit לשורת הפקודה של ה-launcher, כרשימה (רצה בלי shell). round – פקודה אחת לכל טבלה עם {{params_files}} (קובץ רשימה); run – פקודה לכל הרצה עם {{params_file}}.
  4. הגדירו results – איפה מופיעה תוצאת הרצה, עם {{run_id}}, ובאיזה פורמט (שורת CSV, סדרת זמן עם reduce, JSON עם json_keys, כל קובץ שהאפליקציה קוראת, או פקודת המרה). תוצאה נמצאת לפי run_id, אחרת לפי ערכי הקלט.
  5. הריצו סבב של 3 (next.batch = 3), שלח ל-launcher, ובדקו שכל הרצה הופכת לבוצעה.

מה שחוזר נאסף ל-next/round_<k>/collected_<table>.csv: הוסיפו next/round_*/collected_<table>.csv לנתיבים של כל טבלה.

באפליקציה ובשורת הפקודה

Sweeps ← פרמטרים משותפים ← שלח ל-launcher מציג את הפקודה המדויקת פעם אחת בכל הפעלה, מריץ אותה ומראה כל הרצה כנשלחה / בוצעה / נכשלה / חסרה.

python -m signalviewer.study submit drones.svstudy.json [--yes]
python -m signalviewer.study wait   drones.svstudy.json             # 0 הכול בוצע, 4 חלק נכשל, 5 פג הזמן
python -m signalviewer.study loop   drones.svstudy.json --max-rounds 5 [--local]

בטיחות: הפקודה באה רק מקובץ המחקר ששמרתם; שום דבר מטבלה או מתוצאה לא הופך לפקודה; אין shell.

לנסות בלי חווה: tools/launcher_mock.py. HPC Pack ישירות: tools/hpc/run_one.ps1 (לא נבדק – לא היה אשכול).