2016-04-13 19 views
-1

Gegenwärtig fügen wir einem vorhandenen Embedded-PC mit 4 GB RAM und 32-Bit-Windows umfangreiche Verarbeitungsschritte hinzu.Kann ich CUDA in 32-Bit-Fenstern verwenden?

Wir haben eine 'riesige' Eingangsmatrix (100MB) und möchten einen intensiven Lernalgorithmus anwenden. Daher möchten wir eine GPU verwenden.

Es gibt jedoch Gerüchte, dass das Hinzufügen einer Grafikkarte dazu führen würde, dass Windows der Grafikkarte +3 GB (viel) Speicherplatz zuweisen würde.

Das würde bedeuten, dass ich entweder alles auf 64bit portieren muss, oder mit den verbleibenden 700MB auf dem Host leben muss.

Also die Frage: Ist das wahr? Verlangt CUDA, dass ich Speicherplatz freihalte oder alles 64bit bereit mache?

+1

Ich habe das mehrmals gelesen, und ich verstehe immer noch nicht, was Sie hier zu fragen versuchen. – talonmies

+0

@talonmies: alle Entschuldigungen. Ich habe versucht, die Frage in Menschen umzudeuten. – xtofl

Antwort

2

Wie aus CUDA Toolkit-Dokumentation von der Website des Nvidia:

india Entwicklung des CUDA Toolkit auf x86_32 verwendet wird nicht unterstützt.

Was können Sie tun, ist:

  • x64 Entwicklung auf einer x64-Maschine
  • x32 Quer Entwicklung auf einer x64-Maschine

also in beiden Fällen müssen Sie ein x64-Maschine und eine x64-Version des Windows-Betriebssystems.

Sie können überprüfen, was ich hier eingefügt habe, und vieles mehr über das CUDA Toolkit installation guide in Bezug auf Windows.

Bearbeiten: Es scheint, dass Sie Ihre Frage komplett neu geschrieben haben. Da Sie immer noch nicht die genaue Hardware zur Verfügung stellen, an der Sie arbeiten, ist es schwierig, richtig zu antworten. Was Sie wissen müssen, ist:

  • Desktop-Grafikkarte ihren eigenen dedizierten Speicher haben
  • Embedded Grafik einen dedizierten Speicherplatz im Systemspeicher

Ich weiß nicht haben müssen, wie Sie haben davon ausgegangen, dass es 3 der 4 GB Systemspeicher sein wird. Aber selbst wenn dies der Fall ist, wird es Sie nicht daran hindern, ein Programm mit mehreren GB Arbeitsspeicher auszuführen, wenn Sie in der Systemkonfiguration die richtigen Parameter für die Auslagerungsdatei haben. Wenn Caching auf der Festplatte auftritt, werden Sie sehr schlechte Leistungen haben (es sei denn, es ist auf einer sehr schnellen SSD), aber nichts, das Ihr Programm zum Laufen hindert.

+0

Entwicklung ist derzeit 32-Bit-Kreuz kompiliert - ich versuche, es zu 64-Bit-Kompilierung zu portieren. – xtofl

+0

Sie haben eine Verwechslung zwischen dem gesamten physischen Systemspeicher und der maximalen Speicherkapazität, die von Ihrem Programm verwendet werden kann. Selbst wenn Sie 64 GB Arbeitsspeicher auf Ihrem Computer haben, müssen Sie, wenn Ihr Programm nur für einige hundert MB arbeitet, keine 64-Bit-Kapazität verwenden.Wenn Sie mehr als das verwenden wollen, was Win32 erlaubt (2 GB, wenn ich mich daran erinnere, dass Ihr Code etwas Platz benötigt), dann müssen Sie x64 gehen. Übrigens sehe meine bearbeitete Antwort über eingebettete Grafiken und Auslagerungsdatei-Caching. – Taro