(גרסת 2020) מדריך להרכבת מחשב ייעודי ל-Deep Learning

מאת אורי אליאבייב, 7 באוגוסט 2017

בשנים האחרונות אנו עדים לשיפור הניכר שהשיגו אלגוריתמים לומדים בלא מעט תחומים. אלגוריתמים אלו, כדי שבאמת יספקו תוצאות מרשימות, מצריכים כוח עיבוד רציני ומחייבים את העוסקים בנושא להרכיב מערכות מחשוב מתקדמות מאוד. מאחר ומדובר על נושא מורכב למדי, החלטתי לכתוב את המדריך הבא שיסייע לכם לבחור את הרכיבים המתאימים ביותר לצרכים שלכם. חשוב לי להדגיש כי ניתן להעניק מענה לסוגיה זו בכמה אופנים ומדריך זה יכסה זווית אחת בלבד.

מי אני?

אני ניר בן-צבי, חוקר deep learning וחובב חומרה עוד מהימים הזוהרים בהם הייתי מפרק ומרכיב מחשבים בזמן שחברים שיחקו כדורסל (גם את זה ניסיתי, חזרתי לחומרה די מהר). בשנים האחרונות יצא לי לייעץ לא מעט בנושא לחברים בכל מיני ארגונים, וזה הוביל להחלטה לרכז את מעט הידע שצברתי למדריך שמולכם.

הערה לגבי עדכון המדריך

בחלקים מסוימים במדריך בחרתי לציין אם החלק הרלוונטי מעודכן או לא. המדריך כולו עבר עדכון בינואר 2020, אבל הגרסה המקורית שלו בת למעלה משנתיים. זה די מדהים כמה שדברים מסוימים לא משתנים במיוחד. למשל, בין נובמבר 2018 לינואר 2020, Nvidia לא עדכנה את המאיצים הגרפיים שלה – לא את אלו המיועדים ל-Data Centers (סדרת Tesla) ולא את אלו המיועדים למשתמשים פרטיים (סדרת GeForce). אינטל, מנגד, הספיקה לרענן את המעבדים שלה פעם-וחצי. המהפכה שהיה ניתן לצפות לה עם הדור האחרון של המעבדים של AMD לא קרתה כלל.

אז למה שהמדריך הזה יישאר רלוונטי בכלל בעתיד? קודם כל, אני משתדל לעדכן אותו כשעולה צורך. אעשה זאת בהחלט כשייצא דור חדש של Nvidia. בנוסף, השתדלתי ברענון האחרון להוריד מהמדריך את החלקים שהיו ספציפיים-מדי לדור מסוים של רכיב חומרה. לדוגמא, אינטל מעדכנים את המעבדים שלהם כל הזמן, אבל אני לא בטוח שסדרה 10 שאמורה לצאת השנה תביא בשורה מיוחדת לעוסקים ב-deep learning על GPUs.

עוד הערה חשובה – הנושא של ״מחשב ל-Deep learning״ הרבה יותר מוכר ומובן היום בשוק העולמי והמקומי, יש הרבה יותר מידע זמין באינטרנט ובניגוד ללפני שנה-שנתיים רכישת מחשב מורכב נהיה דבר מעט יותר משתלם. 

הדור הבא של Nvidia כבר הוכרז וייקרא Ampere, ע״ש אנדרה מרי אמפר, מאבות המחקר בחשמל ומגנטיות של חומרים. אין תאריך מדויק להכרזה, ואם לשפוט לפי העבר Nvidia יתחילו ברכיבי סדרת Tesla, וכרטיסי ה-GeForce לבני תמותה כמונו יצאו רק הרבה חודשים לאחר מכן.

כמה מילים לגבי מחשבים ניידים

המדריך הזה לא מיועד לבחירת מחשבים ניידים לאימון מודלים, ודעתו של הכותב היא שאין כזה דבר יותר. בעבר היה הגיון מסוים ברכישת מחשב נייד (בעיקר מחשבים המיועדים לגיימרים) עם כרטיס מסך חזק שמסוגל להתמודד עם טעינה של מודלים מורכבים יחסית. המצב היום הוא שהארכיטקטורות המודרניות כל כך ״כבדות״ מבחינת משאבי חישוב דרושים (בעיקר GPU memory) שאני לא רואה הגיון ברכישת מחשב כזה. גם מחשבי הגיימינג החזקים ביותר – כאלו שאי אפשר לקרוא להם ״ניידים״ בשום צורה (והם נקראים בצדק DTR – Desktop Replacement) – יכולים במקרה הטוב להריץ מודלים כאלה על Minibatches קטנים ולא ייאפשרו אימון, אפילו לא fine-tune על דאטאסט קטן. אציין שוב (1) שזו דעתי ו-(2) שההיכרות שלי היא עם עולם הראייה הממוחשבת ועד כמה שאני יודע בתחומים אחרים שעושים שימוש ב-Deep learning אפשר בהחלט להסתפק ב-GPU memory צנוע לצרכי לימוד. בעידן בו גוגל מספקים T4 ו-P100 בחינם על בסיס Colab, אני לא רואה סיבה להשקיע במחשב חזק ויקר. כמובן שעדיין כדאי מאוד להשקיע במחשב חזק, עם די זיכרון (16 זה הסטנדרט) וליבות. 

ומה עם כרטיסי מסך ניידים?

אני מודה שאני לא מכיר מספיק את העולם הזה, ולא ראיתי כרטיסים כאלה בשימוש נרחב שאינו לגיימינג. בסופו של דבר עדין מדובר בכרטיס מסך בודד, שכנראה לא יהיה חזק מספיק בשביל שימושים רציניים (כל דבר שאינו משחקים לצרכי לימוד עצמי). 

אתחיל מלחלק את האפשרויות הקיימות בפנינו לארבע קטגוריות עיקריות:

מה במדריך?

  1. מחשב שולחני פשוט יחסית עם כרטיס גרפי בודד.
  2. מחשב הזהה למחשב מס׳ 1, הנבדל ממנו בכך שיש לו שני כרטיסים גרפיים (או הכנה לכרטיס גרפי נוסף בעתיד).
  3. מחשב לאימון ״כבד״ – כלומר, מחשב בעל ארבעה כרטיסים גרפיים ומעלה.
  4. מחשבים לאימון כבד אף יותר, כאשר 8 מאיצים גרפיים זה בד״כ המקסימום (ראו הערה בהמשך).

מערכות של 8 GPUs

לדעתי מערכות עם שמונה GPU's (ולפעמים גם 9-10) עדיף לקנות מורכבות מראש ע״י OEM כלשהו (Supermicro, HP וכו׳) כי כאן אנו נכנסים כבר להגדרות חומרה יחסית מתקדמות. כמובן שמדובר (למיטב ידיעתי) רק במחשבי rack (״פיצה״) שברוב המקרים דורשים חוות שרתים או לפחות ארון שרתים במשרד. הם רועשים מאוד ולא מיועדים לשבת באותו חלל בו עובדים בני אדם.

אפשר לבנות מערכות מסוג rack, אך מדובר על תהליך יקר ומורכב אשר דורש מומחיות חומרה יחסית גבוהה וכנראה גם עובד בחברה שתפקידו לתמוך בחומרה. הפער המרכזי בין שאר המדריך לבין מחשבים מהסוג הנ״ל הוא חומרה יעודית, יקרה ונדירה יותר, בפרט בשוק הישראלי. ניתן היום להזמין יחסית בנוחות חומרה כזאת מחו״ל. בגלל שמדובר בעולם מאוד ״זר״ לשאר המדריך אני מרשה לעצמי לדלג עליו.
בניגוד למצב בעת כתיבת המדריך לראשונה לפני שנתיים, היום, נכון לתחילת 2020, אני רואה לא מעט חברות שעושות שימוש במחשבים מהסוג הזה, ויש היצע לא רע בכלל בשוק הישראלי של פתרונות מורכבים בעלות אטרקטיבית (והרבה פעמים אפשרות לרכישת חבילת support).

איזה מאיץ גרפי אני רוצה?

מאז כתיבת המדריך המקורי לא השתנה המון, אבל לדעתי אפשר וכדאי להוציא את ה-1080ti וכלל הדור שלו (סדרת Maxwell) לגמלאות. אז איזה רכיבים מעניינים בהקשר שלנו? לדעתי, ראוי להזכיר את ה-2080ti, שהוא מה שרובכם תקנו. מי שמרכיב מחשב עם GPU בודד בתקציב מוגבל ובעיקר למטרות לימוד יכול ליהנות מאוד עם ה-2080 ״הרגיל״ ולחסוך כמה מאות דולרים.

סדרות כרטיסים

