-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathirf_ceilings.m
78 lines (64 loc) · 1.24 KB
/
irf_ceilings.m
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
l1=14*1e3/32; %B/s
l2=2.9968*1e3/32; %B/s
memBW=828/32;
peakiop=80*4*1*1.53;% ops
int_peakiop=80*4*1.38*0.5;
ldst_peakiop=80*4*1.38*0.25;
%ceilings L1
c=1;
cc=1;
flag=0;
x=logspace(-4,6,600);
for i=1:length(x);
if l1*x(i) < peakiop
ceiling2(c)=l1*x(i);
ceiling21(cc)=l1*x(i);
newx2(cc)=x(i)
cc=cc+1
else
ceiling2(c)=peakiop;
end
c=c+1
end
loglog(x,ceiling2,'k-','linewidth',2);
hold on
loglog(newx2,ceiling21,'r-','linewidth',2);
hold on
% ceilings HBM
c=1;
cc=1
for i=1:length(x);
if memBW*x(i) < peakiop;
ceiling1(c)=memBW*x(i);
ceiling12(cc)=memBW*x(i);
newx1(cc)=x(i)
cc=cc+1
else
ceiling1(c)=peakiop;
end
c=c+1;
end
loglog(x,ceiling1,'k-','linewidth',2);
hold on
loglog(newx1,ceiling12,'b-','linewidth',2);
hold on
%ceilings L2
memBW=l2;
c=1;
cc=1;
for i=1:length(x);
if memBW*x(i) < peakiop
ceiling4(c)=memBW*x(i);
ceiling42(cc)=memBW*x(i);
newx4(cc)=x(i)
cc=cc+1
else
ceiling4(c)=peakiop;
end
c=c+1;
end
loglog(x,ceiling4,'k-','linewidth',2);
hold on
loglog(newx4,ceiling42,'g-','linewidth',2);
hold on
grid on