[23] | 1 | \begin{taskinfo} |
---|
| 2 | \let\UPMC\leader |
---|
| 3 | \let\TIMA\enable |
---|
| 4 | \let\ALTERA\enable |
---|
| 5 | \end{taskinfo} |
---|
| 6 | % |
---|
| 7 | \begin{objectif} |
---|
| 8 | This task pools the features dedicated to HPC system design. It is described on |
---|
| 9 | figures~\ref{coach-flow} and \ref{archi-hpc}. It consists in |
---|
| 10 | \begin{itemize} |
---|
| 11 | \item Helping the HPC designer to find a good partition of the initial application |
---|
| 12 | (figure~\ref{archi-hpc}. |
---|
[38] | 13 | \item Providing communication schemes between the software part runing on the PC and the |
---|
[23] | 14 | FPGA-SoC. |
---|
[38] | 15 | \item Implementing the communication scheme at all levels: partition help, software |
---|
[23] | 16 | implementation both on the PC and in the operating system of the FPGA-SoC, hardware. |
---|
| 17 | \item FPGA reconfiguration. \mustbecompleted{FIXME:TIMA} |
---|
| 18 | \end{itemize} |
---|
| 19 | The low level hardware transmission support will be the PCI/X bus which allows high bit-rate |
---|
| 20 | transfers. The reasons of this choices are that both ALTERA and Xilinx provide PCI/X IP for |
---|
| 21 | their FPGA and that GPU HPC softwares use also it. |
---|
[38] | 22 | This will allow us at least to be inspired by GPU communication schemes and may be to reuse |
---|
[23] | 23 | parts of the GPU softwares. |
---|
| 24 | \end{objectif} |
---|
| 25 | % |
---|
[27] | 26 | \begin{workpackage}{D5} |
---|
[38] | 27 | \item This \ST is the definition of the communication schemes as a software API |
---|
[23] | 28 | (Application Programing Interface) between the application part running on the PC and |
---|
| 29 | the application part running on the FPGA-SoC. |
---|
| 30 | \begin{livrable} |
---|
[36] | 31 | \item{}{0}{6}{d}{\Supmc}{HPC communication API} User refernce manual describing the API. |
---|
| 32 | \global\edef\hpcCommApi{\name} |
---|
[23] | 33 | \end{livrable} |
---|
[40] | 34 | \item This \ST consists in helping to partition the application. |
---|
[36] | 35 | It is a library implementing the communication API with features to profile |
---|
[40] | 36 | the partitioned application. |
---|
[23] | 37 | \begin{livrable} |
---|
[36] | 38 | \item{}{6}{12}{x}{\Supmc}{HPC partionning helper} A library implementing the communication |
---|
| 39 | API defined in the {\hpcCommApi} delivrable. |
---|
[23] | 40 | \end{livrable} |
---|
[40] | 41 | \item This \ST deals with the implementation of the communication API on the both sides (PC |
---|
[23] | 42 | part and FPGA-SoC). |
---|
| 43 | \begin{livrable} |
---|
[36] | 44 | \item{}{12}{21}{x}{\Supmc}{HPC API for Linux PC} The PC part of the HPC communication API |
---|
[40] | 45 | that comminicates with the FPGA-SOC, a library and probably a LINUX module. |
---|
[36] | 46 | \item{}{12}{21}{x}{\Supmc}{HPC API for MUTEK OS} The FPGA-SoC part of the communication API, a |
---|
| 47 | driver.\global\edef\hpcMutekDriver{\name} |
---|
| 48 | \item{}{21}{24}{x}{\Stima}{HPC API for DNA OS} Port of the {\hpcMutekDriver} driver on the DNA OS. |
---|
[23] | 49 | \end{livrable} |
---|
[40] | 50 | \item This \ST deals with the implementation of hardware required by the COACH |
---|
[23] | 51 | architectural template for using the PCI/X IP of \altera and \xilinx. |
---|
| 52 | \begin{livrable} |
---|
[36] | 53 | \item{}{9}{18}{h}{\Stima}{HPC hardware \xilinx} |
---|
| 54 | \setMacroInAuxFile{hpcPlbBridge} |
---|
| 55 | The synthesizable VHDL description of a PLB/VCI bridge and its corresponding SystemC model. |
---|
| 56 | \item{}{9}{18}{h}{\Saltera}{HPC hardware \altera} |
---|
| 57 | \setMacroInAuxFile{hpcAvalonBridge} |
---|
[40] | 58 | The synthesizable VHDL description of an AVALON/VCI bridge and its corresponding SystemC model. |
---|
[23] | 59 | \end{livrable} |
---|
[40] | 60 | \item This \ST deals with the dynamic reconfiguration of an FPGA. |
---|
[23] | 61 | \begin{livrable} |
---|
[36] | 62 | \item{}{18}{30}{x}{\Stima}{dynamic reconfiguration \ganttlf DNA drivers} |
---|
| 63 | \global\edef\hpcDynconfDriver{\name} |
---|
| 64 | \mustbecompleted{FIXME:TIMA ....} |
---|
| 65 | \item{}{30}{36}{x}{\Supmc}{dynamic reconfiguration \ganttlf MUTEK drivers} |
---|
| 66 | Port of the {\hpcDynconfDriver} \mustbecompleted{FIXME:TIMA driver} on the MUTEK OS. |
---|
| 67 | \item{}{24}{36}{x}{\Supmc}{CSG support for \ganttlf dynamic reconfiguration} |
---|
| 68 | \mustbecompleted{FIXME:TIMA ....} |
---|
| 69 | \item{}{18}{36}{x}{\Stima}{PC support for \ganttlf dynamic reconfiguration} |
---|
| 70 | \mustbecompleted{FIXME:TIMA ....} |
---|
[23] | 71 | \end{livrable} |
---|
[27] | 72 | \item This \ST is the delivery of 2 PCI/X \mustbecompleted{FIXME: Stratix4} FPGA board |
---|
| 73 | with its PCI/X IP. These boards are dedicated to the COACH HPC development. |
---|
| 74 | They are based on \mustbecompleted{FIXME:stratix4} FPGA device of 400,000 LUT. |
---|
| 75 | \begin{livrable} |
---|
[36] | 76 | \item{}{0}{6}{m}{\Saltera}{HPC development boards} Two PCI/X FPGA boards. |
---|
[27] | 77 | \end{livrable} |
---|
[23] | 78 | \end{workpackage} |
---|