ROCmFABackend.h 977 B

123456789101112131415161718192021222324252627282930313233343536
  1. #if !defined(TORCH_STABLE_ONLY) && !defined(TORCH_TARGET_VERSION)
  2. #pragma once
  3. #include <c10/util/Exception.h>
  4. #include <ostream>
  5. #include <string>
  6. namespace at {
  7. enum class ROCmFABackend : int8_t { Default, AOTriton, Ck };
  8. inline std::string ROCmFABackendToString(at::ROCmFABackend backend) {
  9. switch (backend) {
  10. case ROCmFABackend::Default:
  11. return "at::ROCmFABackend::Default";
  12. case ROCmFABackend::AOTriton:
  13. return "at::ROCmFABackend::AOTriton";
  14. case ROCmFABackend::Ck:
  15. return "at::ROCmFABackend::Ck";
  16. default:
  17. TORCH_CHECK(false, "Unknown ROCm flash attention backend")
  18. }
  19. }
  20. inline std::ostream& operator<<(
  21. std::ostream& stream,
  22. at::ROCmFABackend backend) {
  23. return stream << ROCmFABackendToString(backend);
  24. }
  25. } // namespace at
  26. #else
  27. #error "This file should not be included when either TORCH_STABLE_ONLY or TORCH_TARGET_VERSION is defined."
  28. #endif // !defined(TORCH_STABLE_ONLY) && !defined(TORCH_TARGET_VERSION)