Artikel-ID: 000073897 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 23.01.2019

Warum tritt während einer OpenCL-Kernel-Kompilierung™ ein Stack-Dump auf, wenn die Anzahl der Schleifen die Anzahl der zugewiesenen Kanäle überschreitet?

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • Intel® Quartus® Prime Standard Edition
  • Intel® FPGA SDK for OpenCL™ Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Ein Stack-Dump kann während einer OpenCL-Kompilierung™ auftreten, wenn eine Schleife einen Schreibvorgang in einen indizierten Kanal enthält und die Schleifenanzahl die Anzahl der zugewiesenen Kanäle übersteigt. Siehe den Beispielcode unten.

    Kanal vorzeichenloses Zeichen my_channel[16] __attribute__((depth(1024)));
    char-Daten[32];

    ...
    for (vorzeichenloses Zeichen i = 0; i < 32; i ) {
    write_channel_intel(my_channel[i], Daten[i]);

    }

    Lösung

    Stellen Sie sicher, dass die Anzahl der Schleifen niemals die Anzahl der zugewiesenen Kanäle überschreitet.

    #define num_channels 32

    Kanal vorzeichenloses Zeichen my_channel[num_channels] __attribute__((depth(1024)));
    char data[num_channels];

    ...
    for (vorzeichenloses Zeichen i = 0; i < num_channels; i ) {
    write_channel_intel(my_channel[i], Daten[i]);

    }

    Dieses Problem wurde ab Version 19.1 des Intel® FPGA SDK für OpenCL-Compilers™ behoben.

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 1 Produkte

    Intel® programmierbare Geräte

    Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.