# A shifted Mahler measure identity for Boyd’s family

Quanli Yang<EMAIL_ADDRESS>School of Mathematical Sciences,
University of Chinese Academy of Sciences
Beijing, 100049, P. R. China,
Hang Liu111Corresponding author College of Mathematics and Statistics,
Shenzhen University
Shenzhen, Guangdong, 518060, P. R. China
<EMAIL_ADDRESS>Guoping Tang  School of Mathematical Sciences, University
of Chinese Academy of Sciences
Beijing, 100049, P. R. China
<EMAIL_ADDRESS>
###### Abstract

Recently the second author and Qin numerically verified some Mahler measure
identities of genus 2 and 3 polynomial families. In this paper, we use the
elliptic regulator to prove an identity invoving shifted Mahler measure for
Boyd’s family.

###### keywords:

Mahler measure; genus 2 curves; elliptic curve; elliptic regulator.

Mathematics Subject Classification 2010:11R06, 11G05, 19F27

##  1 Introduction

The (logarithmic) Mahler measure of a non-zero rational function
$P\in\mathbb{C}(x_{1},\cdots,x_{n})$ is defined by

$\displaystyle m(P):=\frac{1}{(2\pi
i)^{n}}\int_{\mathbb{T}^{n}}\log|P(x_{1},\cdots,x_{n})|\frac{dx_{1}}{x_{1}}\cdots\frac{dx_{n}}{x_{n}}$

where the integration is taken over the unit torus
$\mathbb{T}^{n}=\\{(x_{1},\cdots,x_{n})\in\mathbb{C}^{n}:|x_{1}|=\cdots=|x_{n}|=1\\}.$

For one-variable polynomials, by the famous Jensen’s formula [5, page 6], the
Mahler measures depend only on the roots of the polynomials. For multivariate
polynomials, there are many results that establish the relationship between
special value of $L$-functions of arithmetic-geometric objects and these
Mahler measures. In his seminal work, Deninger [6] related the Mahler measures
to regulator integrals and hence found some relationship between the Mahler
measures and special values of $L$-functions by means of Beilinson’s
conjectures.

Boyd [3] numerically studied the Mahler measures of families of polynomials
like $A(x)y^{2}+B_{k}(x)y+C(x)$. For the Boyd’s family
$Q_{k}(x,y)=y^{2}+(x^{4}+kx^{3}+2kx^{2}+kx+1)y+x^{4}$ and
$P_{k}(x,y)=(x+1)(y+1)(x+y)-kxy$, Bertin and Zudilin [1] proved the following
relation which was later reproved by Lalin and Wu [9] using the regulator
theory

$\displaystyle m(Q_{k})=\begin{cases}2m(P_{k}),&\quad 0\leqslant k\leqslant
4,\\\ m(P_{k}),&\quad k\leqslant-1.\end{cases}$

All these families are reciprocal polynomials which are easier to deal with
than non-reciprocal polynomials by a relatively standard procedure.

The second author and Qin [11] generalized Boyd’s method of constructing
reciprocal polynomials, obtained more types of polynomials, and proposed many
conjectural Mahler measure identities. For $Q_{k}(x-1,y),P_{k}(x,y)$ and
$R_{k}(x,y)=x+\frac{1}{x}+y+\frac{1}{y}+(k-4)$, they numerical verified a
relation between the Mahler measures of these polynomials. While we are
writing this article, we find Ringeling and Zudilin [12] proved the relation
using a diamond-free method. In this article, we prove it in Theorem 1.1 by
the regulator theory which follows more closely on how the second author and
Qin found this relation. We hope the two methods could complement each other.

######  Theorem 1.1.

Let $P_{k},Q_{k},R_{k}$ be as above. We have

$\displaystyle m(Q_{k}(x-1,y))=\begin{cases}m(R_{k})\qquad&k\leqslant-1,\\\
\frac{1}{2}(m(P_{k})+m(R_{k}))\qquad&k\geqslant 17.\end{cases}$

This paper is organized as follows. Section 2 reviews some important
definitions and famous results that we need. In Section 3, we calculate the
diamond operators related to these three families of polynomials. In Section
4, we analyze their Deninger paths. In Section 5, we synthesize the results
obtained in Sections 3 and 4 and prove Theorem 1.1.

##  2 $K_{2}$ and the regulator theory

Let $F$ be a field, a Steinberg symbol on $F$ is a bilinear map

$\displaystyle c:F^{*}\times F^{*}\longrightarrow A$

where $A$ is an abelian group whose operation we write multiplicatively for
the moment, which satisfies the following condition:

$\displaystyle c(a,1-a)=1,\quad\text{for all }a\in F^{*}-\\{1\\}.$

By Matsumoto’s theorem, the second $K$-group of $F$ can be described as

$\displaystyle K_{2}(F)\cong F^{*}\otimes_{\mathbb{Z}}F^{*}/\langle
a\otimes(1-a):a\in F,a\neq 0,1\rangle.$

We also call the class $\\{a,b\\}$ of $a\otimes b$ in $K_{2}(F)$ the Steinberg
symbol.

Let $f,g\in\mathbb{Q}(C)$. We can define a real-meromorphic differential
1-form

$\displaystyle\eta(\\{f,g\\}):=\log|f|d\arg g-\log|g|d\arg f,$

where $d\arg f$ is defined by $\text{Im}(df/f)$, $\eta$ is defined outside the
zeros and poles of $f$ and $g$.

Beilinson’s conjecture relates $K$-theory of varieties to special values of
their $L$-functions via the so-called _regulator_. There is a well defined
paring between the tame $K_{2}$ group $K_{2}^{T}(C)\subseteq
K_{2}(\mathbb{Q}(C))$ and $H_{1}(C(\mathbb{C}),\mathbb{Z})$, giving us the
_regulator pairing_

$\displaystyle\langle\cdotp,\cdotp\rangle:H_{1}(X;\mathbb{Z})\times
K_{2}^{T}(C)/\text{torsion}\rightarrow\mathbb{R}$
$\displaystyle(\gamma,\alpha)\mapsto\frac{1}{2\pi}\int_{\gamma}\eta(\alpha).$

Let $C$ be the normalization of the projective closure of the algebraic curve
defined by $P(x,y)\in\mathbb{C}[x,y]$. Then $\\{x,y\\}\in
K_{2}^{T}(C)\otimes\mathbb{Q}$ is equivalent to $P$ being tempered, $i.e.$,
the roots of all the face polynomials of $P$ are roots of unity. Denote the
degree of $P$ in $y$ by $d$. Write

$\displaystyle P(x,y)=a_{0}(x)\prod_{k=1}^{d}(y-y_{k}(x)),$

where $y_{k}(x),k=1,\cdots,d$ are $d$ solutions of $P(x,y)=0$ which maybe
chosen to be continuous, piecewise analytic functions of $x$. By Jensen’s
formula with respect to the variable $y$, we have

$\displaystyle m(P)-m(a_{0}(x))$ $\displaystyle=\frac{1}{(2\pi
i)^{2}}\int_{\mathbb{T}^{2}}\sum_{k=1}^{d}\log|y-y_{k}(x)\frac{dx}{x}\frac{dy}{y}$
$\displaystyle=\frac{1}{2\pi
i}\int_{\mathbb{T}^{1}}\sum_{k=1}^{d}\log^{+}|y_{k}(x)|\frac{dx}{x},$

where $\log^{+}|u|:=\max(\log|u|,0).$

In particular, if $d=2$ and $|y_{2}(x)|\leqslant 1$ as long as $|x|=1$ (this
happens if $P$ is reciprocal). Then the above formula can be written as

$\displaystyle\begin{split}m(P)-m(a_{0}(x))&=\frac{1}{2\pi
i}\int_{S}\log|y_{1}(x)|\frac{dx}{x}\\\
&=-\frac{1}{2\pi}\int_{S}\eta(\\{x,y\\}),\end{split}$ (1)

where $S=\\{(x,y):|x|=1,|y_{1}(x)|\geqslant 1\\}.$ When $S$ can be seen as a
cycle in $H_{1}(C,\mathbb{Z})$, then we recover a regulator integral.

The Bloch-Wigner dilogarithm is defined as

$\displaystyle
D(z):=\log|z|\arg(1-z)-\text{Im}\left(\int_{0}^{z}\log(1-t)\frac{dt}{t}\right),$

where we take the principal branch of the arg function and the path of
integration is a straight line segment from 0 to $z$. This is defined on
$\\{z\in\mathbb{C}:0<|z|<1\\}$, but it can be extended to a real-valued
continuous function on $\mathbb{C}\cup\\{\infty\\}$ which is real-analytic on
$\mathbb{C}-\\{0,1\\}$.

Let $E$ be an elliptic curve over $\mathbb{C}$, choosing $\tau\in
H=\\{z:\text{Im}z>0\\}$ such that
$E(\mathbb{C})\cong\mathbb{C}/(\mathbb{Z}+\mathbb{Z}\tau)$ and set $q=e^{2\pi
i\tau}$. A complex point $P$ on $E$ corresponds an element
$u+(\mathbb{Z}+\mathbb{Z}\tau)$ of $\mathbb{C}/(\mathbb{Z}+\mathbb{Z}\tau)$.
Writing $z=e^{2\pi iu}$, then the _elliptic dilogarithm_ is defined as follows

$\displaystyle D^{E}(P):=\underset{l\in\mathbb{Z}}{\sum}D(zq^{l}),$

which we view as a function from $E(\mathbb{C})$ to $\mathbb{R}$.

Let $\mathbb{Z}[E(\mathbb{C})]$ be the group of divisors on $E$ and let

$\displaystyle\mathbb{Z}[E(\mathbb{C})]^{-}\cong\mathbb{Z}[E(\mathbb{C})]/\langle(P)+(-P):P\in
E(\mathbb{C})\rangle.$

Let $f,g\in\mathbb{C}(E)^{\times}$, we define a diamond operation by

$\displaystyle\diamond:\varLambda^{2}\mathbb{C}(E)^{\times}\rightarrow\mathbb{Z}[E(\mathbb{C})]^{-}$
$\displaystyle f\diamond g=\underset{i,j}{\sum}m_{i}n_{j}(S_{i}-T_{j}),$

where the divisors of $f$ and $g$ are

$\displaystyle(f)=\underset{i}{\sum}m_{i}(S_{i})\quad\text{and}\quad(g)=\underset{j}{\sum}n_{j}(T_{j}).$

######  Lemma 2.1.

The _elliptic dilogarithm_ $D^{E}$ extends by linearity to a map from
$\mathbb{Z}[E(\mathbb{Q})]^{-}$ to $\mathbb{C}$. Let $f,g\in\mathbb{Q}(E)$ and
$\\{f,g\\}\in K_{2}(E)$.Then

$\displaystyle r_{E}(\\{f,g\\})[\gamma]=D^{E}((f)\diamond(g)),$

where $[\gamma]$ is a generator of $H_{1}(E,\mathbb{Z})^{-}$.

Let $\sigma$ be an automorphism of order 2 of $C$ and let $f:C\rightarrow
C/\langle\sigma\rangle$ be the quotient map. Let $M\in K_{2}^{T}(C)$, then we
have

$\displaystyle f^{*}f_{*}(M)$ $\displaystyle=M\sigma(M),$ (2)
$\displaystyle\int_{\gamma}\eta(f^{*}f_{*}(M))$
$\displaystyle=\int_{f(\gamma)}\eta(f_{*}(M)),$ (3)

where $f_{*}$ is the transfer homomorphism and $f^{*}$ is the restriction
homomorphism. $M$ may not be pushed directly to the quotient curve, however
there are some ways to push it down to the quotient curve, see Lemma 3.4 or
Bosman [2] for more details.

##  3 The diamond operators and the relation between the regulators

In this section, we first compute the pushforward of $M_{1}=\\{x,y\\}$ and
$M_{2}=\\{x+1,y\\}$ in the $K_{2}$ of the genus 2 family given by $Q_{k}(x,y)$
down to the quotient curves of genus 1. Then we compare these pushforwards
with the nature elements in $K_{2}$ of these quotient curves by comparing the
diamond operators of these elements.

###  3.1 The genus 2 family

The reciprocal family $Q_{k}(x,y)=y^{2}+(x^{4}+kx^{3}+2kx^{2}+kx+1)y+x^{4}$
generally defines a genus 2 curve $Z_{k}:Q_{k}(x,y)=0$, we can make a
birational transformation

$\begin{cases}x=\frac{X_{1}+1}{X_{1}-1}\qquad\qquad\qquad&X_{1}=\frac{x_{1}+1}{x_{1}-1}\\\
y=\frac{2X_{1}Y_{1}-(2k+1)X_{1}^{4}+(2k-6)X_{1}^{2}-1}{(X_{1}-1)^{4}}&Y_{1}=\frac{4(y^{2}-x^{4})}{y(x-1)^{3}(x+1)},\end{cases}$

