diff options
| author | Tor Aamodt <[email protected]> | 2010-10-10 21:19:52 -0800 |
|---|---|---|
| committer | Tor Aamodt <[email protected]> | 2010-10-10 21:19:52 -0800 |
| commit | b3ce70a797756285ea9b15b3e5cf515d8b6a2b63 (patch) | |
| tree | 5b84d880e646f80611cc5b01931fdde622c5e06c /src/cuda-sim/ptx_parser.cc | |
| parent | 0151c5c566dcbcbb962acf35c86a8e0f4a4a6eb6 (diff) | |
1. create function unit classes for SP, SFU, LD/ST.
2. refactor memory stage into a ld/st function unit
3. refactor memory access generation (moved into warp_inst_t class)
the above should make supporting fermi uarch much easier
passing CUDA 3.1 regression
still need to...
(a) update scoreboard to keep count of outstanding memory requests
and use operand collector for writebacks into register file
(b) add back shared memory pipeline delay
(c) remove use of MSHR's for non-cached global/local accesses
(d) replace texture cache with a split tag/data array pipe
(e) re-implement memory_partition stuff so it makes more sense
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7844]
Diffstat (limited to 'src/cuda-sim/ptx_parser.cc')
| -rw-r--r-- | src/cuda-sim/ptx_parser.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cuda-sim/ptx_parser.cc b/src/cuda-sim/ptx_parser.cc index 5a65481..c4486a2 100644 --- a/src/cuda-sim/ptx_parser.cc +++ b/src/cuda-sim/ptx_parser.cc @@ -68,10 +68,10 @@ extern "C" int ptx_error( const char *s ); extern int ptx_lineno; -static unsigned g_warp_size; -void set_ptx_warp_size(unsigned warp_size) +static const struct shader_core_config *g_shader_core_config; +void set_ptx_warp_size(const struct shader_core_config * warp_size) { - g_warp_size=warp_size; + g_shader_core_config=warp_size; } static bool g_debug_ir_generation=false; @@ -292,7 +292,7 @@ const ptx_instruction *ptx_instruction_lookup( const char *filename, unsigned li void add_instruction() { DPRINTF("add_instruction: %s", ((g_opcode>0)?g_opcode_string[g_opcode]:"<label>") ); - assert( g_warp_size != 0 ); + assert( g_shader_core_config != 0 ); ptx_instruction *i = new ptx_instruction( g_opcode, g_pred, g_neg_pred, @@ -306,7 +306,7 @@ void add_instruction() g_filename, ptx_lineno, linebuf, - g_warp_size ); + g_shader_core_config ); g_instructions.push_back(i); g_inst_lookup[g_filename][ptx_lineno] = i; init_instruction_state(); |
