ינטעל לאָגאָאַן 824 FPGA SDK פֿאַר OpenCL באָרד
שטיצן פּעקל פלאָרפּלאַן
באַניצער גייד

 Intel® FPGA SDK פֿאַר אָפּענקל ™ באָרד שטיצן פּאַקקאַגע פלאָרפּלאַנ אָפּטימיזאַטיאָן גייד
די Intel/® FPGA SDK פֿאַר OpenCL ™ באָרד שטיצן פּאַקקאַגע (BSP) פלאָרפּלאַנ אָפּטימיזאַטיאָן גייד גיט פלאָרפּלאַנינג גיידליינז פֿאַר OpenCL) BSP. עס אויך גיט גיידאַנס ווי איר קענען קריגן די באַזע זוימען מיט בעסטער דורכשניטלעך מאַקסימום אָפּערייטינג אָפטקייַט און אָפּשאַצן די עפעקטיווקייַט פון די BSP מיטל יוטאַלאַזיישאַן.
דער דאָקומענט אַסומז אַז איר זענט באַקאַנט מיט OpenCL (2) קאַנסעפּס ווי דיסקרייבד אין די OpenCL Specification ווערסיע 1.0 דורך די Khronos Group.

OpenCL BSP זאַמלונג לויפן
OpenCL BSP שטיצט די פאלגענדע טייפּס פון קאַמפּיילינג פלאָוז:

  • פלאַך צונויפנעמען [–bsp-flow flat]: פּערפאָרמז אַ פלאַך זאַמלונג פון די גאנצע פּלאַן (BSP צוזאמען מיט קערן דזשענערייטאַד ייַזנוואַרג).
  • באַזע צונויפנעמען [–bsp-flow base]: פּערפאָרמז אַ באַזע זאַמלונג דורך ניצן LogicLock ריסטריקשאַנז פֿון base.qsf file. דער קערן זייגער ציל איז רילאַקסט אַזוי אַז די BSP ייַזנוואַרג האט מער פרייהייט צו טרעפן די טיימינג. א base.qar דאַטאַבייס איז באשאפן צו ופהיטן די BSP ייַזנוואַרג, וואָס איז די סטאַטיק געגנט.
  • אַרייַנפיר צונויפנעמען [ ]: ריסטאָרז די טיימינג פארמאכט סטאַטיק געגנט פֿון די base.qar דאַטאַבייס און קאַמפּיילז בלויז די קערן דזשענערייטאַד ייַזנוואַרג. עס אויך ינקריסיז די קערן זייגער ציל צו באַקומען די בעסטער קערן מאַקסימום אָפּערייטינג אָפטקייַט (פמאַקס).

OpenCL BSP פלאָרפּלאַן צעטיילונג
OpenCL BSP פלאָרפּלאַן איז דער הויפּט צעטיילט אין די פאלגענדע צוויי מקומות:

  • סטאַטיק געגנט: רעפּראַזענץ די געגנט מיט BSP פֿאַרבונדענע ייַזנוואַרג וואָס בלייבט סטאַטיק. די טיימינג איז פֿאַרמאַכט פֿאַר דעם געגנט בעשאַס באַזע זאַמלונג. אין אַלגעמיין, דער ציל איז צו מינאַמייז די שפּאָן רעסורסן געניצט דורך דעם געגנט צו פאַרמאַכן טיימינג.
  • קערנעל געגנט: רעפּראַזענץ די פּאַרטיייש ריקאַנפיגיעריישאַן (PR) געגנט וואָס איז רעזערווירט פֿאַר freeze_wrapper_inst|kernel_system_inst מאָדולע, וואָס כּולל די קערן. אין אַלגעמיין, דער ציל איז צו רעזערווירן שפּאָן רעסורסן צו אַ מאַקסימום מאָס פֿאַר דעם געגנט.
  1. די Intel FPGA SDK פֿאַר OpenCL איז באזירט אויף אַ ארויס Khronos ספּעסיפיקאַטיאָן און האט דורכגעגאנגען די Khronos קאָנפאָרמאַנסע טעסטינג פּראָצעס. קראַנט קאַנפאָרמאַנסע סטאַטוס קענען זיין געפֿונען אין www.khronos.org/conformance.
  2. OpenCL און די OpenCL לאָגאָ זענען טריידמאַרקס פון עפּל ינק. און געוויינט דורך דערלויבעניש פון די Khronos Group™.

