checkCUDNN

cudnn error checker

version(grain_cuda)
void
checkCUDNN
(
string file = __FILE__
size_t line = __LINE__
)
(
cudnnStatus_t err
)

Examples

example to launch kernel

1 import grain.kernel; // : saxpy;
2 
3 // Populate input
4 uint n = 16;
5 auto hostA = new float[n];
6 auto hostB = new float[n];
7 auto hostC = new float[n];
8 foreach (i; 0 .. n) {
9     hostA[i] = i;
10     hostB[i] = 2 * i;
11     hostC[i] = 0;
12 }
13 
14 // Device data
15 auto devA = CuPtr!float(hostA);
16 auto devB = CuPtr!float(hostB);
17 auto devC = CuPtr!float(n);
18 
19 // Kernel launch
20 Global.kernel!(saxpy).call(devC.ptr, devA.ptr, devB.ptr, n).launch(n);
21 
22 // Validation
23 devC.toHost(hostC);
24 foreach (i; 0 .. n) {
25     // writefln!"%f + %f = %f"(hostA[i], hostB[i], hostC[i]);
26     assert(hostA[i] + hostB[i] == hostC[i]);
27 }

Meta