-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Level 3 cache #5
base: main
Are you sure you want to change the base?
Conversation
@@ -189,7 +213,7 @@ def plot_opaque_cube(ax, x=10, y=20, z=30, dx=40, dy=50, dz=60, color='cyan', al | |||
if (debug): | |||
print("DEBUG:: plot_opaque_cube: x=%d,y=%d,z=%d" %(x,y,z)) | |||
|
|||
kwargs = {'alpha': alpha, 'color': color, 'edgecolor': 'k', 'shade':False} | |||
kwargs = {'alpha': alpha, 'color': color, 'edgecolor': 'k', 'shade':False, 'zorder':1/(z+1)} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does the setting of zorder do?
ind += 1 | ||
if (inverted): | ||
layer_num = zdim-zz-1 | ||
else: | ||
layer_num = zz | ||
annotate_text = layer_type + " L"+ str(layer_num) | ||
if (zdim > 1 or zstart > 0): | ||
if (layer_type and (zdim > 1 or zstart > 0)): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does layer_type inside the if indicate? Shouldn't it be compared with something? Please check
if (arch_type == "DDR"): | ||
plot_type = "2D" | ||
# if (arch_type == "DDR"): | ||
# plot_type = "2D" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why did we remove this? We want to enforce 2D plotting if it is a DDR configuration chosen
ystart = (float)(banks_in_y)/cores_and_l3_in_y*cores_in_y | ||
zstart = 0 if inverted_view else banks_in_z | ||
else: | ||
xwidth = cores_in_x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe we are assuming that cache is always below the core. Just confirming
#core | ||
if (arch_type=="3D"): | ||
xwidth=(float)(banks_in_x)/cores_in_x | ||
ywidth=(float)(banks_in_y)/cores_in_y | ||
ywidth=(float)(banks_in_y)/cores_and_l3_in_y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we assume that cache_l3_width is in y-dimension only? Is there any notion of x-dimension also for cache?
@@ -405,7 +421,7 @@ def execute_core_hotspot(self, vdd_str): | |||
if (c_init_file_external!= "None") or (not first_run): | |||
c_hotspot_args += ' -init_file ' + c_init_file | |||
|
|||
#print hotspot_binary, hotspot_args |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need not comment out the hotspot_binary printing. Adding the core hotspot printing in next line is good, but this should be also retained.
#extract l3 data to later place it at the end | ||
if (power_l3): | ||
c_power_data = c_power_data.split('\t') | ||
l3_power_data = c_power_data[-2] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does -2 signify in this index?
Under the supervision of Anuj Pathania, I added level 3 cache support. This change adds stacked and non-stacked L3 cache to all architecture types (2D, 3Dmem, 2.5D & 3D).
8 new configurations are added based on the gainestown config, but with stacked or non-stacked l3 cache.cd
Also, other configurations with l3 cache can be made via new arguments in floorplanlib.
Heatview and simulationcontrol are both updated to support l3 cache.
My thesis contains a part about how to use my newly added code. I hope this looks good, if any changes or clarifications are needed let me know.