Intel Corporation. אלע רעכטן רעזערווירט. ינטעל, די ינטעל לאָגאָ און אנדערע ינטעל מאַרקס זענען טריידמאַרקס פון ינטעל קאָרפּאָראַטיאָן אָדער זייַן סאַבסידיעריז. ינטעל וואָראַנטיז פאָרשטעלונג פון זייַן FPGA און סעמיקאַנדאַקטער פּראָדוקטן צו קראַנט ספּעסאַפאַקיישאַנז אין לויט מיט ינטעל ס נאָרמאַל וואָראַנטי, אָבער ריזערווז די רעכט צו מאַכן ענדערונגען צו קיין פּראָדוקטן און באַדינונגס אין קיין צייט אָן באַמערקן. ינטעל אַסומז קיין פֿאַראַנטוואָרטלעכקייט אָדער אַכרייַעס וואָס איז שטייענדיק פֿון די אַפּלאַקיישאַן אָדער נוצן פון קיין אינפֿאָרמאַציע, פּראָדוקט אָדער דינסט דיסקרייבד דאָ, אַחוץ ווי ינטעל איז עקספּרעסלי מסכים צו שרייבן. ינטעל קאַסטאַמערז זענען אַדווייזד צו קריגן די לעצטע ווערסיע פון ​​די מיטל ספּעסאַפאַקיישאַנז איידער זיי פאַרלאָזנ אויף קיין ארויס אינפֿאָרמאַציע און איידער פּלייסינג אָרדערס פֿאַר פּראָדוקטן אָדער באַדינונגס.
* אנדערע נעמען און בראַנדז קען זיין קליימד ווי די פאַרמאָג פון אנדערע.

