#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>
__global__ void funct(void){
printf("Hello from GPU!\n");
}
int main(void){
funct << < 2, 4 >> >();
for (int i = 0; i < 10; i++){
cudaDeviceReset();
//cudaDeviceSynchronize();
printf("Hello, World from CPU!\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我认为cudaDeviceReset的作用是cudamemcpy.这种情况我们没有数字的结果.所以我们无法使用cudamemcpy.但我们使用cudaDeviceReset返回四个"来自GPU的Hello!" 来自内核的结果.
是对的吗?
我用cudaDeviceSynchronize()替换了cudaDeviceRest().我看到了同样的结果.但我不知道他们之间的区别.
cuda ×1