aboutsummaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/shader.h
diff options
context:
space:
mode:
authorTimothy G Rogers <[email protected]>2018-10-03 17:52:06 -0400
committerGitHub Enterprise <[email protected]>2018-10-03 17:52:06 -0400
commit73c95f79a8cc6fef19d787855b4c50df0edcb743 (patch)
tree6a118dd1529d647a0e01748b5e96e35a8b8cf56e /src/gpgpu-sim/shader.h
parent067eac2a618bbca0c6be019f047f14ecdb266efb (diff)
parentab80c6b75b7479caf8f0711ea1a6fbd7f93697f9 (diff)
Merge pull request #21 from abdallm/dev-purdue-integration
A few little things and some sizeable changes: Added memory partition indexing, some configuration file updates, fixed the texture cache so apps that use tex memory will no longer crash.
Diffstat (limited to 'src/gpgpu-sim/shader.h')
-rw-r--r--src/gpgpu-sim/shader.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h
index ae22eaa..e07096e 100644
--- a/src/gpgpu-sim/shader.h
+++ b/src/gpgpu-sim/shader.h
@@ -1155,6 +1155,7 @@ public:
void fill( mem_fetch *mf );
void flush();
+ void invalidate();
void writeback();
// accessors
@@ -1219,6 +1220,7 @@ protected:
mem_fetch *mf,
enum cache_request_status status );
mem_stage_stall_type process_memory_access_queue( cache_t *cache, warp_inst_t &inst );
+ mem_stage_stall_type process_memory_access_queue_l1cache( l1_cache *cache, warp_inst_t &inst );
const memory_config *m_memory_config;
class mem_fetch_interface *m_icnt;
@@ -1247,6 +1249,9 @@ protected:
// for debugging
unsigned long long m_last_inst_gpu_sim_cycle;
unsigned long long m_last_inst_gpu_tot_sim_cycle;
+
+ std::deque<mem_fetch* > l1_latency_queue;
+ void L1_latency_queue_cycle();
};
enum pipeline_stage_name_t {
@@ -1398,6 +1403,8 @@ struct shader_core_config : public core_config
int simt_core_sim_order;
+ unsigned smem_latency;
+
unsigned mem2device(unsigned memid) const { return memid + n_simt_clusters; }
//Jin: concurrent kernel on sm
@@ -1655,6 +1662,7 @@ public:
void issue_block2core( class kernel_info_t &kernel );
void cache_flush();
+ void cache_invalidate();
void accept_fetch_response( mem_fetch *mf );
void accept_ldst_unit_response( class mem_fetch * mf );
void broadcast_barrier_reduction(unsigned cta_id, unsigned bar_id,warp_set_t warps);
@@ -1947,6 +1955,7 @@ public:
void reinit();
unsigned issue_block2core();
void cache_flush();
+ void cache_invalidate();
bool icnt_injection_buffer_full(unsigned size, bool write);
void icnt_inject_request_packet(class mem_fetch *mf);