גיידליינז פֿאַר OpenCL BSP פלאָרפּלאַנינג

  • אָנהייבן מיט פלאַך זאַמלונג צו פֿאַרשטיין ווו אַלע הויפּט קאַמפּאָונאַנץ פון די BSP זענען געשטעלט געוויינטלעך (ספּעציעל די IP בלאַקס מיט י / אָ קאַנעקשאַנז אַזאַ ווי PCIe אָדער DDR). בשעת דיזיינינג די BSP, איר קען האָבן צו באַטראַכטן גרינדן רערנ - ליניע סtagעס איז צווישן די IPs צו פאַרמאַכן טיימינג. איר זאָל ערשטער לויפן אַ פלאַך צונויפנעמען זוימען ויסקערן צו ידענטיפיצירן די ריקעראַנט פיילינג פּאַטס, און דעמאָלט פּרווון צו פאַרריכטן זיי.
    עצה: - א גוט טיימינג קלאָוזשער קורס איבער פלאַך קאַמפּיילינג זוימען סוויפּס וועט האָבן העכער גיכער פון קלאָוזינג די באַזע צונויפשטעלנ טיימינג.
    - אויב איר אָבסערווירן קאָנסיסטענט פייליערז אין mm_interconnect * (קאָמפּאָנענט צוגעגעבן דורך Qsys), עפֿענען די סיסטעם מיט Qsys Interconnect viewער און אָבסערווירן די קאַמפּלעקסיטי פון די פיילינג ינטערקאַנעקט. איר קענען לייגן פּייפּליינז פליפּפלאָפּס אין די viewצו פֿאַרבעסערן טיימינג. אויב איר נאָך קענען נישט אַדרעס דעם אַרויסגעבן, איר קען האָבן צו ברעכן אַראָפּ די mm_interconnect * קריטיש וועג דורך אַדינג אַוואַלאָן רערנ - ליניע בריקן.
  • בעשאַס די באַזע זאַמלונג, אָנהייב מיט LogicLock אין קערן געגנט וואָס כּולל freeze_wrapper_inst|kernel_system_inst. מיט קיין אנדערע ריסטריקשאַנז, Intel Quartus Prime קענען שטעלן די BSP ייַזנוואַרג פרילי אין די רוען סטאַטיק געגנט פון די שפּאָן. ניצן די פלאַך צונויפנעמען און שפּאָן פּלאַננער צו ידענטיפיצירן די גרייס און אָרט פון די BSP ייַזנוואַרג, אַזאַ ווי PCIe און DDR. דערנאָך, רעזערוו די קערן געגנט דורך ניצן LogicLock און ויסמיידן די הויפּט קלאַסטערד געביטן פון די BSP ייַזנוואַרג.
    עצה: אויב די געוויינט שפּאָן משפּחה איז די זעלבע ווי די רעפֿערענץ פּלאַטפאָרמע און אויב די BSP קאַמפּאָונאַנץ זענען ענלעך, עס קען זיין פאַסטער צו אָנהייבן מיט די LogicLock מקומות פֿאַר freeze_wrapper_inst|kernel_system_inst וואָס איז שיפּט מיט די OpenCL רעפֿערענץ BSP און אַרבעט דורך די פייליערז.
  • איר קען לייגן די פאלגענדע נאָך קאַמפּאָונאַנץ צו דיין BSP:
    - זכּרון באַנקס: אויב איר לייגן מער זכּרון באַנקס, איר זאָל ידענטיפיצירן די I/O באַנק אָרט ווייַל איר קען דאַרפֿן צו לייגן רערנ - ליניע בריקן צו טרעפן די צייט.
    - י / אָ טשאַנאַלז: איר קענען לייגן י / אָ טשאַנאַלז אַזאַ ווי ווידעא, עטהערנעט אָדער סיריאַל צובינד. אויב איר לייגן I/O טשאַנאַלז, איר זאָל ידענטיפיצירן די I/O באַנק אָרט, ווייַל איר קען דאַרפֿן צו צולייגן נייַע LogicLock מקומות פֿאַר פּייפּליין אויב די קלאָוזינג טיימינג איז שווער.
    עצה: אויב איר דאַרפֿן צו לייגן רערנ - ליניע בריקן (למשלampווי, רעכט צו גרויס רוטינג דילייז וואָס פאַרשאַפן טיימינג פייליערז), באַטראַכטן די רוטינג דיסטאַנסע פון ​​מקור צו דעסטיניישאַן לאָגיק אין די שפּאָן און מעלדונג עטלעכע פּלאַץ רעזערווירט פֿאַר די קערן געגנט.
  • גיי די אַלגעמיינע גיידליינז ווען איר רעזערווירן LogicLock מקומות פֿאַר די קערן:
    - פּרווון צו שטעלן אַלע DSP שפאלטן אין די קערנעל_סיסטעם סייַדן פארלאנגט דורך די BSP.
    - פּרווון צו רעזערווירן מער רעסורסן פֿאַר די קערנעל_סיסטעם.
    - פּרווון צו האַלטן די נומער פון קאַרב אין די קערנעל געגנט צו אַ מינימום.
    די פאלגענדע פיגור ילאַסטרייץ אַ קאַרב וואָס איז געווען צוגעגעבן צו שטעלן אַ רערנ - ליניע בריק צווישן PCIe און DDR באַנק.

פיגור 1. OpenCL BSP פלאָרפּלאַן פֿאַר Intel Arria® 10 GX אין די 17.0 מעלדונג

intel AN 824 FPGA SDK פֿאַר OpenCL באָרד שטיצן פּעקל פלאָרפּלאַן

