1#pragma once
2
3#include <c10/util/Exception.h>
4
5#include <ostream>
6#include <string>
7
8namespace at {
9
10enum class LinalgBackend : int8_t { Default, Cusolver, Magma };
11
12inline 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
25inline std::ostream& operator<<(
26 std::ostream& stream,
27 at::LinalgBackend backend) {
28 return stream << LinalgBackendToString(backend);
29}
30
31} // namespace at
32