/articles/toma

To get this branch, use:
bzr branch http://darksoft.org/webbzr/articles/toma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
\begin{table}[htb]
\caption{\label{table:vars} List of variables used in code snippets}
\begin{tabularx}{\columnwidth} { llX }
\hline
Var          	    & Type     & Description \\
\hline
$n_p$        	    & int      & Number of projections \\
$\vdata{n}_t$	    & int2     & Dimensions of thread block \\
$n_q$               & int      & Number of pixels assigned per GPU thread \\
$n_s$               & int      & Size of an area assigned to a thread block \\
$s_d$               & int      & Size of data cache in projections \\
$s_t$               & int      & Caching threads per projection row \\
$\vdata{v}_a$  	    & float2   & The position of rotation axis \\
\hline
%$c_*$               & float[]  & Projection constants: $\cdot_c$ - cosines, $\cdot_s$ - sines, $\cdot_a$ -  offsets of rotational axis, $\cdot_m$ - coefficients to find bins required by a block  \\
$c_c$        	    & float[]  & Cosine values of the projection angles \\
$c_s$        	    & float[]  & Sine values of the projection angles \\
$c_a$        	    & float[]  & Coordinates of the rotational axis  \\
$c_m$               & float[]  & Coefficients to find bins required by a block \\

\hline
$m_p$        	    & int      & Projection index in a group \\
$m_d$               & int      & Mapping to select an offset in the cache \\
$\vdata{m}_b$       & int2     & Index of a thread block within the grid \\
$\vdata{m}_t$       & int2     & Index of a thread within the block \\
$\vdata{m}_g$       & int2     & Index of a thread within the grid \\
$\vdata{m}_*'$      & int2     & Re-mapped index \\
$\vdata{f}_*^*$	    & float2   & Pixel coordinate according to the mapping \\
\hline
$\vfloat{d}$        & float[][]& The cache storing a subset of sinogram  \\
$\vfloat{s}$ 	    & float[]  & Accumulator of a resulting pixel value \\
$\vfloat{r}$ 	    & float[][]& The reconstructed slice \\
\hline
$p_*$          	    & int      & Projection number; iterators ($p_b$, $p_i$) \\
$q_*$               & int      & Pixel block iterators \\
$h_*$          	    & various    & Positions in cache/sinogram \\
%$h_i$               & int      & The position of the required projection bin in the cache \\
%$h_f$               & float    & The floating-point representation of $h_i$ \\
%$h_l$               & float    & The offset from the center of bin (i.e. coefficient for linear interpolation) \\
%$h_b$               & float    & The bin required by the first thread of the block \\
%$h_m$        	    & float[]  & The smallest bin required by a thread block in the selected projection row \\

\hline
\end{tabularx}
\end{table}

%
%\begin{table}[htb]
%\caption{\label{table:alg_ss} Memory Domains}
%\begin{tabularx}{\columnwidth} { S{l}X }
%\hline
%Superscript   & Domain \\
%\hline
%$\gmem{\cdot}$     & Variable in global GPU memory \\
%$\cmem{\cdot}$     & Variable in constant memory \\
%$\shmem{\cdot}$    & Variable in shared memory \\
%\hline
%\end{tabularx}
%\end{table}