Ich habe ein paar parallele Nsight-kompatible CUDA-GPUs. Die zweite (untere) ist mit meinem Monitor verbunden, und die erste (obere) ist als PhysX-Beschleuniger eingerichtet. Sie können deutlich sehen, meine Konfiguration unten.
Um nun CUDA-Debugging mit Nsight durchzuführen, muss ich den Kernel-Code nur auf der GPU ausführen, die nicht mit dem Monitor verbunden ist. Mein Computer ist bereits für "Headless Debugging" eingerichtet. Auch unten ist ein grundlegendes Beispiel für Code, den ich auf der anderen GPU ausführen möchte:
// KernelCall.cu
#include <iostream>
#include "cuda.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
__global__ void kernel(void){}
int main()
{
kernel<<<1,1>>>();
system("pause");
return 0;
}
Meine Frage ist im Grunde, was ich brauche, um in diesem Code zu setzen, so dass es nur auf dem anderen Gerät ausgeführt wird und erlauben mir, CUDA-Debugging durchführen?