diff options
| author | Tor Aamodt <[email protected]> | 2010-07-17 19:37:23 -0800 |
|---|---|---|
| committer | Tor Aamodt <[email protected]> | 2010-07-17 19:37:23 -0800 |
| commit | 7e755bb656b68cfb628fcc0424b1325c32cb5d61 (patch) | |
| tree | a054761e438c5d1f27ee9f2c92e76f476bdcbe31 /src/cuda-sim/cuda-sim.cc | |
| parent | 619c0c87fd18a9b34d2bbcf9eb2711bbe07b8d9a (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.cc | 12 |
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; |