where $Z_{k}^{\prime}$ is the curve given by

$Y_{1}^{2}=(k^{2}+k)X_{1}^{6}+(-2k^{2}+5k+4)X_{1}^{4}+(k^{2}-5k+8)X_{1}^{2}-k+4.$

Let $h(v)=(k^{2}+k)v^{3}+(-2k^{2}+5k+4)v^{2}+(k^{2}-5k+8)v-k+4$. Then
$Z_{k}^{\prime}$ is defined by $Y_{1}^{2}=h(X_{1}^{2})$. We can see
$Z_{k}^{\prime}$ has two automorphisms $\sigma_{1}:X_{1}\rightarrow-
X_{1},Y_{1}\rightarrow Y_{2}$ (this corresponds to the automorphism
$x\rightarrow\frac{1}{x},y\rightarrow\frac{1}{y}$ of $Z_{k}$) and
$\sigma_{2}:X_{1}\rightarrow-X_{1},Y_{1}\rightarrow-Y_{1}$ (this corresponds
to the automorphism $x\rightarrow\frac{1}{x},y\rightarrow\frac{y}{x^{4}}$ of
$Z_{k}$).

There are two quotient maps

$\displaystyle f_{1}:Z_{k}$ $\displaystyle\rightarrow
Z_{k}/\langle\sigma_{1}\rangle:W_{0}^{2}=h(Z_{0})$
$\displaystyle(X_{1},Y_{1})\mapsto(X_{1}^{2},Y_{1}),$

and

$\displaystyle f_{2}:Z_{k}\rightarrow Z_{k}/\langle\sigma_{2}\rangle$
$\displaystyle(X_{1},Y_{1})\mapsto\left(\frac{1}{X_{1}^{2}},\frac{Y_{1}}{X_{1}^{3}}\right),$

where
$Z_{k}/\langle\sigma_{2}\rangle:W^{2}=Z^{3}h\left(\frac{1}{Z}\right)=(4-k)Z^{3}+(k^{2}-5k+8)Z^{2}+(-2k^{2}+5k+4)Z+k^{2}+k$.
Making a second transformation

$\begin{cases}(4-K)Z=X\\\ (4-K)W=Y,\end{cases}$

we have an isomorphism $\psi_{1}:Z_{k}/\langle\sigma_{2}\rangle\cong E_{k}$
where $E_{k}$ is defined by
$Y^{2}=X^{3}+(k^{2}-5k+8)X^{2}+(-2k^{2}+5k+4)(4-k)X+(k^{2}+k)(4-k)^{2}$.
Making another transformation

$\begin{cases}X=4x_{1}-k\\\ Y=8y_{1},\end{cases}$

we have an isomorphism $\psi_{2}:F_{k}\cong E_{k}$ where $F_{k}$ is defined by
$y_{1}^{2}=x_{1}\left(x_{1}^{2}+\left(\frac{(k-4)^{2}}{4}-2\right)x_{1}+1\right)$.
Making the last transformation

$\begin{cases}x_{1}=\frac{(k-4)+x_{0}+y_{0}}{x_{0}+y_{0}}\qquad\qquad&x_{0}=\frac{(k-4)x_{1}-2y_{1}}{2x_{1}(x_{1}-1)}\\\
y_{1}=\frac{(k-4)(y_{0}-x_{0})(k-4+x_{0}+y_{0})}{2(x_{0}+y_{0})^{2}}&y_{0}=\frac{(k-4)x_{1}+2y_{1}}{2x_{1}(x_{1}-1)},\end{cases}$

we have an isomorphism $\psi_{3}:R_{k}\cong F_{k}$, where $R_{k}$ represent
the loci of
$R_{k}(x_{0},y_{0})=x_{0}+\frac{1}{x_{0}}+y_{0}+\frac{1}{y_{0}}+(k-4).$

There are two useful results from [11]

######  Lemma 3.1.

$Q_{k}(x,y)$ and $Q_{k}(x-1,y)$ are tempered polynomials.

######  Corollary 3.2.

$\\{x+1,y\\}\in K_{2}^{T}(Z_{k})\otimes\mathbb{Q}$.

Let us do an analysis as in [11], let $D_{1,k}$ and $D_{2,k}$ be the elliptic
curves $Z_{k}/\langle\sigma_{1}\rangle$ and $Z_{k}/\langle\sigma_{2}\rangle$
respectively. By (2), we have

$\displaystyle
f_{1}^{*}f_{1*}(M_{1})=M_{1}\sigma_{1}(M_{1})=\\{x,y\\}\left\\{\frac{1}{x},\frac{1}{y}\right\\}=2M_{1},$
$\displaystyle
f_{2}^{*}f_{2*}(M_{2})=M_{2}\sigma_{2}(M_{2})=\\{x+1,y\\}\left\\{\frac{x+1}{x},\frac{y}{x^{4}}\right\\}=2M_{2}-M_{1}.$

Now we can pushforward the regulator integral of $M_{2}=\\{x+1,y\\}$ on
$Z_{k}$ to $D_{2,k}$, by above equations and (3), we have

$\displaystyle\frac{1}{\pi}\int_{\gamma}\eta(M_{1})=\frac{1}{2\pi}\int_{\gamma}\eta(f_{1}^{*}f_{1*}(M_{1}))=\frac{1}{2\pi}\int_{f_{1}(\gamma)}\eta(f_{1*}(M_{1})),$

and

$\displaystyle\frac{1}{2\pi}\left(2\int_{\gamma}\eta(M_{2})-\int_{\gamma}\eta(M_{1})\right)=\frac{1}{2\pi}\int_{\gamma}\eta(f_{2}^{*}f_{2*}(M_{2}))=\frac{1}{2\pi}\int_{f_{2}(\gamma)}\eta(f_{2*}(M_{2})),$

where $\gamma$ is a cycle in $H_{1}(Z_{k},\mathbb{Z})$. $f_{1}(\gamma)$ and
$f_{2}(\gamma)$ are cycles in $H_{1}(D_{1,k},\mathbb{Z})$,
$H_{1}(D_{2,k},\mathbb{Z})$ respectively. Hence, by the above equations, the
regulator integral of $M_{2}$ on $\gamma$ is

$\displaystyle\begin{split}\frac{1}{2\pi}\int_{\gamma}\eta(M_{2})=\frac{1}{8\pi}\int_{f_{1}(\gamma)}\eta(f_{1*}(M_{1}))+\frac{1}{4\pi}\int_{f_{2}(\gamma)}\eta(f_{2*}(M_{2})).\end{split}$
(4)

###  3.2 The quotient curve $D_{1,k}$

$D_{1,k}=Z_{k}/\langle\sigma_{1}\rangle:W_{0}^{2}=(k^{2}+k)Z_{0}^{3}+(-2k^{2}+5k+4)Z_{0}^{2}+(k^{2}-5k+8)Z_{0}+(4-k)$,
making a birational transformation $\phi_{1}$

$\displaystyle\begin{cases}Z_{0}=\frac{4X_{0}+k^{2}-3k}{k^{2}+k}\\\
W_{0}=\frac{4(2Y_{0}+(k-2)X_{0}+k)}{k^{2}+k},\end{cases}$

this gives $\phi_{1}:D_{1,k}\cong U_{k}$, where
$U_{k}:Y_{0}^{2}+(k-2)X_{0}Y_{0}+kY_{0}=X_{0}^{3}$. There is also a birational
transformation $\phi_{2}$

$\displaystyle\begin{cases}X_{0}=k\frac{x_{2}+y_{2}+1}{x_{2}+y_{2}-k}\qquad\quad&x_{2}=\frac{X_{0}-Y_{0}}{X_{0}-k}\\\
Y_{0}=k\frac{-kx_{2}+y_{2}+1}{x_{2}+y_{2}-k}&y_{2}=\frac{Y_{0}+(k-1)X_{0}+k}{X_{0}-k},\end{cases}$

which gives $\phi_{2}:P_{k}\cong U_{k}$ where $P_{k}$ represent the loci of
$P_{k}(x_{2},y_{2})$.

Let $P$ be the point $(k,k)$ on $U_{k}$ which is a torsion point of order 6.
Lalin and Wu [9] get the following result

######  Lemma 3.3.

Let $\gamma_{P_{k}}=\\{(x_{2},y_{2})\in P_{k}:|x_{2}|=1,|y_{2}|\geqslant
1\\}$, $\gamma_{Z_{k}}=\\{(x,y)\in Z_{k}:|x+1|=1,|y|\geqslant 1\\}$ and
$[\gamma_{2}]$ be a generator of $H_{1}(U_{k},\mathbb{Z})^{-}$. If
$[(\phi_{1}\circ f_{1})(\gamma_{Z_{k}})]=p_{1}[\gamma_{2}]$ and
$[\phi_{2}(\gamma_{P_{k}})]=p_{2}[\gamma_{2}]$, then

$\displaystyle
r_{Z_{k}}(\\{x,y\\})[\gamma_{Z_{k}}]=p_{1}D^{U_{k}}(-6(P)-6(2P)),$

and

$\displaystyle\begin{split}r_{P_{k}}(\\{x_{2},y_{2}\\})[\gamma_{P_{k}}]=p_{2}D^{U_{k}}(-6(P)-6(2P)),\end{split}$
(5)

By the above Lemma, we have

$\displaystyle\begin{split}\int_{f_{1}(\gamma_{Z_{k}})}\eta(f_{1*}(M_{1}))&=\int_{\gamma_{Z_{k}}}\eta(f_{1}^{*}f_{1*}(M_{1}))\\\
&=r_{Z_{k}}(2\\{x,y\\})[\gamma_{Z_{k}}]\\\
&=2p_{1}D^{U_{k}}(-6(P)-6(2P)).\end{split}$ (6)

###  3.3 The quotient curve $D_{2,k}$

First we prove a Lemma which allow us to calculate $f_{2*}(M_{2})$ so as to
calculate its regulator integral in (4).

######  Lemma 3.4.

Suppose we have rational functions $a(Z,W),b(Z,W)$ on $D_{2,k}$ such that

$\displaystyle a(x+1)+by=1$

in which we also see $a,b$ as functions on $Z_{k}$. Then we have

$\displaystyle\int_{f_{2}(\gamma)}\eta(f_{2*}(M_{2}))=$
$\displaystyle-\int_{f_{2}(\gamma)}\eta(f_{2*}(\\{a,b\\}))-\frac{1}{2}\int_{f_{2}(\gamma)}\eta\left(f_{2*}\left(\left\\{a,\frac{y^{2}}{x^{4}}\right\\}\right)\right)$
$\displaystyle-\frac{1}{2}\int_{f_{2}(\gamma)}\eta\left(f_{2*}\left(\left\\{\frac{(x+1)^{2}}{x},b\right\\}\right)\right).$

######  Proof 3.5.

By the properties of Steinberg symbols, we have

$\displaystyle\begin{split}0&=\\{a(x+1),by\\}\\\
&=\\{a,b\\}+\\{a,y\\}+\\{x+1,b\\}+\\{x+1,y\\}.\end{split}$ (7)

Now consider the automorphism
$\sigma_{2}:x\rightarrow\frac{1}{x},y\rightarrow\frac{y}{x^{4}}$ of $Z_{k}$
acting on (7), since $a$ and $b$ are invariant under this automorphism, we
have

