להריץ את המחקר על החווה – מצב Launcher¶
החווה שלכם כבר מריצה סימולציות דרך אפליקציית ה-launcher שלכם: היא מקבלת את תוכנת הסימולציה וקובץ פרמטרים
לכל הרצה. Signal Viewer לא מחליף אותה ולא מותקן על מחשבי החישוב. הוא רץ במקום אחד (המחשב הנייד עם הגרסה הניידת,
או מחשב ניהול אחד) ומדבר בשפה של ה-launcher. כל מה שנוגע ל-launcher נמצא בבלוק launcher של קובץ המחקר.
רשימת הבדיקה (פעם אחת)¶
- קחו קובץ פרמטרים אמיתי אחד שה-launcher מקבל (XML או JSON).
- החליפו ערכים במצייני מקום:
<Kp>1.2</Kp>←<Kp>{{Kp}}</Kp>. מציין מקום הוא שם עמודה של הטבלה, או{{run_id}},{{table}},{{round}}. הערכים מוגנים לפי סוג הקובץ. שמרו ליד המחקר והגדירוparams_template_file. - הגדירו
submitלשורת הפקודה של ה-launcher, כרשימה (רצה בלי shell).round– פקודה אחת לכל טבלה עם{{params_files}}(קובץ רשימה);run– פקודה לכל הרצה עם{{params_file}}. - הגדירו
results– איפה מופיעה תוצאת הרצה, עם{{run_id}}, ובאיזה פורמט (שורת CSV, סדרת זמן עםreduce, JSON עםjson_keys, כל קובץ שהאפליקציה קוראת, או פקודת המרה). תוצאה נמצאת לפיrun_id, אחרת לפי ערכי הקלט. - הריצו סבב של 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 (לא נבדק – לא היה אשכול).