summaryrefslogtreecommitdiff
path: root/src/cuda-sim/cuda-sim.cc
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-07-17 19:37:23 -0800
committerTor Aamodt <[email protected]>2010-07-17 19:37:23 -0800
commit7e755bb656b68cfb628fcc0424b1325c32cb5d61 (patch)
treea054761e438c5d1f27ee9f2c92e76f476bdcbe31 /src/cuda-sim/cuda-sim.cc
parent619c0c87fd18a9b34d2bbcf9eb2711bbe07b8d9a (diff)
- added *implied* local memory stack pointer for functional execution
(still need to determine framesize during parsing, and need to support alternate mode were stack pointer is explicit register a la zev...) - define local param mapping to local memory for functional execution [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6875]
Diffstat (limited to 'src/cuda-sim/cuda-sim.cc')
-rw-r--r--src/cuda-sim/cuda-sim.cc12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/cuda-sim/cuda-sim.cc b/src/cuda-sim/cuda-sim.cc
index 41acd62..2f66d51 100644
--- a/src/cuda-sim/cuda-sim.cc
+++ b/src/cuda-sim/cuda-sim.cc
@@ -459,6 +459,7 @@ function_info::function_info(int entry_point )
m_kernel_info.lmem = 0;
m_kernel_info.regs = 0;
m_kernel_info.smem = 0;
+ m_local_mem_framesize = (unsigned)-1;
}
void function_info::print_insn( unsigned pc, FILE * fp ) const
@@ -986,11 +987,6 @@ void function_info::add_param_name_type_size( unsigned index, std::string name,
}
}
-void function_info::add_local_param_name_type_size( std::string name, int type, size_t size )
-{
- m_ptx_local_params[name] = param_info(name, type, size);
-}
-
void function_info::add_param_data( unsigned argn, struct gpgpu_ptx_sim_arg *args )
{
const void *data = args->m_start;
@@ -1345,11 +1341,9 @@ unsigned ptx_sim_init_thread( ptx_thread_info** thread_info,int sid,unsigned tid
unsigned max_cta_per_sm = num_threads/cta_size; // e.g., 256 / 48 = 5
assert( max_cta_per_sm > 0 );
- //following sm_idx calculation assumes shaders being filled up depth-first?
- unsigned sm_idx = sid*max_cta_per_sm + sm_offset; /* Is this assuming non-even block distribution? */
+ unsigned sm_idx = sid*max_cta_per_sm + sm_offset;
sm_idx = max_cta_per_sm*sid + tid/cta_size;
-
if (!gpgpu_option_spread_blocks_across_cores) {
// update offset...
if ( (sm_offset + 1) >= max_cta_per_sm ) {
@@ -1905,7 +1899,7 @@ void gpgpu_ptx_assemble( std::string kname, void *kinfo )
{
function_info *func_info = (function_info *)kinfo;
if( func_info->is_extern() ) {
- printf("GPGPU-Sim: skipping assembly for extern declared function \'%s\'", func_info->get_name().c_str() );
+ printf("GPGPU-Sim PTX: skipping assembly for extern declared function \'%s\'\n", func_info->get_name().c_str() );
return;
}
g_func_info = func_info;