$\displaystyle\begin{split}0&=\\{a,b\\}+\left\\{a,\frac{y}{x^{4}}\right\\}+\left\\{\frac{x+1}{x},b\right\\}+\left\\{\frac{x+1}{x},\frac{y}{x^{4}}\right\\}\\\
&=\\{a,b\\}+\left\\{a,\frac{y}{x^{4}}\right\\}+\left\\{\frac{x+1}{x},b\right\\}+\\{x+1,y\\}-\\{x,y\\}.\end{split}$
(8) $\displaystyle\eqref{eqn:ax}+\eqref{eqn:ab}$ $\displaystyle\Rightarrow
0=2\\{a,b\\}+\left\\{a,\frac{y^{2}}{x^{4}}\right\\}+\left\\{\frac{(x+1)^{2}}{x},b\right\\}+2\\{x+1,y\\}-\\{x,y\\}$
$\displaystyle\Rightarrow
2\\{x+1,y\\}=\\{x,y\\}-2\\{a,b\\}-\left\\{a,\frac{y^{2}}{x^{4}}\right\\}-\left\\{\frac{(x+1)^{2}}{x},b\right\\}$
$\displaystyle\Rightarrow
2f_{2}^{*}f_{2*}(\\{x+1,y\\})=-2f_{2}^{*}f_{2*}(\\{a,b\\})-f_{2}^{*}f_{2*}\left(\left\\{a,\frac{y^{2}}{x^{4}}\right\\}\right)$
$\displaystyle\qquad\qquad\qquad\qquad\qquad-
f_{2}^{*}f_{2*}\left(\left\\{\frac{(x+1)^{2}}{x},b\right\\}\right)$
$\displaystyle\Rightarrow\int_{\gamma}\eta(f_{2}^{*}f_{2*}(M_{2}))=-\int_{\gamma}\eta(f_{2}^{*}f_{2*}(\\{a,b\\}))-\frac{1}{2}\int_{\gamma}\eta\left(f_{2}^{*}f_{2*}\left(\left\\{a,\frac{y^{2}}{x^{4}}\right\\}\right)\right)$
$\displaystyle\qquad\qquad\qquad\qquad-\frac{1}{2}\int_{\gamma}\eta\left(f_{2}^{*}f_{2*}\left(\left\\{\frac{(x+1)^{2}}{x},b\right\\}\right)\right)$
$\displaystyle\Rightarrow\int_{f_{2}(\gamma)}\eta(f_{2*}(M_{2}))=-\int_{f_{2}(\gamma)}\eta(f_{2*}(\\{a,b\\}))-\frac{1}{2}\int_{f_{2}(\gamma)}\eta\left(f_{2*}\left(\left\\{a,\frac{y^{2}}{x^{4}}\right\\}\right)\right)$
$\displaystyle\qquad\qquad\qquad\qquad\qquad-\frac{1}{2}\int_{f_{2}(\gamma)}\eta\left(f_{2*}\left(\left\\{\frac{(x+1)^{2}}{x},b\right\\}\right)\right)$

We can find the following functions satisfying Lemma 3.4

$\displaystyle a$ $\displaystyle=\frac{2(1+Z)}{3+Z}$
$\displaystyle=\frac{2(X-k+4)}{X-3k+12},$ $\displaystyle b$
$\displaystyle=\frac{(Z-1)^{3}}{(Z+3)(-Z^{2}+(2k-6)Z+2W-2k-1)}$
$\displaystyle=-\frac{(X-4+k)^{3}}{18(X-3k+12)\left(\frac{1}{2}X^{2}+(k^{2}-7k+12)X+k^{3}-\frac{15}{2}k^{2}+12k+8+(k-4)Y\right)}.$

The functions $\frac{y^{2}}{x^{4}}$ and $\frac{(x+1)^{2}}{x}$ are also
invariant under $\sigma_{2}$, so we can also see them as functions on
$D_{2,k}$ and further as functions on $E_{k}$ which gives

$\displaystyle\frac{y^{2}}{x^{4}}$
$\displaystyle=\frac{((2k+1)X_{1}^{4}+(-2k+6)X_{1}^{2}-2X_{1}Y_{1}+1)^{2}}{(X_{1}^{2}-1)^{4}},$
$\displaystyle=\frac{(2kZ-Z^{2}-2k+2W-6Z-1)^{2}}{(Z-1)^{4}}$
$\displaystyle=\frac{4(\frac{1}{2}X^{2}+(k^{2}-7k+12)X+(k-4)Y+k^{3}-\frac{15}{2}k^{2}+12k+8)^{2}}{(X+k-4)^{2}},$

and

$\displaystyle\frac{(x+1)^{2}}{x}$
$\displaystyle=\frac{4X_{1}^{2}}{X_{1}^{2}-1},$ $\displaystyle=\frac{4}{1-Z}$
$\displaystyle=\frac{4(k-4)}{X+k-4}.$

Let $a_{1}=X-k+4,a_{2}=X-3k+12,b_{1}=X+k-4$ and
$b_{2}=\frac{1}{2}X^{2}+(k^{2}-7k+12)X+(k-4)Y+k^{3}-\frac{15}{2}k^{2}+12k+8$.
Then

$\displaystyle a$ $\displaystyle=\frac{2a_{1}}{a_{2}}$ $\displaystyle b$
$\displaystyle=-\frac{b_{1}^{3}}{18a_{2}b_{2}}$
$\displaystyle\frac{y^{2}}{x^{4}}$
$\displaystyle=\frac{4b_{2}^{2}}{b_{1}^{4}}$
$\displaystyle\frac{(x+1)^{2}}{x}$ $\displaystyle=\frac{4(k-4)}{b_{1}}.$

Let $T=(k-4,2(k-4)\sqrt{k^{2}-2k})$, $U=(3k-12,4(k-4)\sqrt{k^{2}-2k-3})$ and
$S=(4-k,16-4k)$ which are all points on $E_{k}$, and $S$ is a 4-torsion point.
Then

$\displaystyle(a_{1})$ $\displaystyle=(T)+(-T)-2O$ $\displaystyle(a_{2})$
$\displaystyle=(U)+(-U)-2O$ $\displaystyle(b_{1})$ $\displaystyle=(S)+(-S)-2O$
$\displaystyle(b_{2})$ $\displaystyle=4(S)-4O.$

We see $a,b,\frac{y^{2}}{x^{4}},\frac{(x+1)^{2}}{x}$ as functions on $Z_{k}$
or $E_{k}$ when appropriate. By Lemma 3.4, Lemma 2.1 and using the fact that
$f_{2*}(\\{c,d\\})=\\{c,d\sigma_{2}(d)\\}$ if $c$ is invariant under
$\sigma_{2}$, we have

$\displaystyle\begin{split}\int_{f_{2}(\gamma)}\eta(f_{2*}(M_{2}))&=-\int_{f_{2}(\gamma)}\eta(f_{2*}(\\{a,b\\}))-\frac{1}{2}\int_{f_{2}(\gamma)}\eta\left(f_{2*}\left(\left\\{a,\frac{y^{2}}{x^{4}}\right\\}\right)\right)\\\
&\quad-\frac{1}{2}\int_{f_{2}(\gamma)}\eta\left(f_{2*}\left(\left\\{\frac{(x+1)^{2}}{x},b\right\\}\right)\right)\\\
&=-q_{1}2D^{E_{k}}((a)\diamond(b))+q_{1}D^{E_{k}}\left((a)\diamond\left(\frac{y^{2}}{x^{4}}\right)\right)\\\
&\quad+q_{1}D^{E_{k}}\left(\left(\frac{(x+1)^{2}}{x}\right)\diamond
b\right)\\\
&=-2q_{1}D^{E_{k}}((a_{1})\diamond(b_{1}))+2q_{1}D^{E_{k}}((a_{1})\diamond(a_{2}))+3q_{1}D^{E_{k}}((a_{2})\diamond(b_{1}))\\\
&\quad-q_{1}D^{E_{k}}((b_{1})\diamond(b_{2}))\\\
&=-8q_{1}D^{E_{k}}((S))-4q_{1}D^{E_{k}}((2S))\\\
&=-8q_{1}D^{E_{k}}((S)),\end{split}$ (9)

where $[f_{2}(\gamma)]=q_{1}[\gamma^{\prime}]$ in
$H_{1}(E_{k},\mathbb{Z})^{-}$, $[\gamma^{\prime}]$ is a generator of
$H_{1}(E_{k},\mathbb{Z})^{-}$.

Now we take $R_{k}(x_{0},y_{0})=0$ into account, then

$\displaystyle x_{0}$
$\displaystyle=\frac{(k-4)x_{1}-2y_{1}}{2x_{1}(x_{1}-1)}$
$\displaystyle=\frac{(2k-8)X+(2k^{2}-8k)-2Y}{(X+k)(X+k-4)}$ $\displaystyle
y_{0}$ $\displaystyle=\frac{(k-4)x_{1}+2y_{1}}{2x_{1}(x_{1}-1)}$
$\displaystyle=\frac{(2k-8)X+(2k^{2}-8k)+2Y}{(X+k)(X+k-4)},$

we can easily get

$\displaystyle(x_{0})\diamond(y_{0})\sim-8(S).$

By Lemma 2.1 again, we have

$\displaystyle\begin{split}r_{R_{k}}(\\{x_{0},y_{0}\\})[\gamma_{R_{k}}]&=r_{E_{k}}(\\{x_{0}(X,Y),y_{0}(X,Y)\\})[\psi_{2}\circ\psi_{3}(\gamma_{R_{k}})]\\\
&=q_{2}D^{E_{k}}((x_{0})\diamond(y_{0}))\\\
&=-8q_{2}D^{E_{k}}((S)),\end{split}$ (10)

where $\gamma_{R_{k}}=\\{(x_{0},y_{0})\in
R_{k}(x_{0},y_{0})=0:|x_{0}|=1,|y_{0}|\geqslant 1\\}$ is the Deninger path of
$R_{k}(x_{0},y_{0})=0$, and $[\gamma_{R_{k}}]=q_{2}[\gamma^{\prime}]$ in
$H_{1}(E_{k},\mathbb{Z})^{-}$ as above. So if we get the multiple relationship
between $q_{1}$ and $q_{2}$, we can establish the connection between
$m(R_{k})$ and $\int_{f_{2}(\gamma)}\eta(f_{2*}(M_{2}))$.

##  4 The cycles of integration

In the above analysis, if we get the relationship between $p_{1}$ and $p_{2}$
and between $q_{1}$ and $q_{2}$, we can connect the right side of equations
(6) and (9) with $m(P_{k})$ and $m(R_{k})$ respectively. In this section, we
will calculate their relationship in different value ranges of $k$, so as to
obtain the Theorem 1.1.

We will first prove $\gamma_{Z_{k}},\gamma_{P_{k}}$ and $\gamma_{R_{k}}$ are
closed. From now on, let us use “$\pm$”to indicate the sign to be determined.

For reciprocal polynomials $P_{k}(x_{2},y_{2})$ and $R_{k}(x_{0},y_{0})$,
$\gamma_{P_{k}}$ and $\gamma_{R_{k}}$ are closed, since $P_{k}(x_{0},y_{0})=0$
and $R_{k}(x_{2},y_{2})=0$ do not intersect the torus $\mathbb{T}^{2}$ for
both $k\leqslant-1$ and $k\geqslant 17$.

For $Q_{k}(x,y)=y^{2}+(x^{4}+kx^{3}+2kx^{2}+kx+1)y+x^{4}$, we prove a lemma.

######  Lemma 4.1.

$\gamma_{Z_{k}}=\\{(x,y)\in Z_{k}:|x+1|=1,|y|\geqslant 1\\}$ is a closed path
of $Z_{k}$ for $k\leqslant-1$ and $k\geqslant 17$.

######  Proof 4.2.

Let $Z_{k}^{\prime}:Q(x-1,y)=0$, then $\gamma_{Z_{k}}$ being a closed path is
equivalent to $\gamma_{Z_{k}}^{\prime}=\\{(x,y)\in
Z_{k}^{\prime}:|x|=1,|y|\geqslant 1\\}$ being a closed path.

We want to find the intersection between $Q_{k}(x-1,y)=0$ and the torus
$|x|=|y|=1$. Assume such intersection exists, then we also have
$Q_{k}(1/x-1,1/y)=0$. Let $M(x,y)=Q_{k}(x-1,y)$ and
$M^{*}(x,y)=x^{4}y^{2}Q_{k}(\frac{1}{x}-1,\frac{1}{y})$. Then

$\displaystyle Res_{y}(M(x,y),M^{*}(x,y))=$
$\displaystyle((k+5)x^{6}+(-k-35)x^{5}+(-7k+100)x^{4}+(15k-145)x^{3}+(-7k+100)x^{2}+(-k-35)x+k+5)\times$
$\displaystyle(x-1)^{2}(x^{2}-x+1)^{2}x^{2}k=0.$

If $x-1=0$, i.e., $x=1$, then $y=-1$.

If $x^{2}-x+1=0$, we can find $f(x,y)=y^{2}-yxk+yx+x-1=0$. We have

$\displaystyle f(e^{\frac{\pi i}{3}},y)f(e^{-\frac{\pi i}{3}},y)$
$\displaystyle=y^{4}+(-k+1)y^{3}+(k^{2}-2k)y^{2}+(-k+1)y+1$
$\displaystyle=y^{2}g(u),$

where $u=y+\frac{1}{y}$. It is easy to see $g(u)=u^{2}+(-k+1)u+k^{2}-2k-2>0$
for $u\in[-2,2]$ and $k\leqslant-1$ or $k\geqslant 17$. Hence we can easily
conclude that $f(e^{\frac{\pi i}{3}},y)$ and $f(e^{-\frac{\pi i}{3}},y)$ have
no solution on $|y|=1$.

Next we prove
$(k+5)x^{6}+(-k-35)x^{5}+(-7k+100)x^{4}+(15k-145)x^{3}+(-7k+100)x^{2}+(-k-35)x+k+5\neq
0$ for $|x|=1$. Let $s=x+\frac{1}{x}$. Then it is equivalent to show
$\mu(k,s)=(s^{3}-s^{2}-10s+17)k+5s^{3}-35s^{2}+85s-75\neq 0$ where
$s\in[-2,2]$. It is easy to see $s^{3}-s^{2}-10s+17>0$. Then we get

$\displaystyle\begin{cases}\mu(k,s)\leqslant\mu(-1,s)=4s^{3}-34s^{2}+95s-92<0\quad\text{for
}k\leqslant-1,\\\ \mu(k,s)>\mu(17,s)=22s^{3}-52s^{2}-85s+214\geqslant
0\quad\text{for }k>17.\end{cases}$

In summary, we see $(1,-1)$ is only intersection point of
$\gamma_{Z_{k}}^{\prime}$ and $\mathbb{T}^{2}$ for $k\leqslant-1$ and $k>17$.
Hence $\gamma_{Z_{k}}^{\prime}$ is closed for $k\leqslant-1$ and $k>17$. Then
by continuity, $\gamma_{Z_{k}}^{\prime}$ is also closed for $k=17$.

###  4.1 The quotient map $f_{1}$

First consider the case $k\geqslant 17$. Let $\omega_{1}$ be the holomorphic
differential on $U_{k}$

$\omega_{1}=\frac{dX_{0}}{2Y_{0}+(k-2)X_{0}+k}.$

Then we have

$\displaystyle\int_{f_{1}(\gamma_{Z_{k}})}\omega_{1}$
$\displaystyle=\int_{\gamma_{Z_{k}}}f_{1}^{*}\omega_{1}$
$\displaystyle=\pm\int_{\gamma_{Z_{k}}}\frac{(x+1)^{2}}{\sqrt{(x^{4}+kx^{3}+2kx^{2}+kx+1)^{2}-4x^{4}}}dx$
$\displaystyle=\pm\frac{1}{2}\int_{\iota_{1}(\gamma_{Z_{k}})}\frac{idu}{\sqrt{(1-u)(u+\frac{k-2}{2})(u^{2}+\frac{k}{2}u+\frac{k}{2})}}.$

where $\iota_{1}$ is the substitution
$u=\frac{1}{2}\left(x+\frac{1}{x}\right)$.

We can parameterize the loop $\gamma_{Z_{k}}$ by letting $x=e^{2\pi
it}-1(t\in[0,1])$ which gives

$\displaystyle u(t)$
$\displaystyle=\frac{1}{2}\left(x(t)+\frac{1}{x(t)}\right)$
$\displaystyle=\frac{1}{2}\left(e^{2\pi it}-1+\frac{1}{e^{2\pi it}-1}\right)$
$\displaystyle=\cos(\pi t)^{2}-\frac{5}{4}+\frac{3\cos(\pi t)-4\cos(\pi
t)^{3}}{4\sin(\pi t)}i.$

The image of $u(t)$ has only two intersections with the real axis at
$-\frac{5}{4}$ which corresponds to $t=\frac{1}{2}$ and $-\frac{1}{2}$ which
corresponds to $t=\frac{1}{6}$, $\frac{5}{6}$.

Let $e_{1}=1$, $e_{2}=1-\frac{k}{2}$,
$e_{3}=-\frac{1}{4}k+\frac{1}{4}\sqrt{k^{2}-8k}$ and
$e_{4}=-\frac{1}{4}k-\frac{1}{4}\sqrt{k^{2}-8k}$. Then for $k\geqslant 17$

$e_{2}<e_{4}<-\frac{5}{4}<e_{3}<-\frac{1}{2}<1.$

We can see $u(t)$ is a path looping around $e_{3}$ which lifts to a homology
class equivalent to the lift of the line segment connecting $e_{1}$ and
$e_{3}$ (see the picture below).
$e_{3}$$-\frac{5}{4}$$e_{4}$$e_{2}$$-\frac{1}{2}$$e_{1}$

Then we get

$\displaystyle\begin{split}\int_{f_{1}(\gamma_{Z_{k}})}\omega_{1}&=\frac{1}{2}\int_{\iota_{1*}(\gamma_{Z_{k}})}\frac{idu}{\sqrt{(1-u)(u+\frac{k-2}{2})(u^{2}+\frac{k}{2}u+\frac{k}{2})}}\\\
&=\pm\int_{e_{3}}^{e_{1}}\frac{idt}{\sqrt{(1-u)(u+\frac{k-2}{2})(u^{2}+\frac{k}{2}u+\frac{k}{2})}}\\\
&=\pm\int_{\frac{k-4+\sqrt{k(k-8)}}{2k}}^{1}\frac{2ids}{\sqrt{s(1-s)(k^{2}s^{2}+k(4-k)s+4)}}\quad\left(u=\frac{ks-k+2}{2}\right)\\\
&=\pm\int_{\frac{1}{8}k^{2}-\frac{1}{2}k-1-\frac{1}{8}k\sqrt{k(k-8)}}^{0}\frac{idv}{\sqrt{v(v^{2}-(\frac{k^{2}}{4}-k-2)v+k+1)}}\quad\left(s=\frac{1}{v+1}\right).\end{split}$
(11)

On the other hand, we have

$\displaystyle\omega_{1}$ $\displaystyle=\frac{dX_{0}}{2Y_{0}+(k-2)X_{0}+k}$
$\displaystyle=\frac{y_{2}dx_{2}}{(x_{2}+1)(y_{2}^{2}-x_{2})},$

and

$\displaystyle\begin{split}\int_{\gamma_{P_{k}}}\omega_{1}&=\int_{\gamma_{P_{k}}}\frac{y_{2}dx_{2}}{(x_{2}+1)(y_{2}^{2}-x_{2})}\\\
&=\pm\int_{\gamma_{P_{k}}}\frac{dx_{2}}{\sqrt{(x_{2}^{4}+1)-2k(x_{2}^{3}+x_{2})+(k^{2}-4k-2)x_{2}^{2}}}\\\
&=\pm\int_{0}^{1}\frac{2\pi idt}{\sqrt{(k-4\cos(\pi t)^{2})^{2}-16\cos(\pi
t)^{2}}}\quad\left(x_{2}=e^{2\pi it}\right)\\\
&=\pm\int_{0}^{\frac{1}{2}}\frac{4\pi idt}{\sqrt{(k-4\cos(\pi
t)^{2})^{2}-16\cos(\pi t)^{2}}}\\\
&=\pm\int_{0}^{1}\frac{2idu_{1}}{\sqrt{u_{1}(1-u_{1})((k-4u_{1})^{2}-16u_{1})}}\quad\left(u_{1}=\cos(\pi
t)^{2}\right)\\\
&=\pm\int_{0}^{\infty}\frac{idw}{\sqrt{w(w^{2}+2(\frac{k^{2}}{4}-k-2)w+\frac{k^{3}}{16}(k-8))}}\quad\left(u_{1}=\frac{1}{1+\frac{4w}{k^{2}}}\right)\\\
&=\pm\int_{\frac{1}{8}k^{2}-\frac{1}{2}k-1+\frac{1}{8}k\sqrt{k(k-8)}}^{\infty}\frac{idv}{\sqrt{v(v^{2}-(\frac{k^{2}}{4}-k-2)v+k+1)}}\\\
&\qquad\qquad\left(w=v-\left(\frac{k^{2}}{4}-k-2\right)+\frac{k+1}{v}\right).\end{split}$
(12)

So comparing equations (11) and (12) we get

$\displaystyle\int_{f_{1}(\gamma_{Z_{k}})}\omega_{1}=\pm\int_{\gamma_{P_{k}}}\omega_{1},$

then

$\displaystyle p_{1}=\pm p_{2}$ (13)

for $k\geqslant 17$.

For $k<-1$, we have

$-\frac{5}{4}<e_{4}<-\frac{1}{2}<e_{1}<e_{3}<e_{2}.$

We can see $u(t)$ as a path looping around $e_{4}$ twice which lifts to a
trivial homology class (see the picture below).

$-\frac{5}{4}$$e_{4}$$-\frac{1}{2}$$e_{1}$$e_{3}$$e_{2}$

We get

$\int_{f_{1}(\gamma_{Z_{k}})}\omega_{1}=0.$

Hence we conclude that $p_{1}=0$ for $k<-1$. Then by continuity, we get

$p_{1}=0\quad\text{for}\quad k\leqslant-1.$ (14)

###  4.2 The quotient map $f_{2}$

Consider the holomorphic differential

$\omega_{2}=\frac{dX}{2Y}=\frac{dx_{1}}{4y_{1}}=\frac{y_{0}}{2(y_{0}^{2}-1)x_{0}}dx_{0},$

we have

$\displaystyle\begin{split}\int_{\gamma_{R_{k}}}\omega_{2}&=\int_{\gamma_{R_{k}}}\frac{y_{0}}{2(y_{0}^{2}-1)x_{0}}dx_{0}\\\
&=\pm\int_{\gamma_{R_{k}}}\frac{dx_{0}}{2\sqrt{(x_{0}^{2}+1+(k-4)x_{0})^{2}-4x_{0}^{2}}}\\\
&=\pm\int_{0}^{1}\frac{2\pi idt}{2\sqrt{(2\cos(2\pi
t)+k-4)^{2}-4}}\quad(x_{0}=e^{2\pi it})\\\ &=\pm\pi
i\int_{0}^{1}\frac{1}{\sqrt{(4(\cos(\pi t))^{2}+k-4)(4(\cos(\pi
t))^{2}+k-8)}}dt\\\ &=\pm 2\pi
i\int_{0}^{\frac{1}{2}}\frac{1}{\sqrt{(4(\cos(\pi t))^{2}+k-4)(4(\cos(\pi
t))^{2}+k-8)}}dt\\\ &=\pm
2\int_{0}^{1}\frac{ds}{\sqrt{(s^{2}-1)(4s^{2}+k-4)(4s^{2}+k-8)}}\quad(\cos(\pi
t)=s)\\\
&=\pm\int_{0}^{1}\frac{du}{\sqrt{u(u-1)(4u+k-4)(4u+k-8)}}\quad(s^{2}=u)\\\
&=\pm\frac{1}{4}\int_{\frac{k}{8}-1}^{\frac{k}{8}}\frac{dw}{\sqrt{(w-\frac{k-8}{8})(w+\frac{k-8}{8})(w-\frac{k}{8})(w+\frac{k}{8})}}\quad\left(u=w-\frac{k}{8}+1\right)\\\
&=\pm\int_{-1}^{-\infty}\frac{d\alpha}{\sqrt{(\alpha+1)((k-4)\alpha+4)(k\alpha+4)}}\quad\left(\alpha=\frac{1}{w-\frac{k}{8}}\right)\\\
&=\pm\frac{1}{4}\int_{\frac{k}{2}}^{-\infty}\frac{d\beta}{\sqrt{(\beta-\frac{k}{2})(\beta-\frac{k^{2}}{16})(\beta-\frac{k^{2}+16}{16})}}\quad\left(\alpha=\frac{16\beta}{k^{2}-4k}-\frac{k+4}{k-4}\right).\end{split}$
(15)

We also have

$\displaystyle\begin{split}\int_{f_{2}(\gamma_{Z_{k}})}\omega_{2}&=\int_{\gamma_{Z_{k}}}f_{2}^{*}\omega_{2}=\int_{\gamma_{Z_{k}}}\frac{y(x^{2}-1)}{2(y^{2}-x^{4})}dx\\\
&=\pm\int_{\gamma_{Z_{k}}}\frac{x^{2}-1}{2\sqrt{(x^{4}+kx^{3}+2kx^{2}+kx+1)^{2}-4x^{4}}}dx\\\
&=\pm\frac{1}{4}\int_{\iota_{1}(\gamma_{Z_{k}})}\frac{du}{\sqrt{(u+1)(u+\frac{k-2}{2})(u^{2}+\frac{k}{2}u+\frac{k}{2})}}\\\
&=\pm\frac{1}{4}\int_{(\iota_{2}\circ\iota_{1})(\gamma_{Z_{k}})}\frac{d\tau}{\sqrt{(\tau^{2}-\frac{(k-4)^{2}}{16})(\tau^{2}-\frac{k^{2}-8k}{16})}}\\\
&=\pm\frac{1}{8}\int_{(\iota_{3}\circ\iota_{2}\circ\iota_{1})(\gamma_{Z_{k}})}\frac{ds}{\sqrt{(s-\frac{k}{2})(s-\frac{k^{2}}{16})(s-\frac{k^{2}+16}{16})}}.\end{split}$
(16)

where $\iota_{1},\iota_{2},\iota_{3}$ are the substitutions
$u=\frac{1}{2}(x+\frac{1}{x})$, $\tau=u+\frac{k}{4}$, $s=\tau^{2}+\frac{k}{2}$
respectively.

Now let us analyze the integral path
$(\iota_{3}\circ\iota_{2}\circ\iota_{1})(\gamma_{Z_{k}})$. We parameterize the
loop $\gamma_{Z_{k}}$ by $x=e^{2\pi it}-1$, then

