1 | #pragma once |
---|---|
2 | |
3 | #include <c10/util/Exception.h> |
4 | |
5 | #include <ostream> |
6 | #include <string> |
7 | |
8 | namespace at { |
9 | |
10 | enum class LinalgBackend : int8_t { Default, Cusolver, Magma }; |
11 | |
12 | inline std::string LinalgBackendToString(at::LinalgBackend backend) { |
13 | switch (backend) { |
14 | case LinalgBackend::Default: |
15 | return "at::LinalgBackend::Default"; |
16 | case LinalgBackend::Cusolver: |
17 | return "at::LinalgBackend::Cusolver"; |
18 | case LinalgBackend::Magma: |
19 | return "at::LinalgBackend::Magma"; |
20 | default: |
21 | TORCH_CHECK(false, "Unknown linalg backend"); |
22 | } |
23 | } |
24 | |
25 | inline std::ostream& operator<<( |
26 | std::ostream& stream, |
27 | at::LinalgBackend backend) { |
28 | return stream << LinalgBackendToString(backend); |
29 | } |
30 | |
31 | } // namespace at |
32 |