מעקב באמצעות CLI של tpu-info
tpu-info CLI הוא כלי לזיהוי מכשירי Cloud TPU ולקריאת מדדי זמן ריצה מהספרייה libtpu, כולל שימוש בזיכרון ומחזור פעולה. הוא תומך בצילומי מסך סטטיים חד-פעמיים ובסטרימינג בשידור חי כדי לעקוב אחרי מדדים באופן רציף.
התקנה
מתקינים את הגרסה האחרונה באמצעות pip:
pip install tpu-info
אפשרות נוספת היא להתקין את tpu-info מהמקור:
pip install git+https://github.com/google/cloud-accelerator-diagnostics/#subdirectory=tpu_info
אם כבר התקנתם גרסה של tpu-info, ודאו שהיא תואמת לסביבה שלכם ושלא חסרים בה מדדים ותכונות.
מידע נוסף זמין במאמר תכונות או מדדים חסרים.
גישה למדדים רגילים של LibTPU באמצעות ה-CLI
כדי לראות את מדדי ברירת המחדל של tpu-info באמצעות ה-CLI, מריצים את הפקודה הבאה:
tpu-info
הפלט אמור להיראות כך:
TPU Chips
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
┃ Chip ┃ Type ┃ Devices ┃ PID ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╕━━━━━━━━━╕━━━━━━━━┩
│ /dev/vfio/0 │ TPU v6e chip │ 1 │ 1052 │
│ /dev/vfio/1 │ TPU v6e chip │ 1 │ 1052 │
│ /dev/vfio/2 │ TPU v6e chip │ 1 │ 1052 │
│ /dev/vfio/3 │ TPU v6e chip │ 1 │ 1052 │
└──────────────┴──────────────┴─────────┴────────┘
TPU Runtime Utilization
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Chip ┃ HBM usage ┃ Duty cycle ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╕━━━━━━━━━━━━┩
│ 8 │ 18.45 GiB / 31.25 GiB │ 100.00% │
│ 9 │ 10.40 GiB / 31.25 GiB │ 100.00% │
│ 12 │ 10.40 GiB / 31.25 GiB │ 100.00% │
│ 13 │ 10.40 GiB / 31.25 GiB │ 100.00% │
└────────┴──────────────────────────┴────────────┘
TensorCore Utilization
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Core ID ┃ TensorCore Utilization ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0 │ 13.60%│
│ 1 │ 14.81%│
│ 2 │ 14.36%│
│ 3 │ 13.60%│
└─────────┴────────────────────────┘
TPU Buffer Transfer Latency
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Buffer Size ┃ P50 ┃ P90 ┃ P95 ┃ P999 ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━┩
│ 8MB+ │ 108978.82 us │ 164849.81 us │ 177366.42 us │ 212419.07 us │
│ 4MB+ │ 21739.38 us │ 38126.84 us │ 42110.12 us │ 55474.21 us │
└──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
TPU gRPC TCP Minimum RTT
┏━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┓
┃ P50 ┃ P90 ┃ P95 ┃ P999 ┃
┡━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━┩
│ 35.99 us │ 52.15 us │ 53.83 us │ 55.51 us │
└──────────┴──────────┴──────────┴──────────┘
TPU gRPC TCP Delivery Rate
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ P50 ┃ P90 ┃ P95 ┃ P999 ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ 12305.96 Mbps │ 18367.10 Mbps │ 24872.11 Mbps │ 44841.55 Mbps │
└───────────────┴───────────────┴───────────────┴───────────────┘
Usage
כדי לראות את נתוני הניצול הנוכחיים של TPU, צריך להפעיל עומס עבודה של TPU עם מסגרת נתמכת של למידת מכונה, כמו JAX או PyTorch/XLA.tpu-info אפשר להריץ את הפקודה tpu-info במסוף עם הדגלים הבאים.
עיבוד
משתמשים בדגל --process או -p כדי להציג מידע על התהליכים שפועלים ב-TPU.
$ tpu-info --process
הפלט אמור להיראות כך:
TPU Process Info
┏━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Chip ┃ PID ┃ Process Name ┃
┡━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━┩
│ /dev/vfio/0 │ 799657 │ python3 │
│ /dev/vfio/1 │ 799657 │ python3 │
│ /dev/vfio/2 │ 799657 │ python3 │
│ /dev/vfio/3 │ 799657 │ python3 │
│ /dev/vfio/4 │ 799657 │ python3 │
│ /dev/vfio/5 │ 799657 │ python3 │
│ /dev/vfio/6 │ 799657 │ python3 │
│ /dev/vfio/7 │ 799657 │ python3 │
└─────────────┴────────┴──────────────┘
מדד
משתמשים בדגל --metric כדי להציג מדדים ספציפיים. אפשר לציין כמה מדדים ולהפריד ביניהם ברווחים. דוגמאות למדדים נפוצים שנתמכים:
hbm_usageduty_cycle_percenttensorcore_utilizationbuffer_transfer_latencyhost_to_device_transfer_latencydevice_to_host_transfer_latencycollective_e2e_latency
$ tpu-info --metric duty_cycle_percent hbm_usage
הפלט אמור להיראות כך:
TPU Duty Cycle
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Core ID ┃ Duty Cycle (%) ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ 0 │ 100.00% │
│ 1 │ 100.00% │
│ 2 │ 100.00% │
│ 3 │ 100.00% │
│ 4 │ 100.00% │
│ 5 │ 100.00% │
│ 6 │ 100.00% │
│ 7 │ 100.00% │
└─────────┴────────────────┘
TPU HBM Usage
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Chip ┃ HBM Usage (GiB) ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0 │ 29.50 GiB / 31.25 GiB │
│ 1 │ 21.50 GiB / 31.25 GiB │
│ 2 │ 21.50 GiB / 31.25 GiB │
│ 3 │ 21.50 GiB / 31.25 GiB │
│ 4 │ 21.50 GiB / 31.25 GiB │
│ 5 │ 21.50 GiB / 31.25 GiB │
│ 6 │ 21.50 GiB / 31.25 GiB │
│ 7 │ 21.50 GiB / 31.25 GiB │
└────────┴───────────────────────┘
רשימת מדדים
משתמשים בדגל --list_metrics כדי להציג את כל המדדים הנתמכים שאפשר לבקש באמצעות הדגל --metric.
$ tpu-info --list_metrics
הפלט אמור להיראות כך:
╭─ Supported Metrics ─────────────────────────────────────────────────────────────────────────────╮
│ grpc_tcp_min_rtt │
│ host_to_device_transfer_latency │
│ grpc_tcp_delivery_rate │
│ buffer_transfer_latency │
│ collective_e2e_latency │
│ device_to_host_transfer_latency │
│ hbm_usage │
│ duty_cycle_percent │
│ tensorcore_utilization │
╰─────────────────────────────────────────────────────────────────────────────────────────────────╯
מדדים של סטרימינג
במצב סטרימינג, הנתונים הסטטיסטיים של השימוש מתעדכנים ומוצגים מעת לעת. כדי להזרים את המדדים של LibTPU, מוסיפים את הדגל --streaming לפקודה tpu-info. משתמשים בדגל --rate כדי לשלוט בקצב של הסטרימינג בשניות.
כדי להזרים את מדדי ברירת המחדל tpu-info באמצעות ה-CLI, משתמשים בפקודה הבאה:
# Refresh metrics every 2 seconds
tpu-info --streaming --rate 2
הפלט אמור להיראות כך:
Refresh rate: 0.1s
Last update: 2025-07-24 11:00:59 UTC
Libtpu version: 0.0.19.dev20250721+nightly
Accelerator type: v6e
TPU Chips
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
┃ Chip ┃ Type ┃ Devices ┃ PID ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╢━━━━━━━━━╢━━━━━━━━┪
│ /dev/vfio/0 │ TPU v6e chip │ 1 │ 1022 │
│ /dev/vfio/1 │ TPU v6e chip │ 1 │ 1022 │
│ /dev/vfio/2 │ TPU v6e chip │ 1 │ 1022 │
│ /dev/vfio/3 │ TPU v6e chip │ 1 │ 1022 │
└──────────────┴──────────────┴─────────┴────────┘
TPU Runtime Utilization
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Chip ┃ HBM usage ┃ Duty cycle ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╕━━━━━━━━━━━━┩
│ 8 │ 17.26 GiB / 31.25 GiB │ 100.00% │
│ 9 │ 9.26 GiB / 31.25 GiB │ 100.00% │
│ 12 │ 9.26 GiB / 31.25 GiB │ 100.00% │
│ 13 │ 9.26 GiB / 31.25 GiB │ 100.00% │
└────────┴──────────────────────────┴────────────┘
TensorCore Utilization
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Core ID ┃ TensorCore Utilization ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0 │ 15.17%│
│ 1 │ 14.62%│
│ 2 │ 14.68%│
│ 3 │ 15.14%│
└─────────┴────────────────────────┘
TPU Buffer Transfer Latency
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Buffer Size ┃ P50 ┃ P90 ┃ P95 ┃ P999 ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━┩
│ 8MB+ │ 18264.03 us │ 33263.06 us │ 35990.98 us │ 53997.32 us │
└──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
TPU gRPC TCP Minimum RTT
┏━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┓
┃ P50 ┃ P90 ┃ P95 ┃ P999 ┃
┡━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━┩
│ 35.99 us │ 52.15 us │ 53.83 us │ 55.51 us │
└──────────┴──────────┴──────────┴──────────┘
TPU gRPC TCP Delivery Rate
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ P50 ┃ P90 ┃ P95 ┃ P999 ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ 12305.96 Mbps │ 18367.10 Mbps │ 24872.11 Mbps │ 44841.55 Mbps │
└───────────────┴───────────────┴───────────────┴───────────────┘
מדדים של TPU-Z
TPU-Z הוא כלי לטלמטריה ולניפוי באגים ב-TPU. הוא מספק מידע מפורט על סטטוס זמן הריצה של כל ליבות ה-TPU שמצורפות למארח. הפונקציונליות מסופקת דרך המודול tpuz, שהוא חלק מהמודול libtpu.sdk ב-libtpu Python SDK. המודול מספק תמונת מצב של הסטטוס של כל ליבה.
תרחיש השימוש העיקרי ב-TPU-Z הוא אבחון של תקיעות או חסימות בנקודות קריטיות בעומסי עבודה מבוזרים של TPU. אתם יכולים להריץ שאילתות בשירות TPU-Z במארחים כדי לתעד את המצב של כל ליבה, להשוות בין מוני התוכניות, מיקומי ה-HLO ומזהי ההרצה בכל הליבות כדי לזהות אנומליות.
כדי להציג את המדדים של TPU-Z באמצעות ה-CLI, משתמשים בפקודה הבאה:
tpu-info --metric core_state
tpu-info --metric sequencer_state
tpu-info --metric sequencer_state_detailed
tpu-info --metric queued_program
הפלט צריך לכלול את הטבלאות core_state, sequencer_state, sequencer_state_detailed ו-queued_programs.
Core State Information
בטבלה Core State Information (core_state) מוצג מידע על ליבות של צ'יפ נתון. לכל שבב TPU יש ליבה אחת או שתיים, בהתאם לדור.
| שדה | תיאור | ערכים לדוגמה |
|---|---|---|
| מזהה השבב | המזהה של הצ'יפ שאליו שייכת הליבה. | 0 |
| מזהה ליבה גלובלי | המזהה הייחודי של הליבה במערכת ה-TPU כולה. | 1 |
| סוג הליבה | סוג ליבת ה-TPU. | "TPU_CORE_TYPE_TENSOR_CORE""TPU_CORE_TYPE_SPARSE_CORE" |
| השרת xdb פועל | ההגדרה הזו מציינת אם שרת מאתר הבאגים של המאיץ (XDB) פועל בליבת TPU ספציפית. | True |
הפלט אמור להיראות כמו בטבלה הבאה:
Core Information
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Chip ID ┃ Global Core ID┃ Core Type ┃ xdb Server ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ TPU_CORE_TYPE_TENSOR_CORE │ True │
│ 0 │ 1 │ TPU_CORE_TYPE_SPARSE_CORE │ True │
│ 1 │ 2 │ TPU_CORE_TYPE_SPARSE_CORE │ False │
│ 1 │ 3 │ TPU_CORE_TYPE_SPARSE_CORE │ False │
│ 2 │ 4 │ TPU_CORE_TYPE_SPARSE_CORE │ True │
│ 2 │ 5 │ TPU_CORE_TYPE_SPARSE_CORE │ True │
└──────────────┴───────────────┴─────────────────────────────┴───────────────┘
מידע על מצב ה-Sequencer
בטבלה Sequencer State Information (sequencer_state) (מידע על מצב הרצף) מוצג מידע על מצב הרצף בליבה. רכיב sequencer הוא יחידת בקרה בתוך ליבת TPU שאחראית לאחזור, לפענוח ולתיאום של ביצוע ההוראות. יכולים להיות כמה רכיבי תזמון לליבה אחת.
| מדד | תיאור | ערכים לדוגמה |
|---|---|---|
| מזהה השבב | המזהה של הצ'יפ שאליו שייכת הליבה. | 0 |
| מזהה ליבה גלובלי | המזהה הייחודי של הליבה במערכת ה-TPU כולה. | 1 |
| מונה תוכניות | כתובת הזיכרון של ההוראה שתופעל על ידי הרכיב לניהול רצף הפעולות. | 15390 |
| Tracemark | מזהה ההפעלה של התוכנית הנוכחית או האחרונה. השדה הזה לא מופיע אם הוא לא רלוונטי. | 2147483647 |
| מזהה התוכנית | המזהה שמשויך למופע ספציפי של תוכנית שמופעלת לביצוע בליבת TPU. | 3230481660274331500 |
| מזהה ההרצה | מזהה ההפעלה שמשויך לתוכנית. | 1150 |
| סוג הרצף | סוג הרצף. | "TPU_SEQUENCER_TYPE_SPARSE_CORE_SEQUENCER""TPU_SEQUENCER_TYPE_SPARSE_CORE_TILE_EXECUTE_CORE_SEQUENCER" |
הפלט אמור להיראות כמו בטבלה הבאה:
Sequencer Info
┏━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Chip ┃ Global┃ Program ┃ Tracemark ┃ Program ID ┃ Run ┃ Sequence Type ┃
┃ ID ┃ Core ┃ Counter:Tag ┃ ┃ ┃ ID ┃ ┃
┡━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 760:1 │ 2147483647 │ -5.75e17 │ 1150 │ TPU_SEQ_SPARSE_CORE_SEQUENCER │
│ 0 │ 1 │ 9:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 0 │ 1 │ 0:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 1 │ 2 │ 9:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 1 │ 3 │ 0:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 1 │ 3 │ 9:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 1 │ 3 │ 0:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 2 │ 4 │ 9:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 2 │ 4 │ 0:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 2 │ 4 │ 9:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 2 │ 5 │ 9:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
│ 2 │ 5 │ 0:0 │ 0 │ -1 │ -1 │ TPU_SEQ_SPARSE_TILE_EXECUTE │
└━━━━━━┴━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━┴────────────────────────────────┘
מידע על מצב הרצף (מפורט)
בטבלה Sequencer State Information (detailed) (sequencer_state_detailed) מוצג כל המידע מהטבלה Sequencer State Information (sequencer_state), יחד עם המדדים הנוספים הבאים:
| מדד | תיאור | ערכים לדוגמה |
|---|---|---|
| פרטי HLO | מידע מפורט על HLO, אם יש כזה. | [] |
| מזהה הרצת תוכנית בתור | מזהה ההפעלה של התוכנית הזו בתור. | 81 |
| מזהה השקת התוכנית בתור | מזהה ההפעלה של התוכנית הזו בתור. | 1394130914 |
| שגיאה מרכזית | מכילה את כל הודעות השגיאה לגבי הליבה הזו. אם אין שגיאות, השדה הזה לא מופיע. | "Failed to parse launch id: 0xdcf36153" |
| מיקום HLO | נתוני מיקום של Optimizer ברמה גבוהה (HLO). | "no HLO mapping""HLO: fusion.11; HLO computation: main.126_spmd" |
הפלט אמור להיראות כמו בטבלה הבאה:
Sequencer States (Detailed)
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Chip ID ┃ Global Core ID ┃ Program Counter ┃ Tracemark ┃ Program ID ┃ Run ID ┃ Sequence Type ┃ Core Error ┃ HLO Location ┃ HLO Details ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ 0 │ 0 │ 760 │ 2147483647 │ -5752110712385440928 │ 114 │ TPU_SEQUENCER_TYPE_TENSOR_CORE_SEQUENCER │ Failed to parse launch id: 0xdcf36109 │ no HLO mapping │ [] │
│ 0 │ 1 │ 9 │ 0 │ -1 │ -1 │ TPU_SEQUENCER_TYPE_SPARSE_CORE_SEQUENCER │ Compiler metadata or executable │ None │ None │
│ │ │ │ │ │ │ │ fingerprint not found. │ │ │
│ 0 │ 1 │ 0 │ 0 │ -1 │ -1 │ TPU_SEQUENCER_TYPE_SPARSE_CORE_TILE_EXE… │ Compiler metadata or executable │ None │ None │
│ │ │ │ │ │ │ │ fingerprint not found. │ │ │
│ 0 │ 1 │ 0 │ 0 │ -1 │ -1 │ TPU_SEQUENCER_TYPE_SPARSE_CORE_TILE_EXE… │ Compiler metadata or executable │ None │ None │
│ ... │ ... │ │ ... │ ... │ ... │ ... │ ... │... │ ... │
└─────────┴────────────────┴─────────────────┴────────────┴──────────────────────┴────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴────────────────┴─────────────┘
תוכניות בתור
בטבלה Queued programs (תוכניות בהמתנה) (queued_programs) מופיעה רשימת התוכניות
שממתינות להפעלה.
| מדד | תיאור | ערכים לדוגמה |
|---|---|---|
| מזהה השבב | המזהה של הצ'יפ שאליו שייכת הליבה. | 0 |
| Global Core | המזהה הייחודי של הליבה במערכת ה-TPU כולה. | 1 |
| מונה תוכניות:תג | כתובת הזיכרון של ההוראה שתופעל על ידי הרכיב לניהול רצף הפעולות. | 15390 |
| Tracemark | מזהה ההפעלה של התוכנית הנוכחית או האחרונה. השדה הזה לא מופיע אם הוא לא רלוונטי. | 2147483647 |
| מזהה התוכנית | המזהה שמשויך למופע ספציפי של תוכנית שמופעלת לביצוע בליבת TPU. | 3230481660274331500 |
| מזהה ההרצה | מזהה ההפעלה שמשויך לתוכנית. | 1150 |
| סוג הרצף | סוג הרצף. | "\ufffdU\ufffd4j\u7c6e\ufffd\ufffd{\u0017\ufffd\ufffdHHV\ufffdD\ufffde\uff" |
Queued Programs
┏━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Chip ┃ Global┃ Program ┃ Tracemark ┃ Program ID ┃ Run ┃ Sequence Type ┃
┃ ID ┃ Core ┃ Counter:Tag ┃ ┃ ┃ ID ┃ ┃
┡━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 10712385440928│ 1220 │ -5.75e17 │ 1220 │ \ufffdU\...ufffd{\u0017\...\ufffde |
│ 0 │ 1 │ 31435440272417│ 1530 │ -1 │ 1530 │ \ufff4j\...\ufffd{\u0017\...\ufffde|
│ 0 │ 1 │ 10230672051156│ 1410 │ -1 │ 1410 │ \ufffde\...\ufffd{\u0017\...\ufffde|
│ ... │ ... │ ... │ ... │ ... │ ... │ ... │
└━━━━━━┴━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━┴━━━━━━━━━━━━━┴━━━━━━━┴────────────────────────────────────┘
תכונות או מדדים חסרים
אם אתם לא מצליחים לראות חלק מהתכונות או מהמדדים, הסיבה הכי נפוצה לכך היא גרסה לא עדכנית של libtpu. התכונות והמדדים ב-tpu-info כלולים במהדורות של libtpu, ויכול להיות שבגרסאות מיושנות לא יהיו תכונות ומדדים חדשים.
כדי לבדוק אם הגרסה של tpu-info תואמת לסביבה שלכם, משתמשים בדגל --version או -v:
$ tpu-info --version
בדוגמה הבאה מוצג פלט של סביבה תואמת:
- tpu-info version: 0.5.1
- libtpu version: 0.0.18
- accelerator type: v6e
בדוגמה הבאה מוצג פלט של סביבה לא תואמת:
- tpu-info version: 0.5.1
- libtpu version: N/A (incompatible environment)
- accelerator type: N/A (incompatible environment)
אם אתם משתמשים בגרסה מיושנת, אתם צריכים לעדכן לגרסה האחרונה של libtpu:
pip install --upgrade libtpu