named_barrier.hpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /******************************************************************************
  2. * Copyright (c) 2024, Jay Shah, Ganesh Bikshandi, Ying Zhang, Vijay Thakkar, Pradeep Ramani, Tri Dao.
  3. ******************************************************************************/
  4. #pragma once
  5. #include "cutlass/arch/barrier.h"
  6. namespace flash {
  7. ////////////////////////////////////////////////////////////////////////////////////////////////////
  8. // Enumerates the reserved named barriers to avoid potential conflicts
  9. enum class FwdNamedBarriers {
  10. QueryEmpty = 0,
  11. ValueEmpty = 1,
  12. TileCountSmemEmpty = 2,
  13. TileCountSmemFull = 3,
  14. WarpSchedulerWG1 = 4,
  15. WarpSchedulerWG2 = 5,
  16. WarpSchedulerWG3 = 6,
  17. ProducerWG = 7
  18. };
  19. enum class BwdNamedBarriers {
  20. QueryEmpty = 0,
  21. KVEmpty = 1,
  22. TileCountSmemEmpty = 2,
  23. TileCountSmemFull = 3,
  24. // WarpSchedulerWG1 = 4,
  25. // WarpSchedulerWG2 = 5,
  26. dQEmptyWG1 = 4,
  27. dQEmptyWG2 = 5,
  28. dSFull = 6,
  29. // dSEmptyWG1 = 7,
  30. // dSEmptyWG2 = 8,
  31. dQEmpty = 7,
  32. dQFull = 8,
  33. };
  34. } // flash