LinalgBackend.h 719 B

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