לNvidia יש 3 סדרות שונות של כרטיסים גרפיים, שבדרך כלל מגיעות מאותו פס ייצור (או ״דור מעבדים״). סדרת ה-GeForce מיועדת בעיקרה למשחקי מחשב, למרות שהדגמים היקרים ששייכים אליה מיועדים באופן מובהק לשוק ה-deep learning. מולה קיימת סדרת Tesla, שכוללת מספר מצומצם של רכיבים יקרים מאוד המיועדים ל-Data Centers. הכרטיסים אלו זמינים אצל ספקיות הענן השונות וניתנים לרכישה רק ישירות מ-Nvidia ובעלויות גבוהות מאוד. בנוסף קיימת סדרת ה-Quadro, המיועדת ל״רינדור״ (יצירת פריימים תלת-מימדיים בתעשיית הקולנוע ומשחקי המחשב) בה לא נדון כלל.

ה-performance leaders כרגע בשתי הסדרות [הרלוונטיות] הם ה-GeForce 2080ti וה-Tesla V100, בהתאמה, ועליהם נדון.

כרטיסים גרפיים המיועדים רק ל-Inference

עולם חדש ומופלא, שלא היה קיים בעבר. כרגע Nvidia מספקים את רכיב ה-T4, עם יכולות אימון מסורסות לחלוטין אבל ביצועי inference לא רעים בכלל. הוא נמכר בעיקר ישירות דרכם, ועדין יקר משמעותית מ-2080ti למרות ביצועים פחותים (ראו טבלה). אז למה בעצם אנחנו מדברים עליו? ובכן, הוא שייך לסדרת Tesla, בניגוד לסדרת GeForce אליה שייך ה-2080ti. זה אומר שהוא מקורר באופן פאסיבי, דורש משמעותית פחות חשמל, ומגיע עם אחריות בינלאומית מוצלחת. אם זה משהו שאתם צריכים אתם כנראה יודעים את זה כבר בשלב הזה. לינק שימושי.

השוואת ביצועים בין הכרטיסים השונים 

את ה-1080ti, גיבור מעמד הפועלים של הדור הקודם של Nvidia, אני משאיר כאן בעיקר לצרכי השוואה. לא הייתי קונה אותו היום אלא אם מדובר ברכיב משומש במחיר מציאה. מה לגבי סדרת ה-Titan? בתרחישים מסוימים הם יכולים להיות משתלמים אבל פחות נפוץ לרכוש אותם. הדור האחרון, ה-Titan V, עולה 3000$ – שזה עדין בערך שליש מה-V100 (עם יותר זיכרון, יותר CUDA ו-TensorCores מה-2080ti). אם אתם חייבים את הביצועים הטובים ביותר במערכת מסוימת אבל לא רוצים לרכוש V100,  כרטיס ה-Titan V יכול להיות פתרון לא רע בכלל, אבל מבחינת price/performance הוא בפער פחות משתלם מה-2080ti. אם הנושא מעניין, מציע להסתכל גם פה ופה.

מוזמנים להציץ בטבלת ההשוואה בין שני הכרטיסים הנ"ל:

CardCUDA coresTensorCoresMemoryGPU Clock Rate/BoostThermal Rating TDP Bandwidth
1080ti (Maxwell)358411GB1380/1645260W484.3
2080 (Turing)29443688GB1515/1800215W448
2080ti (Turing)435254411GB1350/1635250W616
T4 (Turing)256032016GB158275W320
Titan V/V100 (Volta)512064012/32GB (for V100)1200/1455250W 652.8

Volta, TensorCores ו-FP16

מעבר לשדרוגים הרגילים שמגיעים בין גרסאות חומרה, שני הדורות האחרונים של Nvidia (סדרות Turing ו-Volta) מציעות שדרוג מהותי לביצועים כשעובדים ב-half precision. סדרת Turing אף מבטיחה ביצועים משופרים עוד יותר עם עוברים ל-INT8 אבל המעבר מעט מורכב יותר. כל ספריות ה-DL העדכניות (אני מתייחס בעיקר ל-MXNet/Gluon, PyTorch, TensorFlow) תומכות בצורה מהירה וקלילה ב-FP16/half precision ב-inference והעלות בביצועים אמורה להיות אפסית. בנוסף הן תומכות היום גם ב-mixed precision training – אימון שיכול להגיע למהירות כפולה ולתמוך ב-batch sizes גדולים יותר. האימון עצמו נעשה, כמו שהשם רומז, בשילוב של full ו-half precision וזה בגלל שצעדי העדכון מחייבים את הדיוק המלא, למרות שאחסון המשקולות בסוף לא סובל מאבדן הייצוג במעבר ל-half precision (ולא אכנס להסבר עמוק מזה).

