Skip to content
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

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
Open

Conversation

martijnbesamusca
Copy link

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.

@@ -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)}
Copy link
Collaborator

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)):
Copy link
Collaborator

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"
Copy link
Collaborator

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
Copy link
Collaborator

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
Copy link
Collaborator

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
Copy link
Collaborator

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]
Copy link
Collaborator

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants