Spherical Code Construction Vojin Šenk ([email protected]) Ivan Stanojević ([email protected])...
-
Upload
rhoda-mccarthy -
Category
Documents
-
view
213 -
download
0
Transcript of Spherical Code Construction Vojin Šenk ([email protected]) Ivan Stanojević ([email protected])...
![Page 1: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/1.jpg)
Spherical Code Construction
Vojin Šenk ([email protected])Ivan Stanojević ([email protected])
Mladen Kovačević ([email protected])
University of Novi Sad
1/20
![Page 2: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/2.jpg)
Problem Formulation• Given the dimension, D,
and the number of points, N, find vectors
r1,r2,...,rN,
on the unit sphere,
|rn|=((rn(1))2+(rn(2))2+...+ (rn(D))2)1/2=1,
such that their minimum distance,
dmin=minn≠m|rn - rm|,
is maximized.2/20
![Page 3: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/3.jpg)
Variable Repulsion Force Method• Algorithm overview:
• Randomly select initial vectors.• Iteratively move every vector
in the direction of the repulsion forceof other vectors,constraining it to the unit sphere.
• Change the dependence of the forceon the distance,such that closer vectors have greater influence and repeat.
3/20
![Page 4: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/4.jpg)
Variable Repulsion Force Method• Initial vector coordinates are chosen
according to the normal distribution
r'n(d):N(0,1),
and vectors are thenprojected on the unit sphere
rn=r'n/|r'n|.
• No directions are privileged.
4/20
![Page 5: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/5.jpg)
Variable Repulsion Force Method• Force from other vectors is calculated
according to the inverse power lawof the distance
F'n=∑m≠n (rn-rm)/|rn-rm|β.
• To avoid numerical difficulties,the force is normalized
Fn=F'n/|F'n|.
5/20
![Page 6: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/6.jpg)
Variable Repulsion Force Method• The point is moved in the direction
of the normalized forceand projected on the unit sphere,
r'n=rn+tnFn,rn:=r'n/|r'n|,
where
tn=δn/(2β),
and
δn=minm≠n|rn - rm|2.6/20
![Page 7: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/7.jpg)
Variable Repulsion Force Method• Since the force is being normalized,
it can be scaled before that.A convenient way to do it is
F'n=∑m≠n(δn/|rn - rm|2)β/2(rn - rm),
since squared distances are easier to calculate, and the expression in the first pair of parentheses is always ≤1.
• As β→∞,the closest points have the greatest influence,and the minimum distance is maximized.
7/20
![Page 8: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/8.jpg)
Variable Repulsion Force Method• Overview of steps for a single vector:
1. δn=minm≠n|rn - rm|2
2. F'n=∑m≠n(δn/|rn - rm|2)β/2(rn - rm)
3. Fn=F'n/|F'n|
4. r'n=rn+(δn/(2β))Fn
5. rn:=r'n/|r'n|
8/20
![Page 9: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/9.jpg)
dataflow engine
Implementation Architecture
floating point
floating point
fixed point
fixed point
host
S/P and type conversion
vector update
P/S and type conversion
9/20
![Page 10: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/10.jpg)
Vector Operations
++
+
• Addition (Subtraction)
10/20
![Page 11: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/11.jpg)
Vector Operations
• Multiplication by a scalar
××
×
11/20
![Page 12: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/12.jpg)
Vector Operations
• (Squared) Norm calculation
2 22
+
√
12/20
![Page 13: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/13.jpg)
High Level Pipeline• While rn is being calculated,
δn+1 can be calculated at the same time.δ1
r1 δ2
r2 δ3
r3 δ4
... ...rN-1 δN
rN• Total time = N(N+1) cycles.
time
13/20
![Page 14: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/14.jpg)
δ
Vector Update
F,r'
14/20
![Page 15: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/15.jpg)
Implementation Considerations• Maximum dimension of vectors, Dmax,
and their maximum number, Nmax,must be hardcoded in the dataflow structure.
• After fine tuning for MAX2,Dmax=6,Nmax=16384,with real numbers as signed fixed point [3].[44] (bits).
• N and D for a particular problem instanceare given as scalar inputs.
15/20
![Page 16: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/16.jpg)
Results
16/20
![Page 17: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/17.jpg)
Execution Times
17/20
![Page 18: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/18.jpg)
Power ConsumptionOperation Mode Power [W]Idle 68Software only execution 88Hardware accelerated execution 74
• CPU = Intel [email protected].• All measurements are performed
on the host mains cable.• Relative additional power savings:
(88-68)/(74-68)=3.33×18/20
![Page 19: Spherical Code Construction Vojin Šenk (vojin_senk@uns.ac.rs) Ivan Stanojević (cet_ivan@uns.ac.rs) Mladen Kovačević (kmladen@uns.ac.rs) University of Novi.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e365503460f94b24f48/html5/thumbnails/19.jpg)
Conclusion• Asymptotic acceleration = (18÷24)× .• More powerful hardware (e.g., MAX3)
would enable higher Dmax and Nmax
and higher speed.• Changing the dataflow structure
(e.g., to do vector operations serially)could also enable higher Dmax and Nmax
at the cost of lower speed.
19/20