source: anr/task-5.tex @ 63

Last change on this file since 63 was 63, checked in by coach, 14 years ago

MAJ TIMA sur tâche 5 et ressources s7

File size: 5.5 KB
Line 
1% vim:set spell:
2% vim:spell spelllang=en:
3
4\begin{taskinfo}
5\let\UPMC\leader
6\let\TIMA\enable
7\let\ALTERA\enable
8\end{taskinfo}
9%
10\begin{objectif}
11This task pools the features dedicated to HPC system design. It is described on
12figures~\ref{coach-flow} and \ref{archi-hpc}. It consists in
13\begin{itemize}
14\item Helping the HPC designer to find a good partition of the initial application
15    (figure~\ref{archi-hpc}).
16\item Providing communication schemes between the software part running on the PC and the
17FPGA-SoC.
18\item Implementing the communication scheme at all levels: partition help, software
19implementation both on the PC and in the operating system of the FPGA-SoC, hardware.
20\item Providing support for dynamic partial reconfiguration of \xilinx FPGA in order
21to optimize FPGA ressource usage.
22\end{itemize}
23
24The low level hardware transmission support will be the PCI/X bus which allows high bit-rate
25transfers. The reasons of this choices are that both ALTERA and Xilinx provide PCI/X IP for
26their FPGA and that GPU HPC softwares use also it.
27This will allow us at least to be inspired by GPU communication schemes and may be to reuse
28parts of the GPU softwares.
29
30\end{objectif}
31%
32\begin{workpackage}
33\item This \ST is the definition of the communication schemes as a software API
34    (Application Programing Interface) between the application part running on the PC and
35    the application part running on the FPGA-SoC.
36    \begin{livrable}
37    \itemL{0}{6}{d}{\Supmc}{HPC communication API}{1.0:0:0}
38        \setMacroInAuxFile{hpcCommApi}
39        User reference manual describing the API.
40    \end{livrable}
41\item This \ST consists in helping to partition applications.
42    It is a library implementing the communication API with features to profile
43    the partitioned application.
44%FIXME (Olivier) pour moi, on veut un outil de profiling pour partitionner l'application.
45% It is a profiling (or simulation) library implementing the communication API
46
47    \begin{livrable}
48    \itemL{6}{12}{x}{\Supmc}{HPC partionning helper}{1:0:0}
49        A library implementing the communication API defined in the {\hpcCommApi} delivrable.
50    \end{livrable}
51\item This \ST deals with the implementation of the communication API on the both sides (PC
52    part and FPGA-SoC).
53    \begin{livrable}
54    \itemL{12}{21}{x}{\Supmc}{HPC API for Linux PC}{0:3:0}
55        The PC part of the HPC communication API that comminicates with the FPGA-SOC, a
56        library and probably a LINUX module.
57    \itemL{12}{21}{x}{\Supmc}{HPC API for MUTEK OS}{0:3:0}
58        \setMacroInAuxFile{hpcMutekDriver}
59        The FPGA-SoC part of the communication API, a driver.
60    \itemL{21}{24}{x}{\Stima}{HPC API for DNA OS}{0:3:0}
61        Port of the {\hpcMutekDriver} driver on the DNA OS.
62    \itemL{24}{33}{x}{\Supmc}{HPC API}{0:0:1}
63        Maintenance work of HPC API for both Linux PC and MUTEK OS.
64    \end{livrable}
65\item This \ST deals with the implementation of hardware and SystemC modules
66    required by the COACH architectural template for using the PCI/X IP of \altera and \xilinx.
67    \begin{livrable}
68    \itemL{9}{18}{h}{\Stima}{HPC hardware \xilinx}{3:9:0}
69        \setMacroInAuxFile{hpcPlbBridge}
70        The synthesizable VHDL description of a PLB/VCI bridge and its corresponding SystemC model.
71    \itemL{9}{18}{h}{\Saltera}{HPC hardware \altera}{0:0:0}
72        \setMacroInAuxFile{hpcAvalonBridge}
73        The synthesizable VHDL description of an AVALON/VCI bridge and its corresponding SystemC model.
74    \itemL{9}{24}{h}{\Supmc}{PCI/X traffic generator}{1:1:0}
75        The SystemC description of a component that generates PCI/X traffic. It is
76        required to prototype FPGA-SoC dedicated to HPC.
77    \end{livrable}
78
79\item This \ST consists in integrating dynamic partial reconfiguration of \xilinx FPGA in the CSG design flow.
80It also includes appropriate SoC-FPGA OS drivers and a modification of the profiling library.
81    \begin{livrable}
82    \itemL{18}{36}{x}{\Supmc}{CSG support for \ganttlf reconfiguration}{0:0:2}
83        Modification of CSG software to support statically reconfigurable task.
84    \itemL{18}{36}{x}{\Stima}{CSG module for \ganttlf dynamic reconfiguration}{0:6:12}
85                This livrable is a CSG module allowing to partition the task graph on
86                the dynamic partial reconfiguration regions. The resulting task-region assignement
87                is directly used for generation of bitstreams. The module also produces reconfiguration
88                management software to be run on the SoC-FPGA.
89    \itemL{18}{30}{x}{\Stima}{dynamic reconfiguration \ganttlf DNA drivers}{0:3:3}
90        \setMacroInAuxFile{hpcDynconfDriver}
91            The drivers required by the DNA OS in order to manage dynamic partial
92        reconfiguration inside the SoC-FPGA.
93    \itemL{30}{36}{x}{\Supmc}{dynamic reconfiguration \ganttlf MUTEK drivers}{0:0:1}
94        Port of the {\hpcDynconfDriver} drivers on the MUTEK OS.
95    \itemL{24}{36}{x}{\Stima}{Profiler for \ganttlf dynamic reconfiguration}{0:0:6}
96        Extension of the HPC partionning helper in order to integrate dynamic partial
97        reconfiguration dedicated features (reconfiguration time of regions, variable
98        number of coprocessors).
99    \end{livrable}
100\item This \ST is the delivery of 2 PCI/X \mustbecompleted{FIXME: Stratix4} FPGA board
101    with its PCI/X IP. These boards are dedicated to the COACH HPC development.
102    They are based on \mustbecompleted{FIXME:stratix4} FPGA device of 400,000 LUT.
103    \begin{livrable}
104    \itemL{0}{6}{m}{\Saltera}{HPC development boards}{0:0:0} Two PCI/X FPGA boards.
105    \end{livrable}
106\end{workpackage}
Note: See TracBrowser for help on using the repository browser.