$\displaystyle s(t)$
$\displaystyle=\left(\frac{1}{2}\left(x(t)+\frac{1}{x(t)}\right)+\frac{k}{4}\right)^{2}+\frac{k}{2}$
$\displaystyle=-\frac{1}{16}\frac{32\cos(\pi t)^{6}+(8k-80)\cos(\pi
t)^{4}+(k^{2}-10k+74)\cos(\pi t)^{2}-k^{2}+2k-25}{\sin(\pi t)^{2}}$
$\displaystyle\quad-\frac{1}{8}\frac{\cos(\pi t)(4\cos(\pi t)^{2}-3)(4\cos(\pi
t)^{2}+k-5)}{\sin(\pi t)}i.$

The image of $s(t)$ has only two intersections with the real axis, i.e.,
$\frac{(k+2)^{2}}{16}$ which corresponds to $t=\frac{1}{6}$, $\frac{5}{6}$ and
$\frac{k^{2}-2k+25}{16}$ which corresponds to $t=\frac{1}{2}$. Let
$e_{1}^{\prime}=\frac{k}{2}$, $e_{2}^{\prime}=\frac{k^{2}}{16}$,
$e_{3}^{\prime}=\frac{k^{2}}{16}+1$.

For $k\leqslant-1$, we have

$\displaystyle
e_{1}^{\prime}<\frac{(k+2)^{2}}{16}<e_{2}^{\prime}<e_{3}^{\prime}<\frac{k^{2}-2k+25}{16},$

We can see $s(t)$ is a path looping around $e_{2}^{\prime}$ and
$e_{3}^{\prime}$ twice which lifts to a homology class which is equivalent to
twice of the lift of the line segment connecting $e_{2}^{\prime}$ and
$e_{3}^{\prime}$ (see the picture below).

$\frac{k^{2}-2k+25}{16}$$e_{3}^{\prime}$$e_{2}^{\prime}$$\frac{(k+2)^{2}}{16}$$e_{1}^{\prime}$

So we have

$\displaystyle\begin{split}&\frac{1}{8}\int_{(\iota_{3}\circ\iota_{2}\circ\iota_{1})_{*}(\gamma_{Z_{k}})}\frac{ds}{\sqrt{(s-\frac{k}{2})(s-\frac{k^{2}}{16})(s-\frac{k^{2}+16}{16})}}\\\
=&\pm\frac{1}{2}\int_{\frac{k}{2}}^{-\infty}\frac{ds}{\sqrt{(s-\frac{k}{2})(s-\frac{k^{2}}{16})(s-\frac{k^{2}+16}{16})}}.\end{split}$
(17)

Hence by (15), (16) and (LABEL:eqn:rQk), we conclude that

$\displaystyle q_{1}=\pm 2q_{2}$ (18)

for $k\leqslant-1$.

For $k\geqslant 17$, we have

$\displaystyle
e_{1}^{\prime}<\frac{k^{2}-2k+25}{16}<e_{2}^{\prime}<e_{3}^{\prime}<\frac{(k+2)^{2}}{16}.$

We can see $s(t)$ is a path looping around $e_{2}^{\prime}$ and
$e_{3}^{\prime}$ which lifts to a homology class which is equivalent to the
lift of the line segment connecting $e_{2}^{\prime}$ and $e_{3}^{\prime}$ (see
the picture below).

$\frac{k^{2}-2k+25}{16}$$e_{2}^{\prime}$$e_{3}^{\prime}$$\frac{(k+2)^{2}}{16}$$e_{1}^{\prime}$

So we have

$\displaystyle\begin{split}&\frac{1}{8}\int_{(\iota_{3}\circ\iota_{2}\circ\iota_{1})_{*}(\gamma_{Z_{k}})}\frac{ds}{\sqrt{(s-\frac{k}{2})(s-\frac{k^{2}}{16})(s-\frac{k^{2}+16}{16})}}\\\
=&\pm\frac{1}{4}\int_{\frac{k}{2}}^{-\infty}\frac{ds}{\sqrt{(s-\frac{k}{2})(s-\frac{k^{2}}{16})(s-\frac{k^{2}+16}{16})}}.\end{split}$
(19)

Hence by (15), (16) and (LABEL:eqn:rQk2), we conclude that

$\displaystyle q_{1}=\pm q_{2}$ (20)

for $k\geqslant 17$.

##  5 Proof of Theorem 1.1

######  Proof 5.1.

Let us take $\gamma=\gamma_{Z_{k}}$ in (4). Then we have

$\displaystyle\frac{1}{2\pi}\int_{\gamma}\eta(M_{2})$
$\displaystyle=\frac{1}{8\pi}\int_{f_{1}(\gamma)}\eta(f_{1*}(M_{1}))+\frac{1}{4\pi}\int_{f_{2}(\gamma)}\eta(f_{2*}(M_{2}))$
$\displaystyle=\frac{1}{4\pi}p_{1}D^{U_{k}}(-6(P)-6(2P))-\frac{2}{\pi}q_{1}D^{E_{k}}((S))\qquad(\text{by
\eqref{eqn:M2},\eqref{eqn:M1}})$
$\displaystyle=\begin{cases}\pm\frac{1}{2\pi}r_{\gamma_{R_{k}}}(\\{x_{0},y_{0}\\})[\gamma_{R_{k}}],&k\leqslant-1\\\
\pm\frac{1}{4\pi}r_{P_{k}}(\\{x_{2},y_{2}\\})[\gamma_{P_{k}}]\pm\frac{1}{4\pi}r_{\gamma_{R_{k}}(\\{x_{0},y_{0}\\})[\gamma_{R_{k}}]},\quad&k\geqslant
17\end{cases}$

where the case $k\leqslant-1$ is derived by (5), (10), (14), (18) and the case
$k\geqslant 17$ is derived by (5), (10), (13), (20).

Hence by (1), we have

$\displaystyle
m(Q_{k}(x-1,y))=\left|\frac{1}{2\pi}\int_{\gamma}\eta(M_{2})\right|=\begin{cases}m(R_{k}),&k\leqslant-1\\\
\frac{1}{2}|m(P_{k})\pm m(R_{k})|,\quad&k\geqslant 17.\end{cases}$ (21)

It is easy to see the Mahler measures are equivalent to $\log|k|$ as $k$ tends
to infinity. Combine this fact with $\eqref{eqn:shift}$ and continuity, we
prove Theorem 1.1.

By the evaluation of $m(R_{-1}),m(R_{-4}),m(R_{-8})$ and $m(R_{-12})$ in [4],
[7], [8], [14] and [15], we have the following corollary of Theorem 1.1.

######  Corollary 5.2.

Let $E_{m}/\mathbb{Q}$ be an elliptic curve with conductor $m$. Then we have

$\displaystyle m(Q_{-1}(x-1,y))$ $\displaystyle=6L^{\prime}(E_{15},0),$
$\displaystyle m(Q_{-4}(x-1,y))$ $\displaystyle=4L^{\prime}(E_{24},0),$
$\displaystyle m(Q_{-8}(x-1,y))$ $\displaystyle=2L^{\prime}(E_{48},0),$
$\displaystyle m(Q_{-12}(x-1,y))$ $\displaystyle=11L^{\prime}(E_{15},0).$

##  6 Conclusion

In this article, we prove a Mahler measure identity involving the shifted
Mahler measure of Boyd’s family. We expect the above methods applicable to
prove more Mahler measure identities in [11]. We will try to develop a
universal algorithm to deal with this kind of problem in the future work.

Another possible direction is to deal with the the Mahler measure of
polynomials defining curve with non-abelian automorphism groups using this
method.

##  7 Acknowledgements

The authors would like to thank Fracois Brunault, Maltilde Lalin, Riccardo
Pengo, Haixu Wang and Wadim Zudilin for very helpful conversations and/or
correspondences. The first and third authors were supported by the National
Natural Science Foundation of China (Grant No. 11771422). The second author
was supported by the General Program Class A of Shenzhen Stable Support Plan
(Grant No. 20200812135418001) and the National Natural Science Foundation of
China (Grant No. 11801345).

## References

  * [1] M. J. Bertin, W. Zudilin. On the Mahler measure of a family of genus 2 curves, Math. Z., 2016, 283(3-4): 1185-1193.
  * [2] J. Bosman. Boyd’s conjecture for a family of genus 2 curves. 2004, Thesis-Universiteit Utrecht.
  * [3] D. Boyd. Mahler’s Measure and Special Values of $L$-functions, Experiment. Math., 1998, 7(1): 37-82.
  * [4] F. Brunault. Regulators of Siegel units and applications. J. Number Theory, 2016, 163, 542-569.
  * [5] F. Brunault, W. Zudilin. Many Variations of Mahler Measures, A Lasting Symphony. Volumn 28 of Aust. Math. Soc. Lect. Ser. Cambridge: Cambridge University Press, 2020.
  * [6] C. Deninger. Deligne periods of mixed motives, $K$-theory and the entropy of certain $\mathbb{Z}^{n}$-actions, J. Amer. Math. Soc, 1997, 10(2): 259-281.
  * [7] M. Lalin. On a conjecture by Boyd. Int. J. Number. Theory., 2010, 6(3): 705-711.
  * [8] M. Lalin, M. Rogers. Functional equations for Mahler measures of genus-one curves. Algebra Number Theory., 2007, 1(1): 87-117.
  * [9] M. Lalin, G. Wu. Regulator proofs for Boyd’s identities on genus 2 curves, Intern. J. Number Theory, 2018, 15(5): 945-967.
  * [10] M. Lalin, G. Wu. The Mahler measure of a genus 3 family, Ramanujan J., 2021, 55(1): 309-326.
  * [11] H. Liu, H. Qin. Mahler Measure of Families of Polynomials Defining Genus 2 and 3 Curves, Experiment. Math., in press.
  * [12] B. Ringeling, W. Zudilin . Exercising in complex Mahler measures: diamonds are not forever. arXiv preprint math/2109.14380.
  * [13] F. Rodriguez-Villegas. Modular Mahler Measures I, in Topics in Number Theory, Ahlgren, S., Andrews, G., Ono, K. (eds.), Dordrecht: Kluwer Acad. Publ., 1999, 17-48.
  * [14] M. Rogers and W. Zudilin. From $L$-series of elliptic curves to Mahler measures. Compos. Math., 2012, 148(2): 385–414.
  * [15] M. Rogers and W. Zudilin. On the Mahler measure of $1+X+1/X+Y+1/Y$. Int. Math. Res. Notices., 2014(9): 2305–2326.


# Stella Nera: An Approximate Matrix Multiplication Accelerator Based on
Maddness

1Jannis Schönleber, 2Lukas Cavigelli, 2Renzo Andri, 1Matteo Perotti, 1, 3Luca
Benini  1ETH Zürich Switzerland2Huawei Technologies, Zürich Research Center,
Switzerland 3Università di Bologna, Italy<EMAIL_ADDRESS>lukas.cavigelli<EMAIL_ADDRESS><EMAIL_ADDRESS>
# Stella Nera: A 161 TOp/s/W Multiplier-free DNN Accelerator Based on the
Maddness Approximate Matrix Multiplication

1Jannis Schönleber, 2Lukas Cavigelli, 2Renzo Andri, 1Matteo Perotti, 1, 3Luca
Benini  1ETH Zürich Switzerland2Huawei Technologies, Zürich Research Center,
Switzerland 3Università di Bologna, Italy<EMAIL_ADDRESS>lukas.cavigelli<EMAIL_ADDRESS><EMAIL_ADDRESS>
# Stella Nera: Achieving 161 TOp/s/W with Multiplier-free DNN Acceleration
based on Approximate Matrix Multiplication

1Jannis Schönleber, 2Lukas Cavigelli, 2Renzo Andri, 1Matteo Perotti, 1, 3Luca
Benini  1ETH Zürich Switzerland2Huawei Technologies, Zürich Research Center,
Switzerland 3Università di Bologna, Italy<EMAIL_ADDRESS>lukas.cavigelli<EMAIL_ADDRESS><EMAIL_ADDRESS>
###### Abstract.

From classical HPC to deep learning, Matrix Multiplication (MatMul) is at the
heart of today’s computing. The recent Maddness111Multiply-ADDitioN-lESS
method approximates MatMul without the need for multiplication by using a
hash-based version of product quantization (PQ) indexing into a look-up table
(Look-Up Table (LUT)). Stella Nera222Named after an album of the famous Swiss
musicians Patent Ochsner is the first Maddness accelerator and it achieves 15x
higher area efficiency (GMAC/s/mm2) and a more than 25x higher energy
efficiency (TMAC/s/W) than direct MatMul accelerators implemented in the same
technology. The hash function is a decision tree, which allows for an
efficient hardware implementation as the multiply-accumulate operations are
replaced by decision tree passes and LUT lookups. The entire Maddness MatMul
can be broken down into parts that allow an effective implementation with
small computing units and memories, allowing it to reach extreme efficiency
while remaining generically applicable for MatMul tasks. In a commercial 14 nm
technology and scaled to 3 nm, we achieve an energy efficiency of 161
<EMAIL_ADDRESS>with a Top-1 accuracy on CIFAR-10 of more than 92.5% using
ResNet9.

