• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2016 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  *
7  */
8 
9 #include <stdlib.h>
10 #include <stdio.h>
11 
12 //
13 //
14 //
15 
16 #include <cuda_runtime_api.h>
17 
18 //
19 //
20 //
21 
22 #include "assert_cuda.h"
23 
24 //
25 //
26 //
27 
28 cudaError_t
assert_cuda(cudaError_t const code,char const * const file,int const line,bool const abort)29 assert_cuda(cudaError_t  const code,
30             char const * const file,
31             int          const line,
32             bool         const abort)
33 {
34   if (code != cudaSuccess)
35     {
36       const char* const cuda_err_str = cudaGetErrorString(code);
37 
38       fprintf(stderr,
39               "\"%s\", line %d: assert_cuda ( %d ) = \"%s\"",
40               file,line,code,cuda_err_str);
41 
42       if (abort)
43         {
44           cudaDeviceReset();
45           exit(code);
46         }
47     }
48 
49   return code;
50 }
51 
52 //
53 //
54 //
55