
\documentstyle{seminar}
\begin{document}

\begin{slide}
\begin{center}
{\bf Requirement (level 1) that may be specified by user}
\end{center}

\begin{itemize}
\item
No communication.
\item
Shift communication only.
\item
Remap communication only.
\item
Both shift and remap communications are needed.
\end{itemize}

\end{slide}

\begin{slide}
\begin{center}
{\bf Adjustable parameters for the random program to be generated}
\end{center}

lx, ux; ly, uy --- ranges of X and Y

ltx, utx; lty, uty --- ranges of templates TX and TY (tx, ty for sizes)

p --- number of processors

d1, d2 --- distribution patterns

ax, bx; ay, by --- alignment expressions for X and Y

l, u, s --- FORALL triplet

a1, b1; a2, b2 --- subscript expressions (referred as a and b in the following)

\end{slide}

\begin{slide}
\small
{\bf shift-homomorphic condition:}
\begin{equation}
\frac{ax}{ay*a} = \frac{tx}{ty}, ~~~ ax*s \equiv ay*a*s ~~(mod ~p)
\end{equation}

{\bf cannonical-equal-element condition:}
\begin{equation}
\begin{array}{r c l}
(a*l+b)*ay+by-lty+1 & = & \lceil(ax*l+bx-ltx+1)\frac{ay*a}{ax}\rceil \\
(a*l+b)*ay+by-lty & \equiv & (ax*l+bx-ltx) ~~(mod ~p)
\end{array}
\end{equation}

{\bf within-array-bound condition:}
\begin{equation}
lx \leq l < u \leq ux; ~~~ ly \leq a*l+b < a*u+b \leq uy
\end{equation}

{\bf within-template-bound condition:}
\begin{equation}
ltx \leq ax*lx+bx < ax*ux+bx \leq utx; ~~~ lty \leq ay*ly+by < ay*uy+by \leq
uty
\end{equation}
\end{slide}

\begin{slide}
\begin{center}
{\bf Correspondence between the constraints and the requirements}
\end{center}

\begin{itemize}
\item
No communication --- all of the four conditions. 
\item
Shift communication only --- no need for equal-element condition.
\item
Remap communication only --- only array-bound and template-bound
conditions.
\item
Both shift and remap communications are needed --- we let the first
rhs term shift and the second term remap.
\end{itemize}

\end{slide}
\normalsize
\end{document}
