summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-10-24 11:07:46 -0800
committerTor Aamodt <[email protected]>2010-10-24 11:07:46 -0800
commitad07a5645d60d1db972d1a063585deb1a9ac229c (patch)
treecfc5e041edb8a02fbdfdb03e1119a4770607f1f7 /src
parent9ce235efd70782eba687da0f3163ff0f3f2840ef (diff)
1. fix load imbalance issue (CTA's were filling up first core in a cluster before moving to next)
this improves correlation to 0.9471 2. update config to use sm_12 if available (goal: seems like BlackScholes has different ipc on hardware from before, this didn't help though) 3. update comparison scripts since no ld_const stuff was removed [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7911]
Diffstat (limited to 'src')
-rw-r--r--src/gpgpu-sim/shader.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index 20910be..f723b78 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -1996,10 +1996,10 @@ simt_core_cluster::simt_core_cluster( class gpgpu_sim *gpu,
const struct memory_config *mem_config,
shader_core_stats *stats )
{
- m_cta_issue_next_core=0;
+ m_config = config;
+ m_cta_issue_next_core=m_config->n_simt_cores_per_cluster-1; // this causes first launch to use hw cta 0
m_cluster_id=cluster_id;
m_gpu = gpu;
- m_config = config;
m_stats = stats;
m_core = new shader_core_ctx*[ config->n_simt_cores_per_cluster ];
for( unsigned i=0; i < config->n_simt_cores_per_cluster; i++ )
@@ -2043,10 +2043,11 @@ unsigned simt_core_cluster::issue_block2core( class kernel_info_t &kernel )
{
unsigned num_blocks_issued=0;
for( unsigned i=0; i < m_config->n_simt_cores_per_cluster; i++ ) {
- unsigned core = (i+m_cta_issue_next_core)%m_config->n_simt_cores_per_cluster;
+ unsigned core = (i+m_cta_issue_next_core+1)%m_config->n_simt_cores_per_cluster;
if( m_core[core]->get_n_active_cta() < m_config->max_cta(kernel) ) {
m_core[core]->issue_block2core(kernel);
num_blocks_issued++;
+ m_cta_issue_next_core=core;
break;
}
}