ConvolutedDog / HyFiSS

HyFiSS: A Hybrid Fidelity Stall-Aware Simulator for GPGPUs
2 stars 0 forks source link

What is the actual meaning of MEM_ACCESS_LATENCY? #2

Open DestroyGPU opened 1 week ago

DestroyGPU commented 1 week ago

Hi Authors,

I am trying to use the simulator and have been looking into the code. Could you please explain the actual meaning of MEM_ACCESS_LATENCY as calculated by the function private_L1_cache_stack_distance_evaluate_boost_no_concurrent in main.cc?

Additionally, regarding the LDST_UNIT in privateSM.cc line #1555: else if (token.find("STRONG") != std::string::npos) { (*inp.m_out[i]).set_latency(MEM_ACCESS_LATENCY, reg_id); What does STRONG mean in this context? Also, I don't see LDG being processed in this if statement. Is it missing here? Lastly, is this simulator capable of processing LDGSTS, which is used for async copy?

Looking forward to your reply! Thanks in advance!

ConvolutedDog commented 1 week ago

Since it has been some time since I last worked on these codes, I need to revisit them to clarify the specifics around the latency issue you've mentioned. And I'm also in the process of preparing the draft of the paper you requested. If you're looking to understand GPU microarchitecture, I recommend reading the Accel-Sim code. Our code greatly simplifies many details, so it might not be as suitable for the micro-architecture study of GPU.

I appreciate your interest and your waiting. I will make sure to get back to you as soon as possible.

DestroyGPU commented 1 week ago

Thanks for your reply! I am currently working on a GPU-related project and want to simulate its performance. Our project focuses more on the memory side rather than compute, so a simplified simulation may not be an issue as long as the simulator can model most aspects correctly.