source: anr/task-5.tex @ 287

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

MAJ après réunion de travail Ivan, Magillem
Liste des livrables

File size: 5.6 KB
Line 
1% vim:set spell:
2% vim:spell spelllang=en:
3
4\begin{taskinfo}
5\let\BULL\leader
6\let\UPMC\enable
7\let\TIMA\enable
8\let\THALES\enable
9\let\XILINX\enable
10\end{taskinfo}
11%
12\begin{objectif}
13This task deals with the COACH HPC feature that consists in accelerating an existing
14application running on a PC by migrating critical parts into a SoC implemented on an
15FPGA plugged to the PC PCI/X bus (figures~\ref{coach-flow} and \ref{archi-hpc}).
16It consists in:
17\begin{itemize}
18\item Specification and implementation of the communication schemes between the software part running on the PC and the
19FPGA-SoC.
20\item Providing a performance analysis tool helping user in the HPC partitionning (figure~\ref{archi-hpc}).
21\item Providing support for configuration of the FPGA in order to set up the HPC environement.
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 choice are that both \altera and \xilinx provide PCI/X IP for
26their FPGA and that GPU HPC softwares use also it.
27%This will allow us at least to be inspired by GPU communication schemes and may be to reuse
28%parts of the GPU softwares.
29
30\end{objectif}
31%
32\begin{workpackage}
33  \subtask{Implementation of API between PC and FPGA-SoC}
34    \begin{livrable}
35      \itemL{0}{6}{d}{\Sbull}{HPC communication API}{3:0:0}
36        \setMacroInAuxFile{hpcCommApi}
37        Specification describing the API.
38      \itemL{6}{12}{x}{\Supmc}{HPC partionning helper}{1:0:0}
39        \setMacroInAuxFile{hpcCommHelper}
40        A library implementing the communication API defined in the {\hpcCommApi} deliverable.
41        This library is dedicated to help the end-user to partition an application for HPC.
42      \itemL{12}{21}{x}{\Supmc}{HPC API for Linux PC}{0:2.5:0}
43        \setMacroInAuxFile{hpcCommLinux}
44        The PC part of the HPC communication API that communicates with the FPGA-SOC, a
45        library and a LINUX module.
46%      \itemL{12}{21}{x}{\Supmc}{HPC API for MUTEKH OS}{0:2.5:0}
47%        \setMacroInAuxFile{hpcMutekDriver}
48%        The FPGA-SoC part of the communication API, a driver.
49      \itemL{21}{24}{x}{\Stima}{HPC API for DNA OS}{0:3:0}
50        \setMacroInAuxFile{hpcDnaDriver}
51        The FPGA-SoC part of the communication API.
52%        Port of the {\hpcMutekDriver} driver on the DNA OS.
53%      \itemL{24}{33}{x}{\Supmc}{HPC API}{0:0:1}
54%        Bug corrections and enhancements of communication middleware
55%        (\novers{\hpcCommApi}, \novers{\hpcCommHelper}, \novers{\hpcCommLinux},
56%        \novers{\hpcMutekDriver}, \novers{\hpcDnaDriver}).
57    \end{livrable}
58
59\subtask{SystemC model of the PCI/X}
60    This \ST deals with the implementation of SystemC modules
61    required by the neutral architectural template for using the PCI/X IP of \altera and \xilinx.
62    \begin{livrable}
63% FIXME: moved to task 3 (CSG)
64%    \itemL{9}{18}{h}{\Stima}{HPC hardware \xilinx}{3:9:0}
65%        \setMacroInAuxFile{hpcPlbBridge}
66%        The synthesizable VHDL description of a PLB/VCI bridge and its corresponding SystemC model.
67%    \itemL{9}{18}{h}{\Supmc}{HPC hardware \altera}{1:2:0}
68%        \setMacroInAuxFile{hpcAvalonBridge}
69%        The synthesizable VHDL description of an AVALON/VCI bridge and its corresponding SystemC model.
70    \itemL{9}{24}{h}{\Supmc}{PCI/X traffic generator}{1:1:0}
71        The SystemC description of a component that generates PCI/X traffic. It is
72        required to prototype FPGA-SoC dedicated to HPC.
73    \end{livrable}
74
75\subtask{HPC environment set up}
76
77% It also includes appropriate SoC-FPGA OS drivers and a modification of the profiling library.
78     \begin{livrable}
79     \itemL{24}{36}{x}{\Stima}{Support for HPC environment set up}{0:0:2}
80      Modification of the CSG software to set-up the HPC environement: Bitsream loader.
81     \end{livrable}
82%     \itemL{18}{36}{x}{\Stima}{CSG module for \ganttlf dynamic reconfiguration}{0:4:12}
83%               This livrable is a CSG module allowing to partition the task graph along
84%               the dynamic partial reconfiguration regions. The resulting task-region assignement
85%               is directly used for generation of bitstreams. The module also produces reconfiguration
86%               management software to be run on the SoC-FPGA.
87%     \itemL{18}{30}{x}{\Stima}{Dynamic reconfiguration \ganttlf for DNA drivers}{0:3:3}
88%         \setMacroInAuxFile{hpcDynconfDriver}
89%           The drivers required by the DNA OS in order to manage dynamic partial
90%         reconfiguration inside the SoC-FPGA.
91%     \itemL{30}{36}{x}{\Supmc}{Dynamic reconfiguration \ganttlf for  MUTEKH drivers}{0:0:1}
92%         Port of the {\hpcDynconfDriver} drivers on the MUTEKH OS.
93%     \itemL{24}{36}{x}{\Stima}{Profiler for \ganttlf dynamic reconfiguration}{0:0:6}
94%         Extension of the HPC partionning helper in order to integrate dynamic partial
95%         reconfiguration dedicated features (reconfiguration time of regions, variable
96%         number of coprocessors).
97%     \itemL{24}{36}{d}{\Sxilinx}{Optimisation for \xilinx \ganttlf dynamic reconfiguration}{0:0:2}
98%         \xilinx will work with \tima in order to better take into account during
99%         partitioning decisions specific constraints due to partial reconfiguration process.
100%         The deliverable is a document describing the \xilinx specific constraints.
101%     \end{livrable}
102% %\item This \ST is the delivery of 2 PCI/X \mustbecompleted{FIXME: Stratix4} FPGA board
103% %   with its PCI/X IP. These boards are dedicated to the COACH HPC development.
104% %   They are based on \mustbecompleted{FIXME:stratix4} FPGA device of 400,000 LUT.
105% %   \begin{livrable}
106% %   \itemL{0}{6}{m}{\Saltera}{HPC development boards}{0:0:0} Two PCI/X FPGA boards.
107\end{workpackage}
Note: See TracBrowser for help on using the repository browser.