התמיכה הזאת קיימת רק בדור האחרון, וזו הסיבה המרכזית שאני לא חושב שכדאי לרכוש היום 1080ti. מדובר בשיפור מאוד משמעותי לזמני ריצה ואימון.

ומה עם Int8?

כרטיסי Turing תומכים גם ב-Int8 (ולדעתי גם ב-Int4). בניגוד ל-FP16, שם המעבר הוא פשוט שינוי הייצוג של המשתנים, המעבר ל-Int8 מעט מורכב יותר ומחייב בנייה של ״סט קליברציה״. הנושא עדיין בחיתוליו, אבל ספריות ה-DL הפופולריות כבר תומכות בו מהדור האחרון שלהן.

חיבור בין כרטיסים שונים; NVLink

חיבור ה-NVLINK מאפשר לכרטיסים שונים באותה מערכת ליצור memory pool משותף שלא צריך לעבור דרך המעבד או הזיכרון של המחשב. זה דבר די מגניב, אבל לצערנו בדור האחרון Nvidia החליטו לבטל אותו בכרטיסי ה-GeForce שלהם. זה בסה״כ מהלך הגיוני שנועד להפוך את רכישת ה-V100 לכדאית יותר. זה בעיקר אומר שלא ניתן לחבר יותר משני כרטיסים אחד לשני. במערכת של שני כרטיסים ניתן בהחלט עדין ליהנות מהחיבור הזה, בתצורת SLI (זה השם של אותו החיבור עבור תעשיית משחקי המחשב). אם אתם מרכיבים מערכת של 4 כרטיסים ומעלה עדיף מראש לוותר, אלא אם אתם מתכננים תמיד להשתמש בהם בזוגות. 

כמה זה נורא? זה לא מאוד נורא, אבל כן ישפיע על ביצועים כאשר יש צורך בהעברת הרבה מידע בין הזיכרון של כרטיסים.

ולמה בכלל לקנות מכונה ולא להשתמש במכונות בענן?

גוגל ואמזון מציעות היום מעבדי V100 בענן שלהן (גם מייקרוסופט אבל נכון לעכשיו בזמינות נמוכה ובמעט איזורים). גוגל מציעה גם P100 (שזה תמורה לא רעה לכסף רוב הזמן). בנוסף לכך, קיימים גם שירותים אחרים זולים אפילו יותר כמו Paperspace שאני ממליץ לכם לבחון. לגוגל גם יש את ה-TPU שלה בבטא כרגע והם אכן מאוד מאוד מהירים ומציעים תמורה מעולה של זמן אימון לדולר.

ובכל זאת, חשבון פשוט יראה שאם אתם באמת הולכים לאמן על מספר גדול של GPUs, חלק גדול מהזמן (כלומר המכונה תרוץ רוב הזמן ותמיד יהיה לה backlog משימות שישאיר אותה עמוסה) – העלות של מכונה מקומית במשרד נמוכה משמעותית. לעומת זאת, אם אופן השימוש הוא כזה שמאמנים מודל פעם בכמה ימים, ושאר הזמן משלבים אותו במוצר, מתחקרים אותו אופליין וכו׳ – אולי עדיף לרוץ עם מכונה בענן. אם יש לכם קצת אורך נשימה, כמובן שהכי חכם להחליט להתנסות בענן כלשהו במשך חודש ואז לבדוק מה היו העלויות שימוש ואז לקבל החלטה מושכלת. כמובן ששימוש בענן טוב גם להרבה פתרונות אחרים, וגם במקרה שרכשתם מכונה שיושבת אצלכם בבית או במשרד סביר להניח שמדי פעם תשדרגו אותה עם משאבי חישוב נוספים בענן כלשהו.

שיקול נוסף נגד מכונה לוקאלית הוא התחזוקה שלה, שיכולה לגזול משאבים רבים כשמשהו משתבש. אגב גם בענן לעתים רחוקות דברים מתרסקים (מכונה מסרבת לעלות אחרי שכבתה וכו׳) אבל זה לא מתקרב לגיהנום שהוא עדכון גרסאת display drivers ששוברת לחלוטין את הקרנל והמחשב מסרב לעלות.

כמה מעבדים אני צריך ואילו?


קצת על מעבדים ו-PCI-E Lanes

אחרי שחתמנו את נושא המאיצים הגרפים הגיע הזמן לעבור לאלמנט הבא: המעבד. כרטיס גרפי דורש 16 מסילות PCI-Express, מה שמחייב את המעבד לתמוך בכך, דבר שהיינו די סטנדרטי כיום. האתגר מתחיל כשנרצה לחבר שני מאיצים גרפיים, שיצריכו מאיתנו 32 מסילות – פיצ'ר שאיננו נפוץ במעבדים סטנדרטיים (32 מסילות קיימות במעבדי שרתים, Xeon ובמעבדים היקרים ביותר בסדרת Core).

