diff options
author | Joshua Bakita <jbakita@cs.unc.edu> | 2020-10-16 16:55:14 -0400 |
---|---|---|
committer | Joshua Bakita <jbakita@cs.unc.edu> | 2020-10-16 16:55:14 -0400 |
commit | 6ea9939e0610a809f6f47d13ec68df00d1ca0afc (patch) | |
tree | fe4a2eee3ddcf77e2367309dcd75a232b76dcd62 /dis/WSS_DOCS.md | |
parent | e9285d0cdea756a2830f0ace378e4197b36869aa (diff) |
Move the DIS benchmarks up a directory and update hardcoded paths
Note that this repo does not attempt to keep a copy of the original
DIS benchmark distributions. UNC real-time has another repo for that.
Diffstat (limited to 'dis/WSS_DOCS.md')
-rw-r--r-- | dis/WSS_DOCS.md | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/dis/WSS_DOCS.md b/dis/WSS_DOCS.md new file mode 100644 index 0000000..da5e066 --- /dev/null +++ b/dis/WSS_DOCS.md | |||
@@ -0,0 +1,83 @@ | |||
1 | # Documentation Mapping DIS Stressmark Parameters to WSS | ||
2 | |||
3 | ## Field | ||
4 | 1 allocation in main() | ||
5 | f = 1st input param | ||
6 | |||
7 | sizeof(unsigned char) * f | ||
8 | |||
9 | ## Matrix | ||
10 | 6 allocations in main(), 7 allocations in biConjugateGradient() | ||
11 | |||
12 | *Allocations in main()* | ||
13 | dim = 2nd input param | ||
14 | numberNonzero = 3nd input param | ||
15 | |||
16 | sizeof(double) * (dim^2+3dim+numberNonzero) + sizeof(int) * (2dim+1+numberNonzero) | ||
17 | |||
18 | *Allocations in biConjugateGradient()* | ||
19 | sizeof(double) * 7dim | ||
20 | |||
21 | ## Neighborhood | ||
22 | 1 allocation in createImage, 2 allocations in neighborhoodCalculation | ||
23 | |||
24 | *Allocations in createImage()* | ||
25 | dimension = 3rd input param | ||
26 | |||
27 | sizeof(short int) * dimension^2 | ||
28 | |||
29 | *Allocations in neighborhoodCalculation()* | ||
30 | bitDepth = 2nd param | ||
31 | |||
32 | sizeof(int) * (2^(bitDepth + 1) - 1) | ||
33 | |||
34 | ## Pointer | ||
35 | n = 5th input param | ||
36 | f = 1st input param | ||
37 | |||
38 | sizeof(unsigned int) * 4n + sizeof(int) * f | ||
39 | |||
40 | ## Transitive | ||
41 | n = 1st input param | ||
42 | |||
43 | sizeof(unsigned int) * 2n^2 | ||
44 | |||
45 | ## Update | ||
46 | f = 1st input param | ||
47 | |||
48 | sizeof(int) * f | ||
49 | |||
50 | ## Testplan | ||
51 | *Problem!* Larger WSS = more computations | ||
52 | Use testcase #1 for non-specified parameters | ||
53 | Below math computed for x86_64 | ||
54 | - Test WSS at powers of 2: 16 KiB, 32, 64, 128, 256, 512, 1MiB, 2, 4, 8, 16, 32 | ||
55 | - For each WSS, measure cache allocation of 0, 1, 2, 4, 8, 16 | ||
56 | |||
57 | ### Field | ||
58 | Just vary first param | ||
59 | |||
60 | f = WSS | ||
61 | |||
62 | ### Matrix | ||
63 | 0.3 - 16% number nonzero | ||
64 | - Fixed at 8% | ||
65 | Just vary dim (matrix size) | ||
66 | |||
67 | sizeof(double) * (dim^2+10dim+numberNonzero) + sizeof(int) * (2dim+1+numberNonzero) = WSS | ||
68 | |||
69 | |||
70 | ### Neighborhood | ||
71 | 8 or 15 bit depth | ||
72 | - Fix at 12? | ||
73 | Just vary dim (image size) | ||
74 | |||
75 | ### Pointer | ||
76 | 10 for n | ||
77 | Just vary f | ||
78 | |||
79 | ### Transitive | ||
80 | Just vary n | ||
81 | |||
82 | ### Update | ||
83 | Just vary f | ||