DFT-EFE
Loading...
Searching...
No Matches
DeviceExceptions.sycl.h
Go to the documentation of this file.
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (c) 2017-2022 The Regents of the University of Michigan and DFT-FE
4
// authors.
5
//
6
// This file is part of the DFT-FE code.
7
//
8
// The DFT-FE code is free software; you can use it, redistribute
9
// it, and/or modify it under the terms of the GNU Lesser General
10
// Public License as published by the Free Software Foundation; either
11
// version 2.1 of the License, or (at your option) any later version.
12
// The full text of the license can be found in the file LICENSE at
13
// the top level of the DFT-FE distribution.
14
//
15
// ---------------------------------------------------------------------
16
//
17
#ifndef dftefeDeviceExceptions_syclh
18
#define dftefeDeviceExceptions_syclh
19
20
#define DEVICE_API_CHECK(event) \
21
{ \
22
try \
23
{ \
24
event.wait(); \
25
} \
26
catch (const sycl::exception &e) \
27
{ \
28
std::cerr << "SYCL error in "
<< __func__ << " at " << __FILE__ << ":" \
29
<< __LINE__ << ". Error code: " << e.what() << ".\n"; \
30
} \
31
}
32
33
#define DEVICEBLAS_API_CHECK(expr) \
34
do \
35
{ \
36
try \
37
{ \
38
(void)(expr); \
39
} \
40
catch (sycl::exception const &__sycl_err) \
41
{ \
42
std::printf("oneMKL enqueue error in %s at %s:%d: %s\n"
, \
43
__func__, \
44
__FILE__, \
45
__LINE__, \
46
__sycl_err.what()); \
47
} \
48
} \
49
while (0)
50
51
#endif
// dftefeDeviceExceptions_syclh
src
utils
DeviceExceptions.sycl.h
Generated by
1.9.5