summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/abstract_hardware_model.cc15
-rw-r--r--src/abstract_hardware_model.h18
2 files changed, 16 insertions, 17 deletions
diff --git a/src/abstract_hardware_model.cc b/src/abstract_hardware_model.cc
index fe10daa..1dddecd 100644
--- a/src/abstract_hardware_model.cc
+++ b/src/abstract_hardware_model.cc
@@ -41,8 +41,6 @@
#include <iostream>
#include "../libcuda/gpgpu_context.h"
-unsigned warp_inst_t::sm_next_uid = 0;
-
void mem_access_t::init(gpgpu_context* ctx)
{
gpgpu_ctx = ctx;
@@ -50,6 +48,19 @@ void mem_access_t::init(gpgpu_context* ctx)
m_addr=0;
m_req_size=0;
}
+void warp_inst_t::issue( const active_mask_t &mask, unsigned warp_id, unsigned long long cycle, int dynamic_warp_id, int sch_id )
+{
+ m_warp_active_mask = mask;
+ m_warp_issued_mask = mask;
+ m_uid = ++(m_config->gpgpu_ctx->warp_inst_sm_next_uid);
+ m_warp_id = warp_id;
+ m_dynamic_warp_id = dynamic_warp_id;
+ issue_cycle = cycle;
+ cycles = initiation_interval;
+ m_cache_hit=false;
+ m_empty=false;
+ m_scheduler_id=sch_id;
+}
checkpoint::checkpoint()
{
diff --git a/src/abstract_hardware_model.h b/src/abstract_hardware_model.h
index a22c8c3..519416d 100644
--- a/src/abstract_hardware_model.h
+++ b/src/abstract_hardware_model.h
@@ -958,19 +958,9 @@ public:
{
m_empty=true;
}
- void issue( const active_mask_t &mask, unsigned warp_id, unsigned long long cycle, int dynamic_warp_id, int sch_id )
- {
- m_warp_active_mask = mask;
- m_warp_issued_mask = mask;
- m_uid = ++sm_next_uid;
- m_warp_id = warp_id;
- m_dynamic_warp_id = dynamic_warp_id;
- issue_cycle = cycle;
- cycles = initiation_interval;
- m_cache_hit=false;
- m_empty=false;
- m_scheduler_id=sch_id;
- }
+
+ void issue( const active_mask_t &mask, unsigned warp_id, unsigned long long cycle, int dynamic_warp_id, int sch_id );
+
const active_mask_t & get_active_mask() const
{
return m_warp_active_mask;
@@ -1133,8 +1123,6 @@ protected:
bool m_mem_accesses_created;
std::list<mem_access_t> m_accessq;
- static unsigned sm_next_uid;
-
unsigned m_scheduler_id; //the scheduler that issues this inst
//Jin: cdp support