כשנרצה לחבר יחדיו ארבעה מאיצים גרפיים ומעלה, נצטרך לרכוש מעבדים נוספים (CPUs) שכן המספר המקסימלי של מסילות עבור מעבד בודד עומד על 40 בסה"כ. מסיבה שאיננה ברורה לי, אין הקפדה יתרה על נושא זה ורוב המכונות מהסוג הנ"ל, הנמכרות כחבילה אחת, מגיעות עם CPU בודד. יתרה מכך, מערכת המבוססת על מעבד בודד המריץ ארבעה מאיצים גרפיים תגרום להרעבה שלהם במשימות מורכבות (רשתות מאוד עמוקות) – תוצאה שאיננו מעוניינים להגיע אליה.

האם אני חייב המון מסילות?

ובכן, התשובה היא ״לא״. הסעיף הקודם בעיקר מלמד אותנו שמספר המסילות הזמינות בעצם שולט בכמות התעבורה (throughput) בין הזיכרון של המחשב לזיכרון של לוח האם. זה חשוב מאוד בזמן אימון שמשתמש בכלל ה-GPUs שזמינים לנו במערכת, חשוב קצת פחות אם מאמנים על כל אחד מהם בנפרד. עוד פחות חשוב מכך, אם המערכת שנבנה בכלל מיועדת ל-inference ולא לאימון בכלל. נקודה חשובה: אם השימוש שלכם דורש זמני תגובה מאוד גבוהים (כמו נגיד מסחר) ואז לכו על 16.

ולמה כל זה נכון? כי בסה״כ ה״הרעבה״ רלוונטית במיוחד כשאנחנו מעוניינים שה-GPUs שלנו ידברו אחד עם השני (מה שקורה כשממקבלים אימון על כמה כרטיסים גרפיים) ופחות כאשר כל אחד מהכרטיסים הגרפיים פועל כיחידה עצמאית. וכמו שכתבתי קודם, במערכות מתקדמות (לשרתים בעיקר) קיימים חיבורים יעודיים שמאפשרים ל-GPUs לשוחח אחד עם השני בלי לעבור דרך ה-CPU והזיכרון שלו.

בקיצור – ככלל אצבע לא הייתי חורג בשום מקרה מ-8 PCI-E lanes עבור כל מאיץ גרפי במערכת, ומשתדל מאוד במידת האפשר לתת לכל אחד 16 אם אני מתכנן לאמן על המערכת הזאת כשכל ה-GPUs משתתפים. עוד דבר שחשוב לזכור זה שקיימים רכיבים נוספים שדורשים מסילות PCI-E, למשל כונני SSD מהירים (מבוססי NVMe).

מעבדי Core

Intel introduced the new Intel® Core™ X-series processor family on May 30, 2017. Intel’s most scalable, accessible and powerful desktop platform ever, it includes the new Intel® Core™ i9 processor brand and the Intel® Core™ i9 Extreme Edition processor – the first consumer desktop CPU with 18 cores and 36 threads of power. The company also introduced the Intel® X299, which adds even more I/O and overclocking capabilities. (Credit: Intel Corporation)

בזמן כתיבת המדריך המקורי היו לאינטל מספר רכיבים עם 28, 40 ו-44 מסילות במחירים מאוד אטרקטיביים. מאז יצאו דורות 8 ו-9 (וממש תכף, 10), ורכיב זה לא קיים יותר, לטובת סדרת ה-X (ו-i9). בהתאם, כרטיסים אלו פופולריים במיוחד אצל מרכיבי חומרת deep learning. אם אתם מעוניינים להרכיב מכונה שתריץ כרטיס בודד, רוב המעבדים מסדרות i7 ו-i9 של אינטל כוללים 16 מסילות. עבור מי שצריך יותר – צריך לעלות לסדרת ה-X של אינטל, בה כל המעבדים כוללים 44 מסילות. הרכיב הזול ביותר מהסדרה הזאת הוא ה-Intel® Core i7-9800X עם 8 ליבות. קיימים גם 9820X, 9900X, 9920X ו-9960X, עם 10, 12 ו-16 ליבות, בהתאמה, כשהאחרונים שייכים לסדרה i9 ולא ל-i7 אבל מתאימים לאותם לוחות אם.

אם בא לכם להגזים, אינטל מעדכנים כרגע את קו המוצרים שלהם למעבדים מסדרה 10, והרכיב המקביל בסדרה זו הוא ה-Intel Core i9-10900X עם 10 ליבות (ובהתאם, כמה גרסאות משודרגות עם 12 ו-18). הוא כולל גם 48 מסילות PCI-E. אגב, סדרה 10 כוללת תמיכה מורחבת בהרצה של מודלים עמוקים על גבי ה-CPU, ואם אתם עושים גם את זה לפעמים כדאי לקרוא על הנושא ולהבין כמה שזה משמעותי.

חשוב לשים לב המעבדים מסדרת X של אינטל משתמשים בסוג socket שונה וזה בעייתי (שונה לפעמים גורר יקר ונדיר יותר) – FCLGA2066. בפועל הוא כבר די פופולרי בשוק (שנתיים+ אחרי שהוכרז) גם בגלל שהם שולטים בשוק הגיימינג היקר וכמובן גם בשוק ה-deep learning.

מעבדי Xeon

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

חשוב לדעת כי שימוש במעבד מסוג Xeon מקפיץ את המחיר של כל המערכת מכמה סיבות:

  • מעבדי זאון (Xeon) דורשים זיכרון ECC, שהוא יקר יותר.
  • באופן כללי רכיבים הפועלים עם מעבדי זאון יהיו יקרים יותר.
  • מעבדי זאון נוטים להיות יקרים ביותר ביחס למעבדים אחרים.

הסיבה המרכזית כן לעבוד איתם היא 40 מסילות, וכמובן שהמספר הזה עולה עם מרכיבים מחשב עם 2 כאלה וכו׳. בעבר היינו רואים כאלה מעבדים במערכות של 4GPUs והיום זה קצת נעלם. מנגד, ברגע שעוברים למחשבי rack (״פיצה״) זו נהיית הבחירה הדומיננטית, ושילוב של שני מעבדים כאלה על אותו לוח אם נותנת לנו 80 מסילות. בעבר המלצתי בחלק זה של המדריך על מעבדי Xeon אבל הורדתי את החלק הזה מהסיבה הפשוטה שאני רואה מחשבים כאלה פחות ואני לא מרגיש מעודכן מספיק כדי לתת כאן המלצה ראויה.

ואיפה AMD?

(חלק זה לא עודכן מאז נובמבר 2018, ואני משאיר אותו כאן כמו שהוא)

ובכן – AMD מציעה משהו שעל הנייר היה אמור לזעזע את השוק, ובפועל לא ממש עשה את זה – סדרת מעבדי Epyc לשרתים עם 128 PCI-E lanes, יחד עם גרסאת ה-Desktop שנקראת Threadripper ומציעה 64 מסילות. הרכיב הרלוונטי הוא ה-Threadripper 1920x או ה-1950x, עם 16 ו-12 ליבות בהתאמה. ההפרש במחיר די זניח ולכן נפוץ יותר לראות מערכות עם האחרון. כולם מבוססים על הדור החדש שלהם, Ryzen 7. בנוסף לנתון הזה הם מציעים מספר גדול מאוד של cores (בין 12 ל-32, במחירים מאוד נמוכים בהשוואה לחומרה מקבילה של אינטל). אז למה זה לא כבש את השוק בסערה?

  • עושה רושם ש-single core performance נמוך משמעותית, וזה משהו שעדיין חשוב ללא-מעט תרחישים. עם זאת, תוכלו ליהנות יותר מיחס של cores for dollar, ומי שנהנה ממקבול יהנה מאוד!
  • אנשים חוששים לאמץ חומרה חדשה על כלל המשתמע מכך.
  • לא מעט ספריות ML ״קלאסיות״ (למשל OpenCV) עושות שימוש ב-MKL של אינטל; בגדול ובנפנוף ידיים מדובר בשכבה תוכנתית (אלרטנטיבה לכל מני אימפמנטציות של Blas) שמאוד מאוד מאיצה פעולות על CPUs. זה גם מאוד רלוונטי למי שמתכנן לבצע inference על CPU למרות שכנראה שזה פחות רלוונטי לקוראי המדריך הזה. כל העסק הזה לא רלוונטי כרגע עבור מערכות עם מעבדים של AMD. אינטל לעומת זאת משקיעה הרבה משאבים בשיפור תדיר של התמיכה של ספריות שונות ב-MKL ולהפך.
  • נושא ה-PCI-E lanes קצת סבוך יותר, ואפרט:

בניגוד לאינטל שיש לה חיבור מיוחד בין המעבד ללוח אם לכל מני דברים, המעבדים של AMD מקצים 4 מסילות לכל מני חיבורים (ככלל החיבור בין ה-chipset לבין המעבד עצמו) ועוד 4 מסילות לחיבור אחסון מסוג M.2. זה משאיר 56 מסילות לכרטיסים גרפיים. למה אני מספר לכם את זה? כי זה אומר שבפועל אפשר לחבר כרטיסים רק בתצורת 16x/16x/8x/8x. זה עדיין אחלה ועדין יותר ממה שאינטל מאפשרת גם בכרטיסים היקרים ביותר שלה – כרטיסי סדרת i9 – אבל זה נהיה הבדל פחות משמעותי. מה גם שהחיסכון של 500-600$ במחשב של 7000$ זה לא כזה עניין גדול.

אמ;לק: נראה כי היתרונות של סדרת מעבדים זאת רלוונטיים בעיקר לגיימרים, הרפתקנים ובוני מערכות שמאוד חשוב להם לחסוך כמה ג׳ובות.
אז איפה עדין יש הגיון ב-AMD? למי שבונה מערכת עם 2 GPUs בלבד (מערכות זולות בכמה סדרי גודל ממערכות של 4) הן דווקא מהוות אלטרנטיבה נהדרת. כמו שציינתי, לאינטל בגדול אין יותר רכיבים עם מעל 28 מסילות PCI-E והאפשרות היחידה היא מעבדי ה-i9 היקרים מאוד. ה-Threadripper 1950X מציע 64 מסילות (כמו שהראינו, בפועל 56) וזה משאיר לכל מאיץ גרפי 16 מסילות שלמות ונהדרות וגם חוסך לא מעט כסף על CPU מסדרת i9 של אינטל.

הערה לגבי זיכרון

חשוב לזכור כי גם אם מעבד מסוים מתאים פיזית, מבחינת הסוקט, ללוח-אם התומך בכמות גדולה של זיכרון, ייתכן שהמעבד עצמו לא תומך בכמות שכזו. לצורך העניין, במידה ותרצו להרכיב מערכת עם מעל ל-64GB זיכרון, קחו בחשבון שדבר זה יתאפשר ככל הנראה רק ע״י מעבדים יקרים מאוד.

עוד על חומרה

לוח אם

91OZNKTjR1L._SL1500_

אין דרישות יוצאות דופן מלוחות אם בקטגוריה הזו והם כולם מאוד דומים. בחרו ביצרן טוב ותקראו כמה ביקורות אודות הלוח אם. אני מניח שהקורא הממוצע מבין מספיק בחומרה כדי לדעת (למשל) לבחור לוח אם לסוקט המתאים וכו׳. במערכת של ארבעה מאיצים גרפים הנושא נהיה מורכב יחסית אבל בשאר האופציות שבמדריך, ככל הנראה שהבחירה תהיינה בסוף בלוח אם לגיימרים – סדרת X99 של MSI  או הסדרה המקבילה של ASUS למשל. שימו לב שיש לוחות אם עם 2 מסילות שמתאימות לכרטיס מסך (פיזית), אבל רק אחת מהן היא ״באמת״ PCI-E x16 והשנייה היא ״רק״ x4. תמנעו מלרכוש לוח שכזה, אתם תרעיבו את הכרטיסים הגרפיים שלכם.

כאמור, זה דברים שמרכיב המערכת צריך להכיר לעומק והם לא שונים מבנייה של כל מחשב אחר (לגיימינג למשל). עוד דבר שלפעמים שוכחים לבדוק (במיוחד למערוכות של 4 GPUs) זה אם לכל slot יש מקום פנוי מעליו. כרטיסים מהסוג שאנחנו מדברים עליו פה תמיד תופסים שתי מסילות בגלל פתרון הקירור העצום שלהן

הערה לגבי ערכת-שבבים (chipset)

כמו ההערה הקודמת על המעבד, גם ערכת השבבים לא תמיד תומכת בכמות הזיכרון שלוח האם תומך בה פיזית. זו הרבה פעמים הדרך לבדל בין ערכות-שבבים זולות ליקרות וחשוב לבדוק את זה. לוחות אם יקרים (סדרות ה-flagship של כל יצרנית) בד״כ יכללו את ערכת השבבים היקרה והטובה ביותר עם התמיכה הרחבה ביותר לזיכרון, PCI-E וכו׳. באינטל ערכת השבבים צריכה להיות X299. ב-AMD זה יהיה X399.

זיכרון

