From 4fce546cc9778b889bd07cf852be29b70a44f47d Mon Sep 17 00:00:00 2001 From: Tor Aamodt Date: Sat, 9 Oct 2010 07:58:44 -0800 Subject: Refactoring: 1. Moving mem_access_t to abstract_hardware_model and making set (queue) of accesses part of warp_inst_t. I.e., treat set of accesses as an ISA concept rather than a hardware organization concept. This is only partly "done"... logic for computing accesses is still part of shader_core_ctx in this CL. Given number of warp_inst_t accessors for accessq, now seems like we might even want to move some memory stage code into warp_inst_t class. How those accesses make it to memory system is the hardware concept. 2. Making warp_inst_t an explicit arguement of subroutines used in memory stage... The eventual goal here is (likely) to refactor memory into a hardware block... i.e., have function units be a class that contains some set of pipeline stages internally and some set of input/output "ports". 3. Moving accessor functions is_load, is_store; is_const, is_local into class declaration (where they belong). 4. Removing code for selecting pipeline uarch (might add it back later, but first want a clean GT200 organization). In particular, removing option to have an operand collector -- now you MUST have the operand collector. 5. Removing more deadcode from prior changes (fixed delay queue related) Scripts/configs: 6. Correlation script not printing out exit condition when hardware launch fails 7. Update config files to have proper compute model selected [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7834] --- src/abstract_hardware_model.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/abstract_hardware_model.cc') diff --git a/src/abstract_hardware_model.cc b/src/abstract_hardware_model.cc index a0e21f7..c52be1d 100644 --- a/src/abstract_hardware_model.cc +++ b/src/abstract_hardware_model.cc @@ -1,5 +1,8 @@ #include "abstract_hardware_model.h" #include "cuda-sim/memory.h" +#include + +unsigned mem_access_t::next_access_uid = 0; void move_warp( warp_inst_t *&dst, warp_inst_t *&src ) { @@ -19,3 +22,8 @@ gpgpu_t::gpgpu_t() g_dev_malloc=GLOBAL_HEAP_START; } + +void warp_inst_t::sort_accessq( unsigned qbegin ) +{ + std::stable_sort( m_accessq.begin()+qbegin,m_accessq.end()); +} -- cgit v1.3