גיידליינז פֿאַר מאַקסימום אַפּערייטינג אָפטקייַט
מאַקסימום אַפּערייטינג אָפטקייַט (פמאַקס) אַטשיווד דורך קערנאַלז לאַרגעלי דעפּענדס אויף FPGA גיכקייַט, ווייַל רובֿ פון די IPs זאָל שוין זיין אָפּטימיזעד. אָבער, עס קען זיין עטלעכע פמאַקס פארלירט דיפּענדינג אויף די BSP פלאָרפּלאַן. פֿאַר עקסampליי, יוזשאַוואַלי די נומער פון שנייַדן-אַוץ אין די קערן געגנט פון BSP אַפעקץ קערן fmax.
ווי ילאַסטרייטיד אין די פאלגענדע פיגור, צו קריגן די בעסטער באַזע זוימען וואָס גיט די בעסטער דורכשניטלעך פמאַקס:

  1. דורכפירן אַ זוימען ויסקערן אויף די באַזע זאַמלונג אַנשטאָט פון סאַלעקטינג דער ערשטער באַזע זוימען וואָס טרעפן די טיימינג.
  2. דורכפירן אַרייַנפיר זאַמלונג (דורך ניצן ווייניק קערנאַלז פון די עקסampדי דיזיינז) אויף אַלע די פּאַסינג באַזע זאמען.
  3. רעכענען די דורכשניטלעך פמאַקס פֿאַר אַלע באַזע זאמען.
  4. אויסקלייַבן די באַזע זוימען וואָס גיט די העכסטן דורכשניטלעך פמאַקס.
    די באַזע זוימען מיט דער בעסטער דורכשניטלעך פמאַקס איז אַ גוט קאַנדידאַט פֿאַר מעלדונג מיט BSP. אויב איר באַשליסן צו נאָכפאָלגן אַ צוגאַנג אַנדערש ווי די רעקאַמענדיד סטעפּס, איר קען אָבסערווירן 5-10% ווערייישאַן אין די פמאַקס פון די קערן אַרייַנפיר זאַמלונג פּראָצעס.

פיגורע 2. ידענטיפיצירן דער בעסטער באַסע זוימעןintel AN 824 FPGA SDK פֿאַר OpenCL באָרד שטיצן פּעקל פלאָרפּלאַן - פייג

  • צו פֿאַרשטיין ווי שנעל דער קערן קענען לויפן אָן פלאָרפּלאַן ריסטריקשאַנז:
    1. דורכפירן אַ פלאַך זאַמלונג פון די קערן און אָבסערווירן די fmax.
    2. דורכפירן אַ אַרייַנפיר זאַמלונג אויף דער זעלביקער קערן און אָבסערווירן די פמאַקס.
    3. פאַרגלייַכן פמאַקס רעזולטאַטן.
    רעכט צו די פלאָרפּלאַן ריסטריקשאַנז, אַרייַנפיר קאַמפּייל פמאַקס איז שטענדיק נידעריקער ווי פלאַך קאַמפּייל פמאַקס. צו ויסמיידן זוימען ראַש, צונויפנעמען די קערן מיט מער באַזע זאמען און באַטראַכטן אַ דורכשניטלעך פמאַקס בשעת קאַמפּערינג פמאַקס רעזולטאַטן.
  • קיינמאָל פאַרגלייַכן קערנעל פמאַקס פֿון אַ באַזע זאַמלונג מיט אַ פלאַך אָדער אַ אַרייַנפיר זאַמלונג. קערנעל זייגער טאַרגאַץ זענען רילאַקסט בעשאַס באַזע זאַמלונג און דערפאר איר וועט קיינמאָל באַקומען גוט רעזולטאַטן.
  • אָבסערווירן די קערנעל זייגער קריטיש דרך אין באַזע אָדער אַרייַנפיר זאַמלונג. אויב דער קריטיש וועג איז אַריבער פון די קערן צו די סטאַטיק געגנט אין די פלאָרפּלאַן, טוישן די פלאָרפּלאַן אָדער לויפן עטלעכע מער באַזע זאמען צו ויסמיידן דעם קריטיש דרך.

גיידליינז פֿאַר עוואַלואַטינג בספּ ריסאָרס יוטאַלאַזיישאַן עפיקאַסי

די העכער די ריסאָרס יוטאַלאַזיישאַן פּראָצענטtagE, די בעסער די נוצן פון שטח אין די סטאַטיק געגנט פון דיין BSP. א הויך ריסאָרס יוטאַלאַזיישאַן פּראָצענטtage אויך ימפּלייז אַז מער רעסורסן זענען בנימצא פֿאַר די קערן געגנט.
גיי די סטעפּס אונטן צו רעכענען די ריסאָרס יוטאַלאַזיישאַן פּראָצענטtagE פון דיין BSP:

  1. באַקומען וואַלועס פֿאַר אַלע רעסורסן אין די FPGA פֿון די top.fit.rpt אָדער base.fit.rpt בנימצא אונטער די פּאַרטיטיאָן סטאַטיסטיק אָפּטיילונג פון די פיטער באַריכט.
  2. אַראָפּרעכענען די ווערט פֿאַר "freeze_wrapper_inst|kernel_system_inst" (קערנעל געגנט).

