summaryrefslogtreecommitdiff
path: root/src/cuda-sim/cuda-sim.cc
diff options
context:
space:
mode:
authorJin Wang <[email protected]>2016-07-01 06:54:46 -0400
committerJin Wang <[email protected]>2016-07-05 09:16:53 -0400
commitdafeb411265dbc0228889fe97d85b00f71363f10 (patch)
tree44c862f4b3d4f4ca9b50d714d93bc3fcd93d96f3 /src/cuda-sim/cuda-sim.cc
parent3656376ccd83d5c514389c4c3818f1969bc30e0c (diff)
MOD: compute child parameter size
Diffstat (limited to 'src/cuda-sim/cuda-sim.cc')
-rw-r--r--src/cuda-sim/cuda-sim.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/cuda-sim/cuda-sim.cc b/src/cuda-sim/cuda-sim.cc
index 980afc8..f5d8a88 100644
--- a/src/cuda-sim/cuda-sim.cc
+++ b/src/cuda-sim/cuda-sim.cc
@@ -1066,7 +1066,10 @@ void function_info::add_param_data( unsigned argn, struct gpgpu_ptx_sim_arg *arg
}
unsigned function_info::get_args_aligned_size() {
-
+
+ if(m_args_aligned_size >= 0)
+ return m_args_aligned_size;
+
unsigned param_address = 0;
unsigned int total_size = 0;
for( std::map<unsigned,param_info>::iterator i=m_ptx_kernel_param_info.begin(); i!=m_ptx_kernel_param_info.end(); i++ ) {
@@ -1081,7 +1084,9 @@ unsigned function_info::get_args_aligned_size() {
total_size += arg_size;
}
- return (total_size + 3) / 4 * 4; //final size aligned to word
+ m_args_aligned_size = (total_size + 3) / 4 * 4; //final size aligned to word
+
+ return m_args_aligned_size;
}