Warum stimmt das Objekt, das ich gerade in CUDA erstellt habe, nicht mit dem überein, wie es aussieht, kurz bevor es vomC++

Programme in C++. Entwicklerforum
Anonymous
 Warum stimmt das Objekt, das ich gerade in CUDA erstellt habe, nicht mit dem überein, wie es aussieht, kurz bevor es vom

Post by Anonymous »

Ich schreibe CUDA alles auf dem Gerät. Ich habe eine Klasse zum Emulieren von Strings, da die String-Klasse nicht auf einer GPU verwendet werden kann. Meine Klasse hat wchar_t * string in data_ und einen size_ für die Länge des Strings. Ich rufe den Konstruktor an einer Stelle auf, wenn ich eine neue Variableninstanz erstelle, und im Konstruktor läuft alles gut. Kurz bevor ich zurückkomme, kann ich sehen, dass es immer noch in Ordnung ist. Aber sobald ich zurückkomme, ist es Müll, selbst für die Größe_, und der Speicherort scheint sich leicht verschoben zu haben (was den Müll erklären könnte). Das Problem mit Müll für size_ verschwindet, wenn ich cudaMalloc nicht im
Konstruktor mache (dh wenn ich nur _size auf len setze, kommt es vom Konstruktor einwandfrei zurück).
Die Demontage einer GPU ist mir fremd, daher ist es bei der Rückkehr zum Anrufer schwer zu sagen, was falsch läuft.
Angesichts dieses Codes:

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post