כלל האצבע הוא פי-2 זיכרון למחשב עבור כל GPU. כלומר, עבור 4 כרטיסים מסוג 1080ti הייתי לוקח תצורה של 44*2=88GB. כמובן שהחישוב מתעגל לכפולה הבאה לפי כמות ה-memory sticks (שכמובן תמיד צריכים לבוא בזוגות). ל-setup של מאיץ גרפי בודד שאולי נרצה להרחיב כדאי לקחת GB32 באופן המאפשר להוסיף 32GB נוספים יחד עם ה-GPU שנקנה בעתיד. מנגד אפשר להתחיל גם עם 24GB, איך שתעדיפו (בד״כ מקלות הם של 16 או של 8).לוחות כאלה בד״כ מגיעים עם 8 מסילות זיכרון ככה שזה אמור להיות פשוט מאוד (נתחיל עם 2×16 ואולי נוסיף עוד 2 כאלה בהמשך). כמו בחלק של הלוח-אם, אני מניח שהקורא פה יודע לבחור את הזיכרון הנכון מבחינת מהירות. מעבדי Xeon דורשים זיכרון ECC יקר יותר

כמו בחלק של הלוח-אם, אני יוצא מנקודת הנחה שהקורא פה יודע לבחור את הזיכרון הנכון מבחינת מהירות. כפי שציינו בפסקה על המעבדים, מעבדי Xeon דורשים זיכרון ECC יקר יותר ולכן יש לקחת זאת בחשבון. במידה והקורא יעדיף לעבוד עם מעבדי Core, לוחות אם מבוססי ערכת השבבים x99 הם אמינים, זולים וניתן למצוא דגמים המכילים 8 מסילות זיכרון במחיר טוב. ייתכן שמאז כתיבת מדריך זה יצאה מחליפה ל-x299 כמובן, וכל מה שכתוב פה עובר אוטומטית לגרסא החדשה ביותר. אגב, מעבדי Volta בגרסאות מסוימות כוללים 32GB של זיכרון לכל כרטיס. אם בידכם כרטיסים כאלה הייתי משתדל שלכל כרטיס תהיה כמות כפולה של CPU Memory – קרי 64.

ספק כוח

ספק הכוח צריך להיות מסוגל לסחוב את כל העסק המרגש הזה. אם אתם הולכים על אופציה מספר 2 (הכנה לכרטיס גרפי נוסף בעתיד), אני ממליץ כבר עכשיו לקנות ספק כוח שיוכל לסחוב שני כרטיסים גרפיים. לכרטיס גרפי בודד כדאי להתחיל בספק איכותי בהספק של 750W, ולמערכת עם שני כרטיסי גרפיים הייתי בוחר בספק עם הספק של 1000W. מערכות של ארבעה כרטיסים גרפיים בדרך כלל כבר מגיעות עם שני ספקי כוח או ספק בודד בהספק של 1500W+. יצרנים טובים של ספקי כח הם Antec, CoolerMaster, Corsair, SeaSonic, EVGA וכו׳. 

קירור\מארז

בהנחה שהמחשב ישב בחדר נפרד ומקורר, אין צורך להתעסק עם פתרונות קירור מיוחדים. אם לעומת זאת, המערכת לא תשב בחדר נפרד ומקורר (דגש על נפרד) אולי תרצו להחליף את הקירור של המעבד בקירור שקט יותר. לגבי המארז, כדאי להשקיע בכזה שנוח "לעבוד בתוכו" ועם קירור טוב, אך מעבר לכך אין הרבה דרישות. יצרן מארזים פופולרי ומומלץ מאוד הוא NZXT. 

הערה: ספק כח שמגיע עם מארז בדר״כ לא שווה יותר מדי, אלא אם מדובר בדילים של מארז+ספק של חברות רציניות, כמו למשל Antec.

כוננים קשיחים

בנושא זה אין דגשים מיוחדים ובגדול זה עניין של תקציב. האופציה ה״זולה״ היא כונן SSD של 500GB יחד עם 4TB ״רגילים״. אם אין הגבלת תקציב כמובן שאפשר שכל הכוננים יהיו SSD ואפשר גם לערב תצורות RAID שונות. גם פה כמובן שיש כל מני דקויות בסוג החיבור ללוח האם (למשל חיבור NVME החדש-יחסית) וזה משהו שיכול להיות חשוב מאוד או כלל-לא, כתלות בייעוד הכללי של המערכת שאתם מרכיבים.

הצטרפו לערוץ הטלגרם שלנו!

כל ההודעות שאתם לא רוצים לפספס

X