††copyright: CC††conference: arXiv; cs.AR; preprint††isbn:  Figure 1. Key
steps in Maddness: 1 The input row of the matrix $\mathbf{A}$ is divided into
$C$ codebooks. 2 Each codebook passes through the encoding function, which
maps to the closest prototype. 3 Encoding output and $c$ form the address into
the LUT 4 . Decoding: the LUT-values from all $C$ codebooks are accumulated 5
. Result is written to output $\mathbf{AB}$ 6 .

##  1\. Introduction

Notwithstanding the end of Dennard’s Scaling (Dennard et al., 1974), the
latest technology nodes still achieved a $\mathrm{\sim 1.8\times}$ better
transistor density, a $\mathrm{\sim 1.1\times}$ increased maximum frequency,
and a $\mathrm{\sim 1.3\times}$ power reduction (Liu, 2021) generation over
generation. Despite the resulting $\mathrm{\sim 1.45\times}$ per-generation
energy efficiency improvement on the technology side, the insatiable demand
for more computational speed and efficiency needs algorithmic and
architectural optimizations to keep up with the fast-paced innovations and
ever-growing models for deep learning (Sevilla et al., 2022). As recognized by
AMD, the “energy consumption is the primary limiting factor in maintaining the
historical rate of performance improvements” (Su and Naffziger, 2023).

To address this challenge, academia and industry proposed and implemented a
multitude of Domain-Specific Architectures (DSA) to accelerate and reduce the
power consumption of the most common Machine Learning (ML) workloads. The main
optimization target is MatMul, one of the most ubiquitous and critical
algorithms that greatly impact overall efficiency and performance. Most of
these accelerators exploit quantization to reduce the datapath width, prune
the model or exploit sparsity patterns (Ren et al., 2023; Lin et al., 2023;
Reggiani et al., 2023; Khaleghi et al., 2022) to save on the logic and memory
needed for computation and storage, achieving significant improvements in
energy efficiency (Reuther et al., 2022; Scherer et al., 2022; Andri et al.,
2018). However, like Moore’s Law, quantization is reaching its limits too
(Rusci et al., 2018; Andri et al., 2021), as Binary Neural Networks (BNNs)
encode their weights into bits, the atomic unit of information.

D. Blalock et al. recently presented Maddness (Blalock and Guttag, 2021) as a
promising alternative to increase MatMul’s efficiency. For the typical ML
scenario where one matrix of the MatMul (i.e. the weight matrix) is known
ahead of time, Maddness approximates the matrix multiplication by using a
hashed version of Product Quantization (PQ) (Jégou et al., 2011) instead of
approximating the result by means of a data bit-width reduction. The used hash
is a balanced binary regression tree that calculates the following LUT index
during the encoding step. Eventually, the accumulation of the looked-up LUT
elements yields the result of the MatMul during the following decoding stage.
This process replaces all costly Multiply and Accumulate (MACC) operations
with inexpensive additions, simplifying the overall MatMul to shifts, adds,
and comparisons, paving the way for efficient hardware acceleration.

This work presents the following contributions:

  * •

Stella Nera, the open-source and fully parameterized implementation of a
Maddness hardware accelerator. Achieving an energy efficiency of up to 43.1
<EMAIL_ADDRESS>with a throughput of 2.9<EMAIL_ADDRESS>in a competitive commercial
14nm technology.

  * •

We propose the first formulation of Maddness that is differentiable, allowing
the method to be used for Deep Neural Networks (DNN) training.

  * •

Fully tested differentiable Maddness drop-in Linear and Conv2D layers for
PyTorch.

  * •

End-to-end results for ResNet9 (He et al., 2016) on CIFAR-10 reaching an
accuracy of 92.6% a difference of 1.2% to the FP32 baseline.

All the results, RTL implementation, verification tests, algorithm
implementation, PyTorch layers (including rigorous testing), training scripts,
and artefacts are available open-source on
https://github.com/joennlae/halutmatmul.

##  2\. Related Work

Our work is influenced by fundamental algorithmic advancements in the encoding
function. This function allows us to control the trade-off between accuracy
and encoding speed. Matsui et al. provide a comprehensive overview of research
directions in the field of product quantization (Matsui et al., 2018, Fig.1).
D. Blalock et al. proposed a fast and efficient encoding function with Bolt
(Blalock and Guttag, 2017) by reducing the number of centroids and increasing
the number of subvectors compared to previous PQ implementations. However, the
similarity function is still norm-based. Maddness improved upon Bolt by
replacing the $l_{2}$-norm similarity function
($\operatorname{\operatorname*{arg\,min}}$) during the encoding process with a
balanced binary regression tree (hash function).

One could also observe steady progress in applying PQ-based methods to DNNs.
T. Chen et al. (Chen et al., 2020) was the first to propose backpropagation by
utilizing the hard $\operatorname{\operatorname*{arg\,max}}$ in the forward
path and the differentiable $\mathrm{softmax}$ in the backward path to
compress embeddings. Ran et al. with PECAN (Ran et al., 2023) was the first to
replace an end-to-end CNN network, also introducing an $l_{1}$-norm-based
similarity measure. Tang et al. with LUT-NN (Tang et al., 2023), and Carter et
al. (McCarter and Dronen, 2022) further improved the training methods for end-
to-end replaced networks and extended it to BERT, in addition to CNNs, while
still using a norm-based encoding function limiting the potential speed-up as
one moves Ops from the MatMul to prototype matching in contrast to Maddness
where the ceiling is significantly higher.

There is literature on using hashing to accelerate dense layers in neural
networks. B. Chen et al. and Spring et al. (Chen et al., 2019, 2015; Spring
and Shrivastava, 2017) use locality-sensitive hashing to select which neurons
are active in the next layer. These methods significantly differ from Maddness
as their goal is to compress and, by that, reduce the number of operations of
the network compared to simply approximating the output of the MatMul,
allowing Maddness to be used more broadly.

Some of the above-mentioned works provide an optimized CPU implementation
using SIMD instructions while Fernandez-Marques et al. (Fernandez-Marques et
al., 2023) propose a custom PQ hardware accelerator (PQA) using an HLS-based
implementation on FPGA, although not providing any energy numbers. To the best
of our knowledge, we present the first implementation of a Maddness
accelerator.

##  3\. Background

Approximate Matrix Multiplication A general definition for Approximate Matrix
Multiplication (AMM) is

(1) $\mathinner{\\!\left\lVert\alpha\cdot
dec(enc(\mathbf{A}),l(\mathbf{B}))+\beta-\mathbf{AB}\right\rVert}_{F}<\epsilon(\tau)\mathinner{\\!\left\lVert\mathbf{A}\mathbf{B}\right\rVert}_{F},$

where $\mathbf{A}\in\mathbb{R}^{N\times D}$ and
$\mathbf{B}\in\mathbb{R}^{D\times M}$ are two matrices. Given $N\gg D\geq M$
and a time budget $\tau$, one has to find the three functions
$dec(\cdot,\cdot)$, $enc(\cdot)$ and $l(\cdot)$. For example, DNN meet the
requirement for the dimensions $N$, $D$, and $M$. Furthermore, DNN has a
weight matrix $\mathbf{B}$, which is known ahead of time in the inference
scenario, a key prerequisite for Maddness. $N$ can be seen as the number of
images that scale with the training data. $\alpha=1$ and $\beta=0$ as
normalized data is assumed. To complete the formulation, we assume a training
set $\mathbf{\tilde{A}}$, which is drawn from the same distribution as
$\mathbf{A}$. $\mathinner{\\!\left\lVert\mathbf{A}\right\rVert}_{F}$ refers to
the Frobenius norm

(2)
$\mathinner{\\!\left\lVert\mathbf{A}\right\rVert}_{F}=\sqrt{\sum_{i=1}^{N}\sum_{j=1}^{D}\mathinner{\\!\left\lVert
a_{ij}\right\rVert}^{2}}.$

Product Quantization PQ is a vector quantization method to approximate inner
products or distances for approximate nearest neighbour search (ANN).
Conceptually, PQ approximates
$\mathbf{a}\mathbf{b}\approx\tilde{\mathbf{a}}\mathbf{b}$ for small
$\mathinner{\\!\left\lVert\tilde{\mathbf{a}}-\mathbf{a}\right\rVert}$.
$\tilde{\mathbf{a}}$ consists of prototypes $\mathbf{P}$ that have been
learned ahead of time. The prototypes and the known matrix $\mathbf{B}$ are
multiplied offline to construct the lookup table $\mathbf{L}$ using
$\mathbf{P}$ and $\mathbf{B}$. An encoding function
$enc(\mathbf{a})=\tilde{\mathbf{a}}$ maps an input vector $\mathbf{a}$ to the
corresponding prototypes. The resulting prototype corresponds to an offline-
learned $\mathbf{L}$ entry. For each of the $C$ codebooks (i.e. subspaces),
the encoding function maps to one of the $K$ prototypes per subspace. During
decoding, the encoded entries of $\mathbf{L}$ are summed up to form the
result. Vector $\mathbf{a}$ is a row of $\mathbf{A}\in\mathbb{R}^{N\times D}$
and $\mathbf{b}$ is a column of $\mathbf{B}\in\mathbb{R}^{D\times M}$.

The essential components of PQ:

  * •

Learning of Prototypes Offline training phase to learn $\mathbf{P}$. One
splits the input matrix $\tilde{\mathbf{A}}$ into $C$ disjoint subspaces and
learns $K$ prototypes via K-means. Use $\tilde{\mathbf{A}}$ as the training
set, $K$ prototypes per subspace, and $C$ the number of subspaces. Define
$\\{\mathbb{I}_{c}\\}_{c=1}^{C}$ as the indices used in every subspace. The
subspaces created by these indices need to be disjoint. Learning prototypes
$\mathbf{P}\in\mathbb{R}^{|\mathbb{I}_{c}|\times K\times C}$ means minimizing

(3)
$\sum_{n=1}^{N}\sum_{c=1}^{C}\sum_{i\in\mathbb{I}_{c}}(\tilde{\mathbf{A}}_{ni}-\mathbf{P}_{i,\mathbf{z},c})^{2}.$

One can achieve that by running K-means in every subspace $\mathbb{I}_{c}$ to
learn the cluster mapping
$\mathbf{z}_{n,c,i}\in\mathbb{R}^{\mathbb{N}}=\mathbf{z}$ and write the
resulting centroids into $\mathbf{P}_{c}\in\mathbb{R}^{|\mathbb{I}_{c}|\times
K}$ where $|\mathbf{\mathbb{I}_{c}}|=\frac{D}{C}$.

  * •

Encoding Function $enc(\mathbf{A},\mathbf{P})$ 2 A function that calculates
the closest prototype based on a similarity measurement. This is done for
every subspace $C$, resulting in $C$ encoding indices per input row. The
default similarity measurement $l_{2}$-norm results in the encoding function

(4)
$enc_{c}(\mathbf{a})=\underset{k}{\operatorname{\operatorname*{arg\,min}}}\sum_{i\in\mathbb{I}_{c}}(\mathbf{a}_{i}-\mathbf{P}_{i,k,c})^{2}.$

  * •

LUT $\mathbf{L}\in\mathbb{R}^{M\times C\times K}$ 4 is computed offline using
the determined prototypes $\mathbf{P}\in\mathbb{R}^{\frac{D}{C}\times K\times
C}$ and weight matrix $\mathbf{B}\in\mathbb{R}^{D\times M}$. Let
$\tilde{\mathbf{P}}\in\mathbb{R}^{D\times K\times C}$ be the expanded version
of $\mathbf{P}$ where one adds zero for all indices in the first dimension
that are not in the corresponding subspace $i\not\in\mathbb{I}_{c}$. After
reordering the dimensions $\tilde{\mathbf{P}}\in\mathbb{R}^{D\times K\times
C}\rightarrow\tilde{\mathbf{P}}\in\mathbb{R}^{C\times K\times D}$,

(5)
$lut(\mathbf{B}^{T},\tilde{\mathbf{P}})=\mathbf{L}_{m,c,k}=\sum_{i=1}^{D}\mathbf{B}_{m,i}\mathbf{P}_{c,k,i}.$

  * •

Accumulation $dec(enc(\mathbf{a},\mathbf{P}),\mathbf{L})$ 5 sums over $C$
lookup table entries with the determined indices from the encoding step,

