summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/shader.cc
diff options
context:
space:
mode:
authorJin Wang <[email protected]>2014-11-14 20:01:10 -0500
committerJin Wang <[email protected]>2016-07-06 02:17:15 -0400
commitbbcb492c0f6d887c4034bd15adf57420dd735c5e (patch)
tree7fb1ea922b6aa290a439526240feeeaef26c3739 /src/gpgpu-sim/shader.cc
parent8ef2e4eb13093c59190439800fdd0cc552a3779e (diff)
ADD: add separate cdp latency
Diffstat (limited to 'src/gpgpu-sim/shader.cc')
-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 e85c4a8..8ce2146 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -887,12 +887,13 @@ void scheduler_unit::cycle()
if(pI->m_is_cdp && !warp(warp_id).m_cdp_dummy) {
assert(warp(warp_id).m_cdp_latency == 0);
- extern unsigned cdp_latency[3];
- if(pI->m_is_cdp != 3)
+ extern unsigned cdp_latency[5];
+ if(pI->m_is_cdp == 1)
warp(warp_id).m_cdp_latency = cdp_latency[pI->m_is_cdp - 1];
- else //cudaLaunchDeviceV2
+ else //cudaLaunchDeviceV2 and cudaGetParameterBufferV2
warp(warp_id).m_cdp_latency = cdp_latency[pI->m_is_cdp - 1]
+ cdp_latency[pI->m_is_cdp] * active_mask.count();
+ printf("set latency %d\n", warp(warp_id).m_cdp_latency);
warp(warp_id).m_cdp_dummy = true;
break;
}