MCPcopy Create free account
hub / github.com/KnowingNothing/MatmulTutorial / ArrivalToken

Class ArrivalToken

include/pipeline.h:12–40  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10enum class BarrierStatus : uint32_t { WaitAgain = 0u, WaitDone = 1u };
11
12class ArrivalToken {
13 public:
14 HOST_DEVICE ArrivalToken(BarrierStatus barrier_status)
15 : barrier_status_(barrier_status) {}
16
17 HOST_DEVICE ArrivalToken() = delete;
18
19 HOST_DEVICE BarrierStatus get() const {
20 return barrier_status_;
21 ;
22 }
23
24 HOST_DEVICE bool operator==(ArrivalToken const& other) const {
25 return barrier_status_ == other.get();
26 }
27
28 private:
29 BarrierStatus barrier_status_;
30
31 HOST_DEVICE friend bool operator==(const ArrivalToken& left,
32 const BarrierStatus& right) {
33 return left.get() == right;
34 }
35
36 HOST_DEVICE friend bool operator==(const BarrierStatus& left,
37 const ArrivalToken& right) {
38 return left == right.get();
39 }
40};
41
42class ProducerToken : public ArrivalToken {
43 using ArrivalToken::ArrivalToken;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected