6 # define IMPORT __declspec(dllimport)
11 IMPORT int launch_kernel(int x);
13 int choose_cuda_device()
16 cudaError_t err = cudaGetDeviceCount(&nDevices);
17 if (err != cudaSuccess) {
18 std::cerr << "Failed to retrieve the number of CUDA enabled devices"
22 for (int i = 0; i < nDevices; ++i) {
24 cudaError_t err = cudaGetDeviceProperties(&prop, i);
25 if (err != cudaSuccess) {
26 std::cerr << "Could not retrieve properties from CUDA device " << i
30 std::cout << "prop.major: " << prop.major << std::endl;
31 err = cudaSetDevice(i);
32 if (err != cudaSuccess) {
33 std::cout << "Could not select CUDA device " << i << std::endl;
39 std::cout << "Could not find a CUDA enabled card" << std::endl;
46 int ret = choose_cuda_device();
53 err = cudaGetLastError();
54 if (err != cudaSuccess) {
55 std::cerr << "launch_kernel: kernel launch should have passed.\n "
57 << cudaGetErrorString(err) << std::endl;