טיפּ:
פאָקוס מער אויף די וואַלועס פון אַדאַפּטיוו לאָגיק מאָדולע (ALM) ווי אויף די וואַלועס פון אנדערע רעסורסן. פאַרזיכערן אַז די מיטל יוטאַלאַזיישאַן פּראָצענטtage פֿאַר ALM איז נעענטער צו די OpenCL רעפֿערענץ BSP. זייער הויך פּראָצענטtage פֿאַר ALM קען פירן צו קאַנדזשעסטשאַן, וואָס קענען פאַרגרעסערן די זאַמלונג צייט און באַקענען רוטינג קאַנדזשעסטשאַנז אין קאָמפּלעקס קערנאַלז. אָבער, איר קענען שטענדיק פאַרגרעסערן אָדער פאַרמינערן די סטאַטיק געגנט געגנט און אָבסערווירן די זאַמלונג צייט און פמאַקס.
די פאלגענדע טיש ריפלעקס די OpenCL BSP מיטל יוטאַלאַזיישאַן פון Arria ® 10 GX דעוויסעס אין די 17.0 מעלדונג.

טיש 1.
OpenCL BSP ריסאָרס יוטאַלאַזיישאַן פון IntelArria 10 GX דעוויסעס אין די 17.0 מעלדונג

גאַנץ בנימצא רעזערווירט פֿאַר קערנעל בנימצא פֿאַר BSP געוויינט דורך BSP 0/0
ALM 427200 393800 33400 23818 . 71.%
רעדזשיסטערס 1708800 1575200 133600 38913 29.%
M2OK 2713 2534 179 134 75.%
דספּ 1518 1518 0 0 N/A

אָבסערווירן אַז די פלאָרפּלאַנירונג איז עקסאַקיוטאַד אין אַזאַ אַ וועג אַז די סטאַטיק געגנט וועט נישט האָבן קיין DSP בלאַקס.

דאָקומענט רעוויזיע געשיכטע

טיש 2.
דאָקומענט רעוויזיע געשיכטע פון ​​​​די Intel FPGA SDK פֿאַר אָפּענקל באָרד שטיצן פּאַקקאַגע פלאָרפּלאַנ אָפּטימיזאַטיאָן גייד

טאָג ווערסיע ענדערונגען
אויגוסט-17 ערשט מעלדונג.

בילדל אָנליין ווערסיע
קאַרדאָ 590878 גייסט בלועטאָאָטה ינטערקאָם - יקאָן 14 שיקן באַמערקונגען
שייַן: 683312
AN-824
ווערסיע: 2017.08.08
AN 824: Intel® FPGA SDK פֿאַר OpenCL ™ באָרד

שטיצן פּאַקקאַגע פלאָרפּלאַן אָפּטימיזאַטיאָן גייד

דאָקומענטן / רעסאָורסעס

intel AN 824 FPGA SDK פֿאַר OpenCL באָרד שטיצן פּעקל פלאָרפּלאַן [pdfבאַניצער גייד
AN 824 FPGA SDK פֿאַר OpenCL באָרד שטיצן פּעקל פלאָרפּלאַן, AN 824, FPGA SDK פֿאַר OpenCL באָרד שטיצן פּעקל פלאָרפּלאַן, OpenCL באָרד שטיצן פּעקל פלאָרפּלאַן, באָרד שטיצן פּעקל פלאָרפּלאַן, שטיצן פּעקל פלאָרפּלאַן, פּעקל פלאָרפּלאַן, פלאָרפּלאַן

רעפערענצן

לאָזן אַ באַמערקונג

דיין בליצפּאָסט אַדרעס וועט נישט זיין ארויס. פארלאנגט פעלדער זענען אנגעצייכנט *