summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/scoreboard.h
diff options
context:
space:
mode:
authorAndrew M. B. Boktor <[email protected]>2012-07-02 22:11:33 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:47:33 -0700
commitdadb44ad16727623476a1e6947453da81ed682c7 (patch)
tree095da91d5386468dbf28e3512ba8e02b2f5d110d /src/gpgpu-sim/scoreboard.h
parentbb96888d31d37760c86fa1aed3bbf203792185e7 (diff)
Adding a two level scheduler as described in the ISCA 2012 tutorial
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13261]
Diffstat (limited to 'src/gpgpu-sim/scoreboard.h')
-rw-r--r--src/gpgpu-sim/scoreboard.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gpgpu-sim/scoreboard.h b/src/gpgpu-sim/scoreboard.h
index e6d54c8..8559131 100644
--- a/src/gpgpu-sim/scoreboard.h
+++ b/src/gpgpu-sim/scoreboard.h
@@ -47,6 +47,7 @@ public:
bool checkCollision(unsigned wid, const inst_t *inst) const;
bool pendingWrites(unsigned wid) const;
void printContents() const;
+ const bool islongop(unsigned warp_id, unsigned regnum);
private:
void reserveRegister(unsigned wid, unsigned regnum);
@@ -55,6 +56,8 @@ private:
// keeps track of pending writes to registers
// indexed by warp id, reg_id => pending write count
std::vector< std::set<unsigned> > reg_table;
+ //Register that depend on a long operation (global, local or tex memory)
+ std::vector< std::set<unsigned> > longopregs;
};