Frage

Wie ich möchte, dass meine GPU für mich einen Teil von Berechnung durchführt, interessiere ich mich für das Thema der Messung einer Geschwindigkeit des Uploads und Herunterladens einer Geschwindigkeit des Textur -Uploads - weil meine "Texturen" die Daten sind, die GPU knüpfen sollten.

Ich weiß, dass die Übertragung vom Hauptspeicher in den GPU -Speicher die bevorstehende Möglichkeit ist. Ich gehe davon aus, dass eine solche Anwendung nur dann effizient ist, wenn viele Daten verarbeitet werden und nur wenige Ergebnisse zurückgelesen werden.

Wie auch immer, eine solche Benchmark -Anwendung? Ich meine, zur Messung des Hauptspeichers <> GPU -Übertragungsdurchsatz ...

Bearbeiten (Frage Klarstellung):

Sobald es eine Bewerbung gab, die Sie begonnen haben, gab es 2 Zahlen heraus:

  1. MB/S -Übertragungsrate zwischen dem Hauptspeicher und dem Grafikkartenspeicher, von Haupt- bis Diagramm, Textur -Upload

  2. MB/S -Übertragungsrate zwischen dem Hauptspeicher und dem Grafikkartenspeicher vom Diagramm bis zur Hauptdownload, Textur -Download

Ich würde mir nur wieder die Hände legen wollen.

Noch eine Bearbeitung (etwas gefunden):

Hier http://www.benchmarkhq.ru/english.html?/be_mm.html (Suche nach Texbench) ist eine App, die den Durchsatz in einen Weg misst ...

War es hilfreich?

Lösung

Um Host an die Gerätespeicherbandbreite zu messen, können Sie die verwenden bandwidthTest Beispiel aus dem CUDA SDK (herunterladen von der CUDA -Site).

Andere Tipps

Erstens: Der Unterschied zwischen globalem Speicher und Textur wird durch Cache definiert. Texturen haben es, globaler Speicher - nicht.

Zweitens: Die Übertragungsrate von einem Host zu einem (GPU) Gerät ist für Texturen und globaler Speicher gleich.

Drittens: Die Übertragungsrate von einem Host zu einem (GPU) -Gerät variiert mit der GPU-Erzeugung und wird durch PCI-Express-Bus und die Größe Ihrer Daten bestimmt.

Siehe zum Beispiel: http://www.accelereyes.com/wiki/index.php?title=gpu_Memory_transfer

Sie können das CUDA -Profil verwenden, um Ihnen die Zeit in CUDA -Funktionen zu teilen, einschließlich Speicherübertragungszeit. Sie können einen sehr einfachen Übertragungstestfall schreiben und messen dies. Dies wäre meiner Meinung nach besser, wenn Sie Ihre speziellen Testfälle messen.

Lookup cuda_profile und wie man es benutzt. http://www.drdobbs.com/cpp/209601096?pgno=2

Ihre Frage ist etwas schwer zu verstehen. Möchten Sie die Übertragung zwischen Host und GPU messen (Texturcache ist nicht wirklich relevant als) oder die Textur aus dem Kernel liest?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top