source: anr/task-5.tex @ 56

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

Modifications de TIMA, task-5 et section-3.1 principalement

File size: 5.0 KB
RevLine 
[56]1% vim:set spell:
2% vim:spell spelllang=en:
3
[23]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
[56]15    (figure~\ref{archi-hpc}).
16\item Providing communication schemes between the software part running on the PC and the
[23]17FPGA-SoC.
[38]18\item Implementing the communication scheme at all levels: partition help, software
[23]19implementation both on the PC and in the operating system of the FPGA-SoC, hardware.
[56]20\item Providing support for dynamic partial reconfiguration of \xilinx FPGA in order to optimize FPGA ressource usage.
[23]21\end{itemize}
[56]22
[23]23The low level hardware transmission support will be the PCI/X bus which allows high bit-rate
24transfers. The reasons of this choices are that both ALTERA and Xilinx provide PCI/X IP for
25their FPGA and that GPU HPC softwares use also it.
[38]26This will allow us at least to be inspired by GPU communication schemes and may be to reuse
[23]27parts of the GPU softwares.
[56]28
29
[23]30\end{objectif}
31%
[52]32\begin{workpackage}
[38]33\item This \ST is the definition of the communication schemes as a software API
[23]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}
[52]37    \itemL{0}{6}{d}{\Supmc}{HPC communication API}{1.0:0:0}
38        \setMacroInAuxFile{hpcCommApi}
[56]39        User reference manual describing the API.
[23]40    \end{livrable}
[56]41\item This \ST consists in helping to partition applications.
[36]42    It is a library implementing the communication API with features to profile
[40]43    the partitioned application.
[56]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
[23]47    \begin{livrable}
[52]48    \itemL{6}{12}{x}{\Supmc}{HPC partionning helper}{1:0:0}
49        A library implementing the communication API defined in the {\hpcCommApi} delivrable.
[23]50    \end{livrable}
[40]51\item This \ST deals with the implementation of the communication API on the both sides (PC
[23]52    part and FPGA-SoC).
53    \begin{livrable}
[52]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:0:0}
61        Port of the {\hpcMutekDriver} driver on the DNA OS.
62    \itemL{24}{33}{x}{\Supmc}{HPC API}{0:0:1}
[56]63        Maintenance work of HPC API for both Linux PC and MUTEK OS.
[23]64    \end{livrable}
[40]65\item This \ST deals with the implementation of hardware required by the COACH
[23]66    architectural template for using the PCI/X IP of \altera and \xilinx.
67    \begin{livrable}
[52]68    \itemL{9}{18}{h}{\Stima}{HPC hardware \xilinx}{0:0:0}
[36]69        \setMacroInAuxFile{hpcPlbBridge}
70        The synthesizable VHDL description of a PLB/VCI bridge and its corresponding SystemC model.
[52]71    \itemL{9}{18}{h}{\Saltera}{HPC hardware \altera}{0:0:0}
[36]72        \setMacroInAuxFile{hpcAvalonBridge}
[40]73        The synthesizable VHDL description of an AVALON/VCI bridge and its corresponding SystemC model.
[23]74    \end{livrable}
[56]75\item This \ST consists in integrating dynamic partial reconfiguration of \xilinx FPGA in the CSG design flow.
76It also includes appropriate SoC-FPGA OS drivers and a modification of the profiling library.
77
[23]78    \begin{livrable}
[56]79    \itemL{18}{36}{x}{\Supmc}{CSG support for \ganttlf dynamic reconfiguration}
80        Extension of the \xilinx architectural template ({\csgAllArch})
81in order to integrate dynamic partial reconfiguration regions.
82Modification of CSG software to support the extended \xilinx template.
[52]83    \itemL{18}{30}{x}{\Stima}{dynamic reconfiguration \ganttlf DNA drivers}{0:0:0}
84        \setMacroInAuxFile{hpcDynconfDriver}
[56]85        The drivers required by the DNA OS in order to manage dynamic partial reconfiguration inside the SoC-FPGA.
[52]86    \itemL{30}{36}{x}{\Supmc}{dynamic reconfiguration \ganttlf MUTEK drivers}{0:0:1}
[56]87        Port of the {\hpcDynconfDriver} drivers on the MUTEK OS.
88    \itemL{18}{36}{x}{\Stima}{HPC support for \ganttlf dynamic reconfiguration}{0:0:2}
89Extension of the HPC partionning helper in order to integrate dynamic partial reconfiguration dedicated features
90(reconfiguration time of regions, variable number of coprocessors)
91\end{livrable}
[27]92\item This \ST is the delivery of 2 PCI/X \mustbecompleted{FIXME: Stratix4} FPGA board
93    with its PCI/X IP. These boards are dedicated to the COACH HPC development.
94    They are based on \mustbecompleted{FIXME:stratix4} FPGA device of 400,000 LUT.
95    \begin{livrable}
[52]96    \itemL{0}{6}{m}{\Saltera}{HPC development boards}{0:0:0} Two PCI/X FPGA boards.
[27]97    \end{livrable}
[23]98\end{workpackage}
Note: See TracBrowser for help on using the repository browser.