summaryrefslogtreecommitdiff
path: root/src/cuda-sim/cuda-sim.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/cuda-sim/cuda-sim.cc
parent8ef2e4eb13093c59190439800fdd0cc552a3779e (diff)
ADD: add separate cdp latency
Diffstat (limited to 'src/cuda-sim/cuda-sim.cc')
-rw-r--r--src/cuda-sim/cuda-sim.cc16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/cuda-sim/cuda-sim.cc b/src/cuda-sim/cuda-sim.cc
index 9ecd92b..c87e3e4 100644
--- a/src/cuda-sim/cuda-sim.cc
+++ b/src/cuda-sim/cuda-sim.cc
@@ -65,7 +65,7 @@ unsigned gpgpu_param_num_shaders = 0;
char *opcode_latency_int, *opcode_latency_fp, *opcode_latency_dp;
char *opcode_initiation_int, *opcode_initiation_fp, *opcode_initiation_dp;
char *cdp_latency_str;
-unsigned cdp_latency[4];
+unsigned cdp_latency[5];
void ptx_opcocde_latency_options (option_parser_t opp) {
option_parser_register(opp, "-ptx_opcode_latency_int", OPT_CSTR, &opcode_latency_int,
@@ -93,10 +93,11 @@ void ptx_opcocde_latency_options (option_parser_t opp) {
"Default 8,8,8,8,130",
"8,8,8,8,130");
option_parser_register(opp, "-cdp_latency", OPT_CSTR, &cdp_latency_str,
- "CDP API latency <cudaGetParameterBufferV2, cudaStreamCreateWithFlags, \
- cudaLaunchDeviceV2_initCTA, cudaLaunchDevicV2_perKernel>"
- "Default 1,7200,19320,1680",
- "1,7200,19320,1680");
+ "CDP API latency <cudaStreamCreateWithFlags, \
+cudaGetParameterBufferV2_init_perWarp, cudaGetParameterBufferV2_perKernel, \
+cudaLaunchDeviceV2_init_perWarp, cudaLaunchDevicV2_perKernel>"
+ "Default 7200,8000,100,12000,1600",
+ "7200,8000,100,12000,1600");
}
static address_type get_converge_point(address_type pc);
@@ -616,8 +617,9 @@ void ptx_instruction::set_opcode_and_latency()
sscanf(opcode_initiation_dp, "%u,%u,%u,%u,%u",
&dp_init[0],&dp_init[1],&dp_init[2],
&dp_init[3],&dp_init[4]);
- sscanf(cdp_latency_str, "%u,%u,%u,%u",
- &cdp_latency[0],&cdp_latency[1],&cdp_latency[2], &cdp_latency[3]);
+ sscanf(cdp_latency_str, "%u,%u,%u,%u,%u",
+ &cdp_latency[0],&cdp_latency[1],&cdp_latency[2],
+ &cdp_latency[3],&cdp_latency[4]);
if(!m_operands.empty()){
std::vector<operand_info>::iterator it;