Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
adud
rapportstagem2
Commits
2f232d8d
Commit
2f232d8d
authored
Jun 18, 2021
by
Antonin Dudermel
Browse files
spellcheck conclusion
parent
dd19a5ec
Changes
1
Hide whitespace changes
Inline
Sidebyside
report/concl.tex
View file @
2f232d8d
...
...
@@ 6,7 +6,7 @@
During this internship we have been devising algorithm to allow the compilation
of Faust programs on targets using fixedpoint arithmetic. As fixedpoint
formats are very specific, except from be
e
ing drastically suboptimal, one has to
formats are very specific, except from being drastically suboptimal, one has to
choose one fixedpoint format (MSB and LSB indexes) per signal. To determine the
MSB index of each signal, we proposed and implemented a bounding method based on
the abstract interpretation of the program on the interval lattice. Yet, as
...
...
@@ 37,18 +37,18 @@ datapath, but we no longer risk overflow, besides, we increase accuracy for
signals bounded by values smaller than
\(
1
/
2
\)
.
If there is no interest in the accuracy of the result, the scaletoworse pass
may be an intersting option: by implementing static floatingpoint
may be an inter
e
sting option: by implementing static floatingpoint
withoutexponent, we are already sparing 8 bits per signal, plus silicon on
complex circuits that handle exponent cases.
\subsection
{
Mediumterm Perspectives
}
\label
{
sec:meditermpersp
}
Our upper bounds are for the moment far from being satisfying and us
e
able in
Our upper bounds are for the moment far from being satisfying and usable in
practice. Yet, each improvement on the interval library and on the normal forms
will also improve the abstract analysis. So there is hope that the new interval
arithmetic library actually in development by the Faust team will improve the
upper bound. Similar
i
ly, there might be interesting work to be done on the
upper bound. Similarly, there might be interesting work to be done on the
normal form concerning delays. For the moment
\lstinline
{
1' + 2'
}
(the constant
signal 1 delayed by one sample (
\ie
{}
the signal
\(
s
(
0
)
=
0
, s
(
t
)
=
1
, t >
0
\)
plus the constant signal 2 delayed by one sample) is equivalent to the signals
...
...
@@ 65,26 +65,21 @@ compressor output is bounded by \(1\).
Finally, we stated that there were necessarily impossible cases do define
upperbounds which requires manual annotations of the code, yet we did not asked
ourselves if those cases were reallife use
s
cases or only useless mathematical
ourselves if those cases were reallife usecases or only useless mathematical
counterexamples. A good question to answer would be to know which are the mainly
used processors on which we need to concentrate our efforts (we already know
that filters are very important (smooth and biquads), ramps (to scan an array),
linear operators (in additive synthesis, such as the bell), long delays also (for
echoes), but are there others ?)
\todo
{
se demander quelles sont les choses importantes dans Faust: estce qu'on
touche à peu près tout avec filtres + échos + op linéaires
}
\subsection
{
Longterm Perspectives
}
\label
{
sec:longtermpersp
}
\todo
{
détection de filtres (ODIN), parler du problème des filtres à écho et des
filtres à sliders
}
\todo
{
ILP, approche statistiques
}
\todo
{
statistical approach
}
The aim of this internship was do devise tools that can be embedded within the
Faust compiler. As this seems to be a tremendous task (to be efficient on LSB,
we should at least reimplement a consequent subset of MPFR in the compiler), we
we should at least re

implement a consequent subset of MPFR in the compiler), we
might consider an approach using external tools to annotate Faust programs
before feeding them to the compiler. With this we could interface
stateoftheart tools do devise some parts of the Faust program. There is for
...
...
@@ 94,10 +89,10 @@ LSB computations by describing them as variables on an Integer Linear Program
integer one using an ILP Metatheorem. So after having extracted from a given
program an ILP problem, they just need to run on it any solver to get a
nearlyoptimal solution. Their work was on a small toy imperative
t
uringcomplete language, but it might be translated into Faust blockdiagram
T
uringcomplete language, but it might be translated into Faust blockdiagram
algebra.
We also mention
n
ed twice the work in
\cite
{
volkova2017reliableimplementation
}
.
We also mentioned twice the work in
\cite
{
volkova2017reliableimplementation
}
.
The algorithm implemented in this thesis is to rewrite the equation
\(
y
(
t
)
=
\sum
_{
k
=
0
}^
M b
_
kx
(
t

k
)

\sum
_{
k
=
1
}^
Na
_
ky
(
t

k
)
\)
as a matrix linear
relation coming from the theory of control systems (recall that
...
...
@@ 129,7 +124,6 @@ characteristics 1. saves the user the need of computing filter coefficients
corresponding to the wanted characteristics and 2. gives one more degree of
freedom to the filter designer that allows to do more efficient accurate filters.
Although equality saturation
\cite
{
willsey2021eggfast
}
was not the subject of
this internship, it would be interesting to implement it in the Faust
compiler. As hard as it may be, Faust already needed the complex tools used in
...
...
@@ 141,7 +135,7 @@ expression.
Something we did not study is operator recycling. Indeed, in HLS, when an
operator, for instance a floatingpoint adder, must be used in two parts of a
circuit, the HLS may succed to use a single circuit to do both computations
circuit, the HLS may succe
e
d to use a single circuit to do both computations
(with for instance pipeline). Yet, by designing one format per signal, we
completely loose the redundancy of operators (we will have an adder for inputs
in
\(
\sfix
(
0
,

23
)
\)
, another for inputs in
\(
\sfix
(
0
,

21
)
\)
, etc
\dots
). So,
...
...
@@ 150,7 +144,6 @@ even by computing less bits, we could use more silicon. This has been studied in
by increasing accuracy, computing useless bits but setting many operators at the
same format, in order to use one implementation for many operators.
\todo
{
parler d'analyse statistique
}
\end{document}
%%% Local IspellDict: en
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment