forked from alex-ferragni/alex-ferragni.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
116 lines (106 loc) · 5.33 KB
/
Copy pathindex.html
File metadata and controls
116 lines (106 loc) · 5.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<!DOCTYPE HTML>
<!--
Prism by TEMPLATED
templated.co @templatedco
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
-->
<html>
<head>
<title>Automatic Architecture Inference</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
<link rel="stylesheet" href="assets/css/main.css" />
<!--[if lte IE 9]><link rel="stylesheet" href="assets/css/ie9.css" /><![endif]-->
</head>
<body>
<!-- Banner -->
<section id="banner">
<div class="inner">
<section>
<h2>Automatic Architecture Inference</h2>
</section>
<section>
<p>Master Semester project, Fall 2019, Alex Ferragni</p>
</section>
</div>
</section>
<!-- Cache Size -->
<section id="one" class="wrapper">
<div class="inner split">
<section>
<h2>Cache Size</h2>
<p>Try to measure the size of your caches.</p>
<button id="startButton" class="button special" onclick="executeCacheSearch()">GO</button>
<p></p>
</section>
<section>
<h2>How to make it work</h2>
<p>
<strong>Reduce noise.</strong> It will need to take (more or less) precise measures by doing memory accesses, so try to reduce noise by exiting any unnecessary program that would use caches. Even scrolling in the console while it is running produces significant noise.</br>
<strong>Check you use Firefox.</strong> I works best with Firefox, but it can also work with Google Chrome. Under no circumstances should you use Safari, it just won't work. No guarantees with other browsers (No tests).</br>
<strong>Open the javascript console</strong> while you can, as soon as the script is launched, the page becomes unresponsive.</br>
<strong>Hit the GO button.</strong> The script will start, it should terminate within a few minutes</br>
<strong>Wait.</strong> Either the console prints "Done!" and the page displays some graphs below, or the console prints an error.</br>
<strong>Save results.</strong> Try to save the last console messages and the graphs, if it succeeded. If it failed or you aborted, try to save the last console messages.</br>
<strong>Thanks!</strong>
</p>
</section>
</div>
</section>
<!-- Cache Associativity -->
<section id="two" class="wrapper">
<div class="inner split">
<section>
<h2>Cache Associativity</h2>
<p>Try to measure the associativity of your caches.</p>
<button id="startButton" class="button special" onclick="executeSliceSearch(getStrideFromDiv())">GO</button>
<p></p>
<div id="cacheSizeInputContainer">
<div class="cacheSizeInput">
<input id="factor_div" type="number" min="1" max="99" value="1" size="4"></input>
<span>*2^</span>
<input id="power_div" type="number" min="10" max="24" value="15" size="4"></input>
<span>B</span>
</div>
</div>
<p>(Stride parameter, no need to change it, just in case)</p>
</section>
<section>
<h2>How to make it work</h2>
<p>
<strong>Reduce noise.</strong> It will need to take (more or less) precise measures by doing memory accesses, so try to reduce noise by exiting any unnecessary program that would use caches. Even scrolling in the console while it is running produces significant noise.</br>
<strong>Check you use Firefox.</strong> I works best with Firefox, but it can also work with Google Chrome. Under no circumstances should you use Safari, it just won't work. No guarantees with other browsers (No tests).</br>
<strong>Open the javascript console</strong> while you can, as soon as the script is launched, the page becomes unresponsive.</br>
<strong>Hit the GO button.</strong> The script will start, it may take a long time (more than 5-6 hours, maybe a day, I have yet to fully test).</br>
<strong>Wait.</strong> Either the console prints "Done!" and the page displays some graphs below, or the console prints an error, or the script is still running. A failed attempt might run unnecessarily long, feel free to abort after a reasonable time if you need to.</br>
<strong>Save results.</strong> Try to save the last console messages and the graphs, if it succeeded. If it failed or you aborted, try to save the last console messages and a message saying "summary of eviction sets found:", to see what went wrong and what it was doing.</br>
<strong>Thanks!</strong>
</p>
</section>
</div>
</section>
<!-- Plots -->
<section id="plots_section">
<div class="inner">
<div id="plots">
</div>
</div>
</section>
<!-- Scripts -->
<script type="text/javascript">
function getStrideFromDiv(){
return document.getElementById("factor_div").value * 2**(document.getElementById("power_div").value);
}
</script>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
<script src="assets/js/main.js"></script>
<script src="lib/d3.min.js"></script>
<script src="helpers.js"></script>
<script src="associativity.js"></script>
<script src="size.js"></script>
</body>
</html>