Artikel-ID: 000073954 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 07.05.2020

Warum können die Ausführung von Kernel- und Speicherdaten nicht gleichzeitig ausgeführt werden, selbst wenn im Hostcode keine Ereignis-Abhängigkeit besteht?

Umgebung

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

    Aufgrund eines Problems in Version 19.1 und 19.2 des Intel® FPGA SDK für OpenCL™ kann der Kunde beim Ausführen von OpenCL-Designs™ feststellen, dass die Kernel-Ausführung und die Speicherdatenübertragung nicht gleichzeitig ausgeführt werden können, selbst wenn keine Abhängigkeit im Host-Code besteht. Nachfolgend finden Sie ein Beispiel, dass es keine Ereignis-Abhängigkeit zwischen clEnqueueWriteBuffer und clEnqueueNDRangeKernel gibt, und zur Innovation dieses Befehls wird eine andere Befehlswarteschlange verwendet. Im Profilbericht wird jedoch die Kernel-Ausführung und die Datenübertragung in der Reihenfolge und nicht in Parallelität angezeigt.

    Lösung

    Dies lag an einem Fehler in Version 19.1 und 19.2 des Intel® FPGA SDK für OpenCL™, der das verzögerte Starten der Kernel verursachte, wenn ein gleichzeitiger DDR-Zugriff vom Host und vom Kernel besteht. Die Kernel-Starts wurden verzögert, selbst wenn der Kernel und der Host auf einen anderen Teil des DDR-Speichers zugreift.

    Diese falsche Abhängigkeit vom Starten des Kernels wurde in Version 19.3 des Intel® FPGA SDK für OpenCL™ 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.