(6) $(\mathbf{AB})_{n,m}\approx\sum_{c=1}^{C}\mathbf{L}_{m,c,k},\
k=enc_{c}(\mathbf{a}_{n}).$

###  3.1. Maddness

Maddness replaces two components of PQ: the encoding function
$enc_{c}(\mathbf{a})$ and the values stored in the LUT $\mathbf{L}$ ( 4 Fig.
1). A balanced binary tree ( 2 Fig. 1) replaces the hash function and the
results of the vector-vector multiplication between the prototypes
$\mathbf{P}$ and the matrix $\mathbf{B}$ are stored inside $\mathbf{L}$. Using
a hash function instead of the $l_{2}$-norm $\mathinner{\\!\left\lVert
a-b\right\rVert}_{2}$ results in a significant speedup with a slight accuracy
loss. This allows Maddness to be used on large input matrices $\mathbf{A}$ as
every input row has to be encoded.

##  4\. Differentiable Maddness

A significant limitation of the hash function is its non-differentiable
nature, making it unusable in gradient-based optimizations. This reformulation
builds on the previous work by Zhang (Zhang, 2022) for decision trees.

Let $\mathbf{S}_{c}\in\\{0,1\\}^{15\times 4}$ be the selection matrix and
$\mathbf{H}_{c}\in\\{-1,0,1\\}^{16\times 15}$ the tree description matrix.

$1$ $0$ $0$ $1$ $0$ $1$ $\left[\vbox{\hrule
height=31.53203pt,depth=31.53203pt,width=0.0pt}\right.$$\left.\vbox{\hrule
height=31.53203pt,depth=31.53203pt,width=0.0pt}\right]$$\mathbf{S}\enspace=$
$-1$ $-1$ $0$ $-1$ $1$ $0$ $1$ $0$ $-1$ $1$ $0$ $1$ $\left[\vbox{\hrule
height=30.86504pt,depth=30.86504pt,width=0.0pt}\right.$$\left.\vbox{\hrule
height=30.86504pt,depth=30.86504pt,width=0.0pt}\right]$$\mathbf{H}\enspace=$$t_{0}$$t_{1}$01$t_{2}$23
Figure 2. Example: $\mathbf{S}$/$\mathbf{H}$ for the small two-level decision
tree.

To parallelize over multiple codebooks, let:

(7)
$\mathbf{S}=\bigoplus_{i=1}^{C}\mathbf{S}_{i}=\mathrm{diag}(\mathbf{S}_{1},\mathbf{S}_{2},..,\mathbf{S}_{C}),\quad\mathbf{H}=\bigoplus_{i=1}^{C}\mathbf{H}_{i}=\mathrm{diag}(\mathbf{H}_{1},\mathbf{H}_{2},..,\mathbf{H}_{C})$

Let $\theta\in\mathbb{R}^{C\times 15}$ be the decision threshold vector. Then,
we define the encoding matrix

(8)
$\mathbf{E}=\operatorname{\operatorname*{arg\,max}}(\mathbf{H}\sigma(\mathbf{S}\mathbf{X}-\theta)),$

where $\sigma=\mathrm{sign}$ function. Equation 8 is for the forward pass. To
calculate the gradient, we formulate

