2014-02-21 4 views
7

Ich studiere Cuda 5.5, aber ich habe keine Nvidia-GPU. In der alten Version von nvcc haben Sie ein Flag --multicore, um Cuda-Code für die CPU zu kompilieren. In der neuen Version von nvcc, was ist die Option? Ich arbeite an Linux.Compile Cuda-Code für die CPU

+0

Vielen Dank für die Erklärung von "Linux". Du brauchst wirklich eine GPU. Aber das nächstbeste Ding ist Ocelot: probier es aus. Ich bin mit "--multicore" nicht vertraut, und ich habe es nirgends auf der NVCC-Seite gesehen, also kann ich Ihnen dort nicht helfen. Aber ich denke, deine beste Wette ist 1) eine echte GPU oder 2) ein Emulator wie CUDA-Waste oder Ocelot. IMHO ... – FoggyDay

Antwort

5

CUDA-Toolkits seit mindestens CUDA 4.0 haben keine Möglichkeit unterstützt, Cuda-Code ohne GPU auszuführen.

Wenn Sie einfach Code kompilieren möchten, beziehen Sie sich auf this question.

Wenn Sie CUDA-Codes ausführen möchten, die mit CUDA 5.5 kompiliert wurden, benötigen Sie eine CUDA-fähige GPU. Wenn Sie ältere CUDA-Toolkits verwenden möchten, können Sie einen der verschiedenen Emulatoren installieren, z. B. this one.

Oder Sie könnten ein sehr altes (z. B. ~ CUDA 3.0) Cuda-Toolkit installieren, das CUDA-Codes auf der CPU ausführen kann.

+0

Wusste darüber ... Wie ist das möglich, einen Kernel auf einer CPU zu laufen? Muss die CPU Hyper-Threading oder so etwas haben? – Madhatter

+1

Es ist über Emulation. –

1

In aktuellen Versionen von CUDA werden Programme direkt debuggt, während sie auf der GPU ausgeführt werden. Dies ist den älteren Versionen von CUDA, die einen Emulator zum Debuggen verwendeten, weit überlegen. Die Debugging-Funktionen sind auch in aktuellen Versionen von CUDA viel mächtiger.

Wenn Sie also einen CUDA-Code schreiben möchten, erhalten Sie mit einer CUDA-fähigen GPU-Karte sofort einen Return on Investment, wenn Sie debuggen müssen.

Sie können eine ältere gebrauchte Karte für sehr wenig abholen. Untersuchen Sie die features of each of the compute capabilities, um festzustellen, wie weit Sie zurück gehen möchten.

Es gibt auch einige Seiten online, die Sie CUDA-Code testen lassen können. NVIDIA hat das CUDA test drive Programm. Das Intro to Parallel Programming course at Udacity enthält einen Online-CUDA-Compiler für die Codierungszuordnungen.

+0

Es geht nicht nur um den Return on Investment! Jede ernsthafte Anwendung sollte Tests haben und Sie möchten Tests auf jedem Computer ausführen können, auch wenn es langsamer ist. – dashesy