Commit 2f232d8d by Antonin Dudermel

### spellcheck conclusion

parent dd19a5ec
 ... ... @@ -6,7 +6,7 @@ During this internship we have been devising algorithm to allow the compilation of Faust programs on targets using fixed-point arithmetic. As fixed-point formats are very specific, except from beeing drastically suboptimal, one has to formats are very specific, except from being drastically suboptimal, one has to choose one fixed-point 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 scale-to-worse pass may be an intersting option: by implementing static floating-point may be an interesting option: by implementing static floating-point without-exponent, we are already sparing 8 bits per signal, plus silicon on complex circuits that handle exponent cases. \subsection{Medium-term Perspectives} \label{sec:medi-term-persp} Our upper bounds are for the moment far from being satisfying and useable 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. Similarily, 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 real-life usescases or only useless mathematical ourselves if those cases were real-life 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: est-ce qu'on touche à peu près tout avec filtres + échos + op linéaires} \subsection{Long-term Perspectives} \label{sec:long-term-persp} \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 state-of-the-art 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 Meta-theorem. So after having extracted from a given program an ILP problem, they just need to run on it any solver to get a nearly-optimal solution. Their work was on a small toy imperative turing-complete language, but it might be translated into Faust block-diagram Turing-complete language, but it might be translated into Faust block-diagram algebra. We also mentionned 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 floating-point 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 succeed 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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!