You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Updated XDMA Driver to allow builds on newer kernels
* Updated documentation on Alveo U200 to F1 platform porting
* Added Vitis 2019.2 Patching for AR#73068
The software program is linked with the XRT libraries which manages the specific requirements of each FPGA platform, allowing the source code to remain the same for U200 and F1.
177
-
178
-
See [here](https://www.xilinx.com/html_docs/xilinx2020_1/vitis_doc/buildinghostprogram.html#asy1528754332783) for more details about building the host program for the Vitis flow.
179
-
180
-
181
-
### Compiling the FPGA binary
182
-
183
-
When building the FPGA binary only a few options need to be changed when retargeting from U200 and F1 instances. These options are contained in a specific file (called options.cfg in our example) and which is passed to the Vitis v++ compiler with the `--config` command line option.
184
-
185
-
Here is a side-by-side view of the both options.cfg files:
186
-
187
-
| Contents of options.cfg for Alveo U200 | Contents of options.cfg for AWS F1 |
The platform option specifies which acceleration platform is targeted for the build.
192
-
193
-
The `sp` option is used to specify the assignment of kernel interfaces to DDR interfaces. The original U200 design is connecting the kernel interfaces to DDR[1] which is located in the shell. Keeping the same settings would produce a working design on F1 instances, but in order to produce exactly the same configuration and target the DDR interface located in the F1 shell, the `sp` options are modified to use DDR[0].
194
-
195
-
Putting all the platform specific options in a dedicated file allows the v++ build commands remain strictly identical:
See [here](https://www.xilinx.com/html_docs/xilinx2020_1/vitis_doc/vitiscommandcompiler.html#wrj1504034328013) for more information about the v++ command line options and configuration files.
206
-
207
-
208
-
209
-
### Creating the Amazon FPGA Image
210
-
211
-
Once you have compiled the host program and the FPGA binary, you are ready to execute the FPGA-accelerated application on a server equipped with an Alveo U200 acceleration card.
212
-
213
-
When targeting F1 instances, you need to go through the additional step of creating an Amazon FPGA Image (AFI). This is done with the `create_vitis_afi.sh` command provided by AWS. This command reads in the FPGA binary generated by the v++ linker and requires information about the user’s AWS S3 bucket.
For more details about the `create_vitis_afi.sh` command, you can consult the AWS documentation [here](https://github.com/aws/aws-fpga/blob/master/Vitis/README.md#2-create-an-amazon-fpga-image-afi).
222
-
223
-
224
-
225
164
## Summary – Migration Checklist
226
165
227
166
Because Vitis provides platform-independent APIs and interfaces to the developer, the process of migrating applications across similar FPGA acceleration cards is greatly facilitated.
Copy file name to clipboardExpand all lines: Vitis/docs/Alveo_to_AWS_F1_Migration/example/README.md
+5-5
Original file line number
Diff line number
Diff line change
@@ -7,18 +7,18 @@ The Vitis development flow provides platform independent APIs and interfaces to
7
7
8
8
## Example Overview
9
9
10
-
The accelerator used in this example is a simple vector-add kernel. The `src` directory contains the source code for the project:
10
+
The accelerator used in this example is a simple vector-add kernel. The [`src`](./src) directory contains the source code for the project:
11
11
12
-
-`vadd.cpp` contains the C++ source code of the accelerator which adds 2 arbitrarily sized input vectors.
13
-
-`host.cpp` contains the main function running on the host CPU. The host application is written in C++ and uses OpenCL™ APIs to interact with the FPGA accelerator.
12
+
-[`vadd.cpp`](./src/vadd.cpp) contains the C++ source code of the accelerator which adds 2 arbitrarily sized input vectors.
13
+
-[`host.cpp`](./src/host.cpp) contains the main function running on the host CPU. The host application is written in C++ and uses OpenCL™ APIs to interact with the FPGA accelerator.
14
14
15
-
The `u200` and `f1` directories contain the Makefiles and scripts for building for Alveo U200 and AWS F1 respectively.
15
+
The [`u200`](./u200) and The [`u200`](./u200) and [`f1`](./f1) directories contain the Makefiles and scripts for building for Alveo U200 and AWS F1 respectively. directories contain the Makefiles and scripts for building for Alveo U200 and AWS F1 respectively.
16
16
17
17
18
18
19
19
## Building for Alveo U200
20
20
21
-
*Note: The instructions below assume that the required tools and platforms are installed and that the environment is properly setup to run Vitis.*
21
+
*Note: The instructions below assume that the required tools and platforms are installed and that the environment is properly setup to run Vitis. It is also a good idea to complete the Vitis example flow end-to-end before running this example.*
0 commit comments