(9) $\mathbf{E}_{soft}=\mathrm{softmax}(\mathbf{H\sigma(\mathbf{SX}-\theta)}$

using $\sigma=\mathrm{tanh}$. This allows us to pass the gradient back through
the decision tree by employing the technique of straight-through estimator
(STE) (Bengio et al., 2013).

Using $\mathbf{E}\in\\{0,1\\}^{N\times C\times K}$ and the LUT $\mathbf{L}$
(from (5)), we first sum over $K$, then accumulate over $C$:

(10)
$\mathbf{I}_{n,m,c}=\sum_{i=1}^{K}\mathbf{E}_{n,c,i}\mathbf{L}_{m,c,i},\qquad\left(\mathbf{AB}\right)_{n,m}=\sum_{i=1}^{C}\mathbf{I}_{n,m,c}.$

Using this approach to backpropagate the gradient, we provide a PyTorch
implementation for Linear and Conv2D layers. This approach can also be used to
increase accuracy after the offline Maddness initialization or to start from a
random initialization.

Before applying Maddness, Conv2D layers use the im2col method (Cavigelli et
al., 2015) to convert the Conv2D to a MatMul using input
$\mathbf{X}\in\mathbb{R}^{N\times C_{i}\times H_{i}\times W_{i}}$, weights
$\mathbf{W}\in\mathbb{R}^{C_{o}\times C_{i}\times h_{k}\times w_{k}}$, the
im2col transformed input $\mathbf{\tilde{X}}\in\mathbb{R}^{N\cdot H_{i}\cdot
W_{i}\times C_{i}\cdot h_{k}\cdot w_{k}}$ is defined as

$\mathbf{\tilde{X}}(b\cdot N+o_{x}\cdot W_{i}\cdot o_{y},i_{c}\cdot h_{k}\cdot
w_{k}+k_{x}\cdot w_{k}+k_{y})=\mathbf{X}(b,i_{c},o_{x}+k_{x},o_{y}+k_{x})$

for padding and stride equals 1 with $b=1,\dots,N,\ i_{c}=1,\dots,C_{i},\
o_{x}\ \mathrm{and}\ o_{y}=1,\dots,H_{i}\ \mathrm{and}\ W_{i},\ k_{x}\
\mathrm{and}\ k_{y}=1,\dots,h_{k}\ \mathrm{and}\ w_{k}$.
$\mathbf{\tilde{W}}\in\mathbb{R}^{C_{i}\cdot h_{k}\cdot w_{k}\times C_{o}}$
are the transformed weights. Resulting in the Conv2D being represented as
$\mathbf{\mathbf{O}=\mathbf{\tilde{X}}}\cdot\mathbf{\tilde{W}}$ a MatMul with
an inner dimension $D$ of $C_{i}\cdot h_{k}\cdot w_{k}$ allowing us to learn
one codebook per input channel when using a codebook width of $h_{k}\cdot
w_{k}$. Whereas for kn2col $(H_{i}\cdot W_{i}\times C_{i})\times(C_{i}\times
k_{x}\cdot k_{y}\cdot C_{o})$ with an inner dimension of $C_{i}$ using the
same codebook-width, keeping the LUT size equal, results in lower accuracy due
to the resulting prototypes being across channels.

To learn the LUT in INT8, we employ another STE where the INT8 LUT is used
during the forward pass and, in the backward pass the floating-point version
of the LUT. After each backward pass, the INT8 LUT is requantized.

##  5\. Architecture

Figure 3. Architecture of Stella Nera: 1 The input gets split up into the four
encoders. The encoders are offset by one cycle and need four cycles to
traverse a tree. This leads to one valid output per cycle 2 . The encoded
value and the current $C$ are the LUT address 3 . After C cycles, all decoders
have a valid result. A multiplexer selects the results in order 4 .

We will describe the architecture from the ground up, beginning with encoding
and decoding units and gradually building up to a complete system capable of
handling a ResNet-like architecture.

Encoding Unit To encode an input vector, the encoding unit moves through the
binary balanced tree. It takes four cycles to generate a valid encoding, as it
needs to go through all four levels of the tree ($K=16$). Each Stella Nera
accelerator implementation has four encoders that build a unit. These encoders
operate with a one-tree-level/cycle offset to produce one valid encoding per
cycle together. The depth of the tree (i.e. the number of prototypes
$\sqrt{K}$) is a parameter of the Stella Nera architecture. $K=16$ results in
the best accuracy vs. performance trade-off (Tang et al., 2023).

Figure 4. Schematic of the Encoding Unit

Decoding Unit The LUT used by Stella Nera is built with standard cell-based
memory (SCM), and it processes one encoded value or address into the LUT per
cycle. The value obtained from the LUT is then added to the current
accumulation. After C accumulations (6), the output value is the accumulated
value. Two variants were implemented, namely, INT8 LUT and INT24 accumulation
and FP16/FP32. As the LUT is already approximate, the use of INT8 results in a
negligible accuracy drop, as also found by Tang et al. (Tang et al., 2023).
Therefore, we will only report the results of the INT8/INT24 version.

System & Scaling When we combine encoder and decoder, as illustrated in Fig.
3, we get the Stella Nera accelerator. The schematic shows four encoders and
eight decoders, with four encoders producing one output per cycle.

Stella Nera has two scaling parameters. The first is the total number of
decoders called $N_{dec}$, while the second is the number of codebooks,
$C_{dec}$, per decoder. It is important to note that the subparameter
$W_{dec}$ encompasses the number of output values per cycle, which is
necessary when $N_{dec}$ is greater than $C_{dec}$. In such a case, serving
all outputs in the $C_{dec}$ cycles required to calculate the next value would
not be possible.

The most effective approach is to combine multiple smaller units based on the
given problem size. For example, if we have four Stella Nera units with
$N_{dec}=64$ , $C_{dec}=16$ and $W_{dec}=8$, we can tile in all three tiling
directions: $N,D,M$, providing maximum flexibility. However, an additional
adder is required if we tile in the $D$ (i.e., $C$) direction.

Figure 5. Schematic of the Decoding Unit

##  6\. Algorithmic Results

| ISSCC | ISSCC | ISSCC | Nature Elec. | VLSI Symp. | DATE | This work | This work
---|---|---|---|---|---|---|---|---
|  2022 (Park et al., 2022) |  2020 (Lin et al., 2020) |  2021 (Agrawal et al., 2021) |  2023 (Gallo et al., 2023) |  2018 (Anders et al., 2018) |  2022 (Tortorella et al., 2022) | 4 units | scaled5
Technology [nm] | 4 | 7 | 7 | 14 | 14 | 22 | 14 | 3
Power Supply [V] | 0.55 | 0.575 | 0.55 | 0.85 | 0.55 | 0.65 | 0.55 | 0.55
Precision | INT81 | INT81 | INT41 | 12b ADC | INT8 | FP16 | INT8 (LUT) | INT8 (LUT)
ResNet9 Acc. [%] | 93.67 | 93.67 | 91.77 | 92.86 | 93.67 | 93.7 | 92.6 | 92.6
Peak Energy Eff. [TOp/s/W] | 11.62 | 6.8 | 16.5 | 1.7 | 5.2 | 0.7 | 43.14 | 1614
Peak Area Eff. [TOp/s/mm2] | 3.452 | 0.43 | 3.3 | 0.34 | 1.73 | 0.06 | 5.14 | 1634
Peak Perf. [TOp/s] | 19.7 | 1.23 | 64 | 1.7 | 0.043 | 0.03 | 2.94 | 4.14
Area [mm2] | 4.74 | 3.04 | 19.6 | 11.18 | 0.03 | 0.5 | 0.57 | 0.025
Frequency [MHz] | 332 | 290 | 1’000 | - | 400 | 476 | 624 | 886
Power [mW] | 3812 | 174 | 3’8803 | - | 8 | 43.5 | 60.9 | 23.0

  * 1

These chips support additional precisions. 3 Inferred numbers. 4 using a
codebook width $CW=9$. 5 scaled using (Sarangi and Baas, 2021) and (Liu, 2021)

  * 2

End-to-end energy numbers running MobileNetEdgeTPU. Their peak energy
efficiency is higher.

  * 6

They use slightly different channel numbers to fit their specific
architecture.

  * 7

Trained via quantization-aware training (QAT) using PyTorch, the code is
available online. 8 Area for 8 cores.

Table 1. Comparison of state-of-the-art. 1 MAC = 2 Ops.

We evaluated our differentiable implementation of Maddness using the ResNet9
architecture with the channel numbers $[64,128,128,\allowbreak
256,256,256,256]$, which is a commonly used benchmark architecture for edge
scenarios in deep learning. The dataset used for training and evaluation was
CIFAR-10. A base model was trained for $N=200$ epochs with a batch size of
$128$.

Figure 6. Key metrics for the ResNet9 training colored with the three
different stages  pre-training,  layer-by-layer and  fine-tuning.

For fine-tuning with Maddness, we replaced the layers using a codebook width
of $CW=9$ and a number of prototypes $K=16$. This resulted in a LUT table size
twice the size of the weights and one unrolled $3\times 3$ kernel per
codebook. The replaced layers were initialized using the Maddness algorithm
(Blalock and Guttag, 2021, Algorithm 2). For each layer, the network was
trained for $N=25$ epochs with a learning rate $\eta=10^{-3}$ and half of that
learning rate for the thresholds using a cosine annealing scheduler with a
$T_{max}=25$ and a $\eta_{min}=2\cdot 10^{-4}$.

We followed the common practice of calculating the first and last layer in
FP16. In our case, these are less than 1% of compute operations. Once all
layers were replaced, the network was trained for $N=1000$ epochs with a
learning rate $\eta=5\cdot 10^{-4}$ using a cosine annealing scheduler with
$T_{max}=1000$. We employed commonly used tactics such as random cropping and
random horizontal flipping. The pre-training, layer-by-layer and fine-tuning
stages are visualized in Fig. 6. We achieved an end-to-end accuracy of 92.64%
(see Table 1).

##  7\. Hardware Evaluation

Physical Implementation Our accelerator was implemented using industry-
standard EDA tools and a 14nm technology. All the numbers presented are taken
from an SDF backannotated activity-based post-layout simulation (TT, 0.55V,
25∘C) for energy or extracted from the post-layout design running a MatMul
using randomly generated inputs. The Stella Nera accelerator runs at 624 MHz
(using a maximum of five levels of logic), accounting for hold and setup
timing in the respective worst-case conditions. The floorplan of the Stella
Nera accelerator, which uses $N_{dec}=64$, $W_{dec}=8$, $C_{dec}=16$, is shown
in Fig. 7. As expected, a significant portion of the area is used by LUTs,
shown with the  numbers. One can also spot the four encoding units in  and
INT8/INT24 adders in  .

Figure 7. Physical implementation of a Stella Nera accelerator with unit
$N_{dec}=64$, $W_{dec}=8$, $C_{dec}=16$ using a commercial 14nm technology.
The core area for this implementation is 350µm$\times$350µm at a utilization
of 85% (860 kGE).

Subunit Analysis Table 2 gives an overview of each subunit of the Stella Nera
accelerator during the Maddness execution. The energy needed per LUT lookup is
$0.23$ pJ, significantly higher than the negligible amount of energy consumed
by the INT8/INT24 adder. This means that inexpensive tiling along the $D$
(i.e., $C$) direction of the MatMul can be achieved by adding an additional
adder when using multiple Stella Nera units. One decoding operation involves
$CW$ MACs or $CW\cdot 2$ Ops, resulting in an Energy/Op of around 30 fJ for
$CW=9$. The encoding energy is divided by all decoders $P_{dec}$ as they use
the same encoding.

Table 2. Subunit area, power, and energy per operation during the execution of
Maddness in 14nm, TT, LVT, 0.55V.

System Results For our proposed system, we combine four Stella Nera units
($P_{dec}=64,W_{dec}=64,C_{dec}=16$) together. Expect for twice the size of
the ”weights” (for $CW=9$), i.e., LUT, the bandwidth needs compared to the
standard MatMul stay the same, and no weight buffer is needed as the weights
are stored inside the accelerator. We compare with the state-of-the-art in
Table 1. We also provide scaled numbers for the newest technology we compare,
using DeepScaleTool (Sarangi and Baas, 2021) from 14nm to 7nm and foundry-
published scale numbers from 7nm to 3nm (Liu, 2021). As our current
implementation uses FP16 as input and will output FP16 in the end, we need an
INT8 to FP16 conversion, a scaling plus a shift resulting in an FMA operation.
To account for that, we add two FP16 FMA units (Mach et al., 2020) per unit,
each capable of two conversions per cycle. This adds 13.7 pJ/cycle or 8.5 mW
(23.3%) to the four units Stella Nera system. Resulting in 984 inf/sec @
23.7uJ per inference (in 14 nm) for ResNet9, where of 9.2uJ are spent in the
first nonaccelerated FP16 layer.

##  8\. Future Work

While our proposed differentiable Maddness implementation has demonstrated
promising results, the model size of ResNet9 is around eight times larger in
parameter size compared to cutting-edge models. Some encouraging directions
are model architectures that are more suitable to Maddness, eliminating the
need for INT8 to FP16 conversion by quantizing the input and thresholds,
temperature parameters for the STEs to reach higher accuracy, and connecting
the encoder and adders directly to an existing SRAM in a system.

##  9\. Conclusion

We present the first differentiable implementation of Maddness unlocking DNN
training. We provide the necessary training scripts and artefacts for a 92.5%+
accuracy ResNet9 model using Maddness. We introduce Stella Nera, a fully
parametrizable, open-source Maddness accelerator implemented in a 14nm
technology. It reaches an energy efficiency of 43.1<EMAIL_ADDRESS>in 14 nm or
161<EMAIL_ADDRESS>scaled to 3 nm with a peak performance of 2.9 TOp/s and 4.1
TOp/s respectively, resulting in 15x higher area efficiency and 25x higher
energy efficiency than the state-of-the-art. Code, RTL and scripts are
available on https://github.com/joennlae/halutmatmul.

## References

  * (1)
  * Agrawal et al. (2021) Ankur Agrawal et al. 2021.  9.1 A 7nm 4-core AI chip with 25.6 TFLOPS hybrid FP8 training, 102.4 TOPS INT4 inference and workload-aware throttling. In _Proc. IEEE ISSCC_ , Vol. 64. 144–146.
  * Anders et al. (2018) Mark Anders et al. 2018.  2.9 tops/w reconfigurable dense/sparse matrix-multiply accelerator with unified int8/inti6/fp16 datapath in 14nm tri-gate cmos. In _2018 IEEE Symposium on VLSI Circuits_. IEEE, 39–40.
  * Andri et al. (2018) Renzo Andri et al. 2018.  Hyperdrive: A Systolically Scalable Binary-Weight CNN Inference Engine for mW IoT End-Nodes. In _Proc. IEEE ISVLSI_. 509–515.
  * Andri et al. (2021) Renzo Andri et al. 2021.  ChewBaccaNN: A Flexible 223 TOPS/W BNN Accelerator. In _Proc. IEEE ISCAS_.  https://doi.org/10.1109/ISCAS51556.2021.9401214
  * Bengio et al. (2013) Yoshua Bengio, Nicholas Léonard, and Aaron Courville. 2013.  Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation.  arXiv:1308.3432 [cs.LG]
  * Blalock and Guttag (2021) Davis Blalock and John Guttag. 2021.  Multiplying matrices without multiplying. In _International Conference on Machine Learning_. PMLR, 992–1004.
  * Blalock and Guttag (2017) Davis W Blalock and John V Guttag. 2017.  Bolt: Accelerated data mining with fast vector compression. In _Proc. ACM KDD_. 727–735.
  * Cavigelli et al. (2015) Lukas Cavigelli, Michele Magno, and Luca Benini. 2015.  Accelerating Real-Time Embedded Scene Labeling with Convolutional Networks. In _Proc. ACM/IEEE Design Automation Conference_.
  * Chen et al. (2019) Beidi Chen, Tharun Medini, and Anshumali Shrivastava. 2019.  SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems.  _arXiv:1903.03129_ (2019).
  * Chen et al. (2020) Ting Chen, Lala Li, and Yizhou Sun. 2020.  Differentiable Product Quantization for End-to-End Embedding Compression. In _Proc. ICML_. 1617–1626.
  * Chen et al. (2015) Wenlin Chen et al. 2015.  Compressing Neural Networks with the Hashing Trick. In _Proceedings of the 32nd International Conference on Machine Learning_. PMLR.
  * Dennard et al. (1974) R.H. Dennard et al. 1974.  Design of ion-implanted MOSFET’s with very small physical dimensions.  _IEEE Journal of Solid-State Circuits_ 9, 5 (1974), 256–268.
  * Fernandez-Marques et al. (2023) Javier Fernandez-Marques et al. 2023.  Are We There Yet? Product Quantization and its Hardware Acceleration.  arXiv:2305.18334 [cs.AR]
  * Gallo et al. (2023) Manuel Le Gallo et al. 2023.  A 64-core mixed-signal in-memory compute chip based on phase-change memory for deep neural network inference.  _Nature Electronics_ 6, 9 (Aug. 2023), 680–693.
  * He et al. (2016) Kaiming He et al. 2016.  Deep residual learning for image recognition. In _Proceedings of the IEEE conference on computer vision and pattern recognition_. 770–778.
  * Jégou et al. (2011) Herve Jégou, Matthijs Douze, and Cordelia Schmid. 2011.  Product Quantization for Nearest Neighbor Search.  _IEEE Trans. on Patt. Analysis and Machine Int._ (2011).
  * Khaleghi et al. (2022) Behnam Khaleghi et al. 2022.  PatterNet: Explore and Exploit Filter Patterns for Efficient Deep Neural Networks. In _Proc. ACM/IEEE DAC_.
  * Lin et al. (2020) Chien-Hung Lin et al. 2020.  7.1 A 3.4-to-13.3 TOPS/W 3.6 TOPS dual-core deep-learning accelerator for versatile AI applications in 7nm 5G smartphone SoC. In _Proc. IEEE ISSCC_. 134–136.
  * Lin et al. (2023) Xiaolong Lin et al. 2023.  AdaS: A Fast and Energy-Efficient CNN Accelerator Exploiting Bit-Sparsity. In _Proc. ACM/IEEE DAC_.
  * Liu (2021) Mark Liu. 2021.  1.1 Unleashing the Future of Innovation. In _2021 IEEE International Solid-State Circuits Conference (ISSCC)_ , Vol. 64. 9–16.
  * Mach et al. (2020) Stefan Mach et al. 2020.  FPnew: An open-source multiformat floating-point unit architecture for energy-proportional transprecision computing.  _IEEE Transactions on Very Large Scale Integration (VLSI) Systems_ 29, 4 (2020), 774–787.
  * Matsui et al. (2018) Yusuke Matsui et al. 2018.  A survey of product quantization.  _ITE Trans. on Media Technology and Applications_ 6, 1 (2018), 2–10.
  * McCarter and Dronen (2022) Calvin McCarter and Nicholas Dronen. 2022.  Look-ups are not (yet) all you need for deep learning inference.  _arXiv preprint arXiv:2207.05808_ (2022).
  * Park et al. (2022) Jun-Seok Park et al. 2022.  A Multi-Mode 8K-MAC HW-Utilization-Aware Neural Processing Unit with a Unified Multi-Precision Datapath in 4nm Flagship Mobile SoC. In _Proc. IEEE ISSCC_ , Vol. 65. 246–248.
  * Ran et al. (2023) Jie Ran et al. 2023.  PECAN: A Product-Quantized Content Addressable Memory Network. In _Proc. IEEE DATE_.
  * Reggiani et al. (2023) Enrico Reggiani, Renzo Andri, and Lukas Cavigelli. 2023.  Flex-SFU: Accelerating DNN Activation Functions by Non-Uniform Piecewise Approximation. In _Proc. ACM/IEEE Design Automation Conference (DAC)_.
  * Ren et al. (2023) Ao Ren et al. 2023.  HBP: Hierarchically Balanced Pruning and Accelerator Co-Design for Efficient DNN Inference. In _Proc. ACM/IEEE DAC_.
  * Reuther et al. (2022) Albert Reuther et al. 2022.  AI and ML Accelerator Survey and Trends. In _2022 IEEE High Performance Extreme Computing Conference (HPEC)_. 1–10.
  * Rusci et al. (2018) Manuele Rusci, Lukas Cavigelli, and Luca Benini. 2018.  Design Automation for Binarized Neural Networks: A Quantum Leap Opportunity?. In _2018 IEEE International Symposium on Circuits and Systems (ISCAS)_.
  * Sarangi and Baas (2021) Satyabrata Sarangi and Bevan Baas. 2021.  DeepScaleTool: A Tool for the Accurate Estimation of Technology Scaling in the Deep-Submicron Era. In _Proc. IEEE ISCAS_.
  * Scherer et al. (2022) Moritz Scherer et al. 2022.  CUTIE: Beyond PetaOp/s/W Ternary DNN Inference Acceleration With Better-Than-Binary Energy Efficiency.  _IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems_ 41, 4 (2022), 1020–1033.
  * Sevilla et al. (2022) Jaime Sevilla et al. 2022.  Compute Trends Across Three Eras of Machine Learning. In _Proc. International Joint Conference on Neural Networks (IJCNN)_.
  * Spring and Shrivastava (2017) Ryan Spring and Anshumali Shrivastava. 2017.  Scalable and Sustainable Deep Learning via Randomized Hashing. In _Proceedings of the 23rd ACM SIGKDD_.
  * Su and Naffziger (2023) Lisa Su and Sam Naffziger. 2023.  1.1 Innovation For the Next Decade of Compute Efficiency. In _Proc. IEEE ISSCC_. 8–12.
  * Tang et al. (2023) Xiaohu Tang et al. 2023.  LUT-NN: Empower Efficient Neural Network Inference with Centroid Learning and Table Lookup. In _Proc. ACM MobiCom_.
  * Tortorella et al. (2022) Yvan Tortorella et al. 2022.  RedMulE: A Compact FP16 Matrix-Multiplication Accelerator for Adaptive Deep Learning on RISC-V-Based Ultra-Low-Power SoCs. In _Proc. IEEE DATE_.
  * Zhang (2022) Jinxiong Zhang. 2022.  Yet Another Representation of Binary Decision Trees: A Mathematical Demonstration.  arXiv:2101.07077 [cs.LG]