intel DPC++-Kompatibilitätstool 

intel DPC++-Kompatibilitätstool

Beginnen Sie mit dem Intel® DPC+ + Kompatibilitätstool

Das Intel® DPC++-Kompatibilitätstool hilft bei der Migration eines in CUDA* geschriebenen Entwicklerprogramms zu einem in Data Parallel C++ (DPC++) geschriebenen Programm, das auf modernem C++ basiert und portable Industriestandards wie SYCL* enthält.

  • Weitere Informationen zum Tool finden Sie im Intel® DPC++ Compatibility Tool Developer Guide and Reference.
  • Besuchen Sie die Versionshinweise für bekannte Probleme und die aktuellsten Informationen.

HINWEIS Die Verwendung des Intel® DPC++-Kompatibilitätstools führt zu einem Projekt, das nicht vollständig migriert wird. Zusätzliche Arbeit, wie in der Ausgabe des Intel® DPC++-Kompatibilitätstools beschrieben, ist erforderlich, um die Migration abzuschließen.

Bevor Sie beginnen

Das Intel® DPC++ Compatibility Tool ist im Intel® oneAPI Base Toolkit enthalten. Wenn Sie das Intel® oneAPI Base Toolkit nicht installiert haben, befolgen Sie die Anweisungen im Installationshandbuch.

Bestimmter CUDA-Header files (spezifisch für Ihr Projekt) müssen möglicherweise für Intel® DPC++ zugänglich sein
Kompatibilitätstool. Das Intel® DPC++ Compatibility Tool sucht nach diesen CUDA-Headern files an den Standardspeicherorten:

  • /usr/local/cuda/include
  • /usr/local/cuda-xy/include, wobei xy einer dieser Werte ist: 8.0, 9.x, 10.x und 11.0–11.6.

Sie können auf benutzerdefinierte Speicherorte verweisen, indem Sie mit –cuda-include-path= darauf verweisen Option in der Befehlszeile des Intel® DPC++-Kompatibilitätstools.

HINWEIS Der CUDA-Include-Pfad sollte nicht mit dem Verzeichnis identisch oder ein untergeordneter Pfad des Verzeichnisses sein, in dem sich der zu migrierende Quellcode befindet.

Derzeit unterstützt das Intel® DPC++ Compatibility Tool die Migration von Programmen, die mit den CUDA-Versionen 8.0, 9.x, 10.x und 11.0–11.6 implementiert wurden. Die Liste der unterstützten Sprachen und Versionen kann in Zukunft erweitert werden.

Um die Intel® DPC++ Compatibility Tool-Umgebung einzurichten, führen Sie Folgendes aus:

  • Unter Linux (sudo): Quelle /opt/intel/oneapi/setvars.sh
  • Unter Linux (Benutzer): Quelle ~/intel/oneapi/setvars.sh
  • Unter Windows :Laufwerk:\ Programm Files (x86)\Intel\oneAPI\setvars.bat

Die allgemeine Aufrufsyntax von der Betriebssystem-Shell lautet:

dpct [Optionen] [ … ]

HINWEIS c2s ist ein Alias ​​für den dpct-Befehl und kann an seiner Stelle verwendet werden.

Integrierte Nutzungsinformationen 

Um die Liste der spezifischen Optionen für das Intel® DPC++-Kompatibilitätstool anzuzeigen, verwenden Sie –help:

dpct – Hilfe

Um die Liste der Optionen des Sprachparsers (Clang*) anzuzeigen, übergeben Sie -help als Clang-Option:

dpct – -Hilfe
Ausgegebene Warnungen

Das Intel® DPC++-Kompatibilitätstool identifiziert die Stellen im Code, die möglicherweise Ihre Aufmerksamkeit während der Migration von erfordern files, um den Code SYCL-konform oder korrekt zu machen.
Kommentare werden in die generierte Quelle eingefügt files und als Warnungen in der Ausgabe angezeigt. Zum Bspampauf:

/Weg nach/file.hpp:26:1: Warnung: DPCT1003:0: Migrierte API gibt keinen Fehlercode zurück. (*,0) wird eingefügt. Möglicherweise müssen Sie diesen Code neu schreiben. // Quellcodezeile, für die eine Warnung generiert wurde ^

Weitere Einzelheiten zur Bedeutung einer bestimmten Warnung finden Sie unter Diagnosereferenz.

Weitere Einzelheiten zur Bedeutung einer bestimmten Warnung finden Sie in der Diagnosereferenz.

Migrieren Sie ein einfaches Testprojekt

Das Intel® DPC++-Kompatibilitätstool enthält mehrere sample-Projekte, damit Sie das Tool erkunden und sich mit seiner Funktionsweise vertraut machen können:

Sampdas Projekt Infos
 Vektor DPCT hinzufügen
  • vector_add.cu
Der Vektor fügt DPCT s hinzuample zeigt, wie ein einfaches Programm von CUDA nach SYCL migriert wird. Vector Add bietet eine einfache Möglichkeit zu überprüfen, ob Ihre Entwicklungsumgebung richtig eingerichtet ist, um das Intel® DPC++-Kompatibilitätstool zu verwenden.
Ordneroptionen DPCT
  • main.cu
  • bar/util.cu
  • bar/util.h
Die Ordneroptionen DPCT sample zeigt, wie Sie komplexere Projekte migrieren und Optionen verwenden.
Rodinia NW DPCT
  • Nadel.cu
  • Nadel.h
  • Needle_kernel.cu
Die Rodinia NW DPCT sample zeigt, wie Sie ein Make/CMake-Projekt mit dem Intel® DPC++-Kompatibilitätstool von CUDA nach SYCL migrieren.

Review die README file mit jedem s versehenample für detailliertere Informationen über den Zweck und die Verwendung der sampdas Projekt.

Für den Zugriff auf die sampdie

  • Verwenden Sie das Dienstprogramm oneapi-cli, um as auszuwählenampDatei aus der Kategorie Intel® DPC++ Compatibility Tool oder
  • lade die s herunterampweniger von GitHub*.

Ausführlichere Informationen zum Herunterladen und Zugreifen auf die sampDateien finden Sie in den Erste-Schritte-Leitfäden für das Intel® oneAPI Base Toolkit:

Versuchen Sie es mit einem Sampdas Projekt 

Befolgen Sie diese Schritte, um die Vector Add DPCT s zu migrierenample-Projekt mit dem Intel® DPC++ Compatibility Tool:

  1. Laden Sie die vector_add.cu s herunterampihnen.
  2. Führen Sie das Intel® DPC++ Compatibility Tool von der s ausample root-Verzeichnis:
    dpct –in-root=. src/vector_add.cu

     

    Die Datei vector_add.dp.cpp file sollte im Verzeichnis dpct_output erscheinen. Der file ist jetzt eine SYCLsource file.

  3. Navigieren Sie zur neuen SYCL-Quelle file:
cd dpct_output

Überprüfen Sie den generierten Quellcode und beheben Sie Code, den das Intel® DPC++-Kompatibilitätstool nicht migrieren konnte. (Der in diesem Beispiel verwendete CodeampDie Datei ist einfach, sodass möglicherweise keine manuellen Änderungen erforderlich sind). Die genauesten und detailliertesten Anweisungen zum Umgang mit Warnungen, die vom Intel® DPC++-Kompatibilitätstool ausgegeben werden, finden Sie im Abschnitt Adressieren von Warnungen in migriertem Code der README files.

HINWEIS Zum Kompilieren der migrierten sample, fügen Sie -I/include zu Ihrem Kompilierbefehl hinzu.

Für komplexere sample Anweisungen finden Sie unter Migrieren Sie ein Projekt Abschnitt des Intel® DPC++ Compatibility Tool Developer Guide and Reference.

Finde mehr

Inhalt Infos
Intel® DPC++-Kompatibilität

Tool-Entwicklerhandbuch und

Referenz

Ausführlich vorbeiview der Funktionen, des Arbeitsablaufs und der Verwendung des Intel® DPC++-Kompatibilitätstools.
On-Demand Webinar:

Migrieren Ihres bestehenden CUDA

Code zu DPC++-Code

Anleitung zum Migrieren von CUDA-Code zu Data Parallel C++ (DPC++) mit dem Intel® DPC++ Compatibility Tool, einer einmaligen Migrations-Engine, die sowohl Kernel als auch API-Aufrufe portiert.
Installationshandbücher für Intel®

oneAPI-Toolkits

Detaillierte Anweisungen zum Abrufen und Installieren von Intel® oneAPI-Paketen mit verschiedenen Installationsmodi und Paketmanagern.
Version der SYCL-Spezifikation

1.2.1 Pdf

Die SYCL-Spezifikation im PDF-Format. Erklärt, wie SYCL OpenCL-Geräte mit modernem C++ integriert.
SYCL 2020-Spezifikation PDF der SYCL 2020-Spezifikation.
Khronos* SYCL vorbeiview Ein überview von SYCL, bereitgestellt von der Khronos Group.
Kompilieren von CUDA mit Clang Beschreibung der CUDA-Unterstützung in clang.
Intel LLVM SYCL-Erweiterungen Vorgeschlagene Erweiterungen der SYCL-Spezifikation.
Ebenen für das Yocto*-Projekt Fügen Sie mithilfe der Meta-Intel-Schichten eine API-Komponente zu einem Yocto-Projekt hinzu.

Intel-Logo

Dokumente / Ressourcen

intel DPC++-Kompatibilitätstool [pdf] Benutzerhandbuch
DPC-Kompatibilitätstool, Kompatibilitätstool, Tool

Referenzen

Hinterlassen Sie eine Nachricht

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *