MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / do_set_ready

Method do_set_ready

src/core/impl/utils/comp_node_sync_manager.cpp:41–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39}
40
41void CompNodeSyncManager::do_set_ready() {
42 // nr_waiter must be nonzero (checked outside)
43 mgb_assert(m_comp_node.valid());
44 m_have_been_waited = true;
45 auto nr_ready = m_nr_ready.load();
46 mgb_assert(
47 !nr_ready,
48 "new ready event while"
49 " previous ones have not been fetched (%zu prev)",
50 nr_ready);
51 if (m_ready_event)
52 m_ready_event->record();
53
54 {
55 MGB_LOCK_GUARD(m_mtx);
56 m_nr_ready.store(m_nr_waiter);
57 m_cv.notify_all();
58 }
59}
60
61CompNodeSyncManager& CompNodeSyncManager::busy_wait_set_ready() {
62 mgb_assert(

Callers

nothing calls this directly

Calls 4

validMethod · 0.45
loadMethod · 0.45
recordMethod · 0.45
storeMethod · 0.45

Tested by

no test coverage detected