source: anr/task-5.tex @ 143

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

IA: upadted Xilinx data

File size: 5.8 KB
RevLine 
[56]1% vim:set spell:
2% vim:spell spelllang=en:
3
[23]4\begin{taskinfo}
[126]5\let\BULL\leader
6\let\UPMC\enable
[23]7\let\TIMA\enable
[126]8\let\THALES\enable
[113]9\let\XILINX\enable
[23]10\end{taskinfo}
11%
12\begin{objectif}
13This task pools the features dedicated to HPC system design. It is described on
14figures~\ref{coach-flow} and \ref{archi-hpc}. It consists in
15\begin{itemize}
[111]16\item Providing a software tool that helps the HPC designer to find a good partition of the initial application
[56]17    (figure~\ref{archi-hpc}).
[126]18\item specification of the communication schemes between the software part running on the PC and the
19FPGA-SoC.
[38]20\item Implementing the communication scheme at all levels: partition help, software
[23]21implementation both on the PC and in the operating system of the FPGA-SoC, hardware.
[63]22\item Providing support for dynamic partial reconfiguration of \xilinx FPGA in order
23to optimize FPGA ressource usage.
[23]24\end{itemize}
[56]25
[23]26The low level hardware transmission support will be the PCI/X bus which allows high bit-rate
[134]27transfers. The reasons of this choices are that both \altera and \xilinx provide PCI/X IP for
[23]28their FPGA and that GPU HPC softwares use also it.
[111]29%This will allow us at least to be inspired by GPU communication schemes and may be to reuse
30%parts of the GPU softwares.
[56]31
[23]32\end{objectif}
33%
[112]34\mustbecompleted { FIXME :: Ne doit onpas fusionner les taches ST6-1, ST6-2, ST6-3 et pourquoi pas ST6-4 ???}
[52]35\begin{workpackage}
[123]36\subtask This \ST is the definition of the communication schemes as a software API
[23]37    (Application Programing Interface) between the application part running on the PC and
38    the application part running on the FPGA-SoC.
39    \begin{livrable}
[141]40    \itemL{0}{6}{d}{\Sbull}{HPC communication API}{2.0:0:0}
[52]41        \setMacroInAuxFile{hpcCommApi}
[111]42        Specification describing the API.
[23]43    \end{livrable}
[123]44\subtask This \ST consists in helping to partition applications.
[36]45    It is a library implementing the communication API with features to profile
[40]46    the partitioned application.
[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}
[123]51\subtask 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.
[134]57    \itemL{12}{21}{x}{\Supmc}{HPC API for MUTEKH OS}{0:3:0}
[52]58        \setMacroInAuxFile{hpcMutekDriver}
59        The FPGA-SoC part of the communication API, a driver.
[57]60    \itemL{21}{24}{x}{\Stima}{HPC API for DNA OS}{0:3:0}
[52]61        Port of the {\hpcMutekDriver} driver on the DNA OS.
62    \itemL{24}{33}{x}{\Supmc}{HPC API}{0:0:1}
[134]63        Maintenance work of HPC API for both Linux PC and MUTEKH OS.
[23]64    \end{livrable}
[123]65\subtask This \ST deals with the implementation of hardware and SystemC modules
[134]66    required by the neutral architectural template for using the PCI/X IP of \altera and \xilinx.
[23]67    \begin{livrable}
[57]68    \itemL{9}{18}{h}{\Stima}{HPC hardware \xilinx}{3:9:0}
[36]69        \setMacroInAuxFile{hpcPlbBridge}
70        The synthesizable VHDL description of a PLB/VCI bridge and its corresponding SystemC model.
[113]71    \itemL{9}{18}{h}{\Supmc}{HPC hardware \altera}{1:2:0}
[36]72        \setMacroInAuxFile{hpcAvalonBridge}
[40]73        The synthesizable VHDL description of an AVALON/VCI bridge and its corresponding SystemC model.
[59]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.
[23]77    \end{livrable}
[59]78
[123]79\subtask This \ST consists in integrating dynamic partial reconfiguration of \xilinx FPGA in the CSG design flow.
[56]80It also includes appropriate SoC-FPGA OS drivers and a modification of the profiling library.
[23]81    \begin{livrable}
[113]82    \itemL{24}{36}{x}{\Supmc}{CSG support for \ganttlf reconfiguration}{0:0:2}
[63]83        Modification of CSG software to support statically reconfigurable task.
[130]84    \itemL{18}{36}{x}{\Stima}{CSG module for \ganttlf dynamic reconfiguration}{0:4:12}
[63]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}
[52]90        \setMacroInAuxFile{hpcDynconfDriver}
[59]91            The drivers required by the DNA OS in order to manage dynamic partial
92        reconfiguration inside the SoC-FPGA.
[134]93    \itemL{30}{36}{x}{\Supmc}{dynamic reconfiguration \ganttlf MUTEKH drivers}{0:0:1}
94        Port of the {\hpcDynconfDriver} drivers on the MUTEKH OS.
[63]95    \itemL{24}{36}{x}{\Stima}{Profiler for \ganttlf dynamic reconfiguration}{0:0:6}
[59]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).
[143]99    \itemL{24}{36}{d}{\Sxilinx}{optimisation for \ganttlf \xilinx dynamic reconfiguration}{0:0:2}
[113]100        \xilinx will work with \tima in order to better take into account during
101        partitioning decisions specific constraints due to partial reconfiguration process.
102        The delivrable is a document describing the \xilinx specific constraints.
[59]103    \end{livrable}
[113]104%\item This \ST is the delivery of 2 PCI/X \mustbecompleted{FIXME: Stratix4} FPGA board
105%   with its PCI/X IP. These boards are dedicated to the COACH HPC development.
106%   They are based on \mustbecompleted{FIXME:stratix4} FPGA device of 400,000 LUT.
107%   \begin{livrable}
108%   \itemL{0}{6}{m}{\Saltera}{HPC development boards}{0:0:0} Two PCI/X FPGA boards.
109%   \end{livrable}
[23]110\end{workpackage}
Note: See TracBrowser for help on using the repository browser.