© NegevHPC.com | Rotem Industrial Park

    מאיצים את NegevHPC עם Tesla V100!

    April 23, 2019

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

     

    לפני כשנה הנגשנו עבורכם קודקוד-מאיץ עם 32 ליבות מתקדמות ושני כרטיסי Xeon-Phi מתוצרת Intel. כרטיסים אלו היו טובים לשעתם, וכיום קיים קונצנזוס ש-Nvidia היא הסוס המנצח בשיקולי ביצועים.

     

    עבור חישובים רבים האצות אלו הן נדרשות ממש, ולכן רכשנו כעת קודקוד-מאיץ - המתקדם מסוגו - בתצורת Intel, רק שהפעם הכרטיסים הם של Nvidia. הקודקוד המאיץ מגיע עם 32 ליבות המחוברות ישירות לשני כרטיסי Tesla V100 בעלי 32G זיכרון כל אחד.

     

    חשוב לציין כי לא כל חישוב יכול לנצל את יכולות הקודקוד-המאיץ. למעשה, רק חישובים המותאמים היטב לעבודה איתו יכולים לנצל את יכולותיו. בדקו היטב לפני השימוש כי הקוד שברשותכם מותאם לעבודה זו, בין אם במקבול Cuda, ובין אם במקבול OpenMP4.5 ומעלה.

     

    על מנת לעשות שימוש במכונה יש לתאם הקצאה דרך מערכת הצ׳אט באתר.

    • על מנת להשתמש בקודקוד יש להקצות אותו:

    salloc -w gpu001 -p gpu --exclusive

    • להתחבר אליו ישירות:

    ssh gpu001

    • לטעון את המודולים הנדרשים לצורך העבודה - ולהריץ.

    • לחילופין, ניתן לארגן את קובץ הריצה עם הפקודות (כאשר Runner הוא קובץ ההרצה שלכם):

    #!/bin/bash

    #SBATCH -N 1 -p gpu --exclusive

    $PWD/Runner

    • אם תרצו להעמיק אל תוך פעילות המכונה, תוכלו לבצע זאת באמצעות שילוב בין פקודת top הידועה, ובין פקודת nvidia-smi המוציאה פלט בסגנון הבא, ובו ניתן לראות את הכרטיסים, אחוז השימוש בזיכרון בהם ואת הניצולת שלהם:

    • אם ברצונכם להעמיק את תוך פעילות הקוד עצמו, תוכלו לבצע זאת באמצעות ה-Profiler של Cuda (או בפרופיילר מתאים אחר). תחילה, תדרשו להריץ את הקוד עם השורה הבאה:

    nvprof --profile-child-processes  -o nvprof.%p.out $PWD/run_example_new

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

    • על מנת לבחון אותם יש לטעון ב-shell המקומי את מודול cuda/10.0, לוודא שיש לנו גרפיקה פעילה (כניסה באמצעות ssh -Y או VNC) ולהשתמש בתוכנת nvvp הגרפית:

    nvvp nvprof.XXXXXX.out

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

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

      • זמני הריצה כוללים

      • עלות הפרופיילר בזמן

      • עלות הורדת זיכרון מה-Host ל-Device

      • עלות העלאת זיכרון מה-Device ל-Host

      • עלות העברת זיכרון בין ה-Devices

     

     

     

    Share on Facebook
    Share on Twitter
    Please reload

    RECENT POST

    February 3, 2019

    December 18, 2018

    January 22, 2018

    Please reload