summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gpgpu-sim/l2cache.cc3
-rw-r--r--src/gpgpu-sim/l2cache_trace.h16
-rw-r--r--src/trace_streams.tup1
3 files changed, 19 insertions, 1 deletions
diff --git a/src/gpgpu-sim/l2cache.cc b/src/gpgpu-sim/l2cache.cc
index 1df7858..fb0d588 100644
--- a/src/gpgpu-sim/l2cache.cc
+++ b/src/gpgpu-sim/l2cache.cc
@@ -79,7 +79,7 @@ void memory_partition_unit::handle_memcpy_to_gpu( size_t addr, unsigned global_s
unsigned p = global_sub_partition_id_to_local_id(global_subpart_id);
std::string mystring =
mask.to_string<char,std::string::traits_type,std::string::allocator_type>();
- MEMPART_DPRINTF("Copy Engine Request Received For Address=%zu, local_subpart=%u, sector_mask=%s \n", addr, p, mystring.c_str());
+ MEMPART_DPRINTF("Copy Engine Request Received For Address=%llx, local_subpart=%u, global_subpart=%u, sector_mask=%s \n", addr, p, global_subpart_id, mystring.c_str());
m_sub_partition[p]->force_l2_tag_update(addr,gpu_sim_cycle+gpu_tot_sim_cycle, mask);
}
@@ -407,6 +407,7 @@ void memory_sub_partition::cache_cycle( unsigned cycle )
enum cache_request_status status = m_L2cache->access(mf->get_addr(),mf,gpu_sim_cycle+gpu_tot_sim_cycle,events);
bool write_sent = was_write_sent(events);
bool read_sent = was_read_sent(events);
+ MEM_SUBPART_DPRINTF("Probing L2 cache Address=%llx, status=%u\n", mf->get_addr(), status);
if ( status == HIT ) {
if( !write_sent ) {
diff --git a/src/gpgpu-sim/l2cache_trace.h b/src/gpgpu-sim/l2cache_trace.h
index 3dac87d..2235cdc 100644
--- a/src/gpgpu-sim/l2cache_trace.h
+++ b/src/gpgpu-sim/l2cache_trace.h
@@ -34,6 +34,9 @@
#define MEMPART_PRINT_STR SIM_PRINT_STR " %d - "
#define MEMPART_DTRACE(x) ( DTRACE(x) && (Trace::sampling_memory_partition == -1 || Trace::sampling_memory_partition == (int)get_mpid()) )
+#define MEM_SUBPART_PRINT_STR SIM_PRINT_STR " %d - "
+#define MEM_SUBPART_DTRACE(x) ( DTRACE(x) && (Trace::sampling_memory_partition == -1 || Trace::sampling_memory_partition == (int)m_id) )
+
// Intended to be called from inside components of a memory partition
// Depends on a get_mpid() function
#define MEMPART_DPRINTF(...) do {\
@@ -46,10 +49,23 @@
}\
} while (0)
+#define MEM_SUBPART_DPRINTF(...) do {\
+ if (MEM_SUBPART_DTRACE(MEMORY_PARTITION_UNIT)) {\
+ printf( MEM_SUBPART_PRINT_STR,\
+ gpu_sim_cycle + gpu_tot_sim_cycle,\
+ Trace::trace_streams_str[Trace::MEMORY_SUBPARTITION_UNIT],\
+ m_id );\
+ printf(__VA_ARGS__);\
+ }\
+} while (0)
+
#else
#define MEMPART_DTRACE(x) (false)
#define MEMPART_DPRINTF(x, ...) do {} while (0)
+#define MEM_SUBPART_DTRACE(x) (false)
+#define MEM_SUBPART_DPRINTF(x, ...) do {} while (0)
+
#endif
diff --git a/src/trace_streams.tup b/src/trace_streams.tup
index bbc9bb3..3455a00 100644
--- a/src/trace_streams.tup
+++ b/src/trace_streams.tup
@@ -29,6 +29,7 @@ TS_TUP_BEGIN( trace_streams_type )
TS_TUP( WARP_SCHEDULER ),
TS_TUP( SCOREBOARD ),
TS_TUP( MEMORY_PARTITION_UNIT ),
+ TS_TUP( MEMORY_SUBPARTITION_UNIT ),
TS_TUP( INTERCONNECT ),
TS_TUP( NUM_TRACE_STREAMS )
TS_TUP_END( trace_streams_type )