Skip to content

Commit 63f121b

Browse files
AWSGHAWSwinefred
authored andcommitted
Update README.md (#90)
updated create-fpga-image parameters reduced duplicity on SDK/HDK getting started added links to example files
1 parent 6af9bae commit 63f121b

File tree

1 file changed

+35
-42
lines changed

1 file changed

+35
-42
lines changed

README.md

Lines changed: 35 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@
22

33
# Table of Contents
44

5-
1. [AWS EC2 FPGA Hardware and Software Development Kits] (#devkit)
6-
- [FPGA Hardware Development Kit (HDK)] (hdk/README.md)
7-
- [AWS FPGA Shell Specification](hdk/docs/AWS_Shell_Interface_Specification.md)
8-
- [Developing with OpenCL/SDAccel](hdk/docs/OpenCL_SDAccel_Development.md)
9-
- [FPGA PCIe Address Map](hdk/docs/AWS_Fpga_Pcie_Memory_Map.md)
10-
- [FPGA Software Development Kit (SDK)] (sdk/README.md)
11-
- [Access FPGA From Linux Applications] (hdk/docs/Programmers_View.md)
12-
- [AFI Management Tools](sdk/management/fpga_image_tools/README.md)
5+
1. [AWS EC2 FPGA Hardware and Software Development Kits](#devkit)
6+
- [FPGA Hardware Development Kit (HDK)](#fpgahdk)
7+
- [FPGA Software Development Kit (SDK)](#fpgasdk)
138
- [FPGA Developer AMI available on AWS Marketplace](#devAmi)
14-
- [Developers' support](#devSupport)
9+
- [Developer Support](#devSupport)
1510
2. [Quick Start] (#quickstart)
1611
- [Building an example AFI](#buildingAnExample)
1712
- [Using an AFI on EC2 F1 instace](#usingAfi)
@@ -30,21 +25,35 @@ The [Release Notes](./RELEASE_NOTES.md) document covers the list of supported fe
3025

3126
Please click the "Watch" button in GitHub upper right corner to stay posted.
3227

33-
## FPGA HDK
28+
## FPGA HDK <a name="fpgahdk"></a>
3429

35-
The [HDK directory](./hdk) is recommended for developers wanting to start building Amazon FPGA Images (AFI). It includes the development environment, simulation, build and AFI creation scripts. The HDK can be installed on any server or EC2 instance. The HDK is not required if you are using a pre-built AFI and not planning to build your own AFI.
30+
The [HDK directory](./hdk) is recommended for developers wanting to start building Amazon FPGA Images (AFI). It includes the development environment, simulation, build and AFI creation scripts. The HDK can be installed on any server or EC2 instance. The HDK is not required if you are using a pre-built AFI and not planning to build your own AFI. The following resources provide further details:
3631

37-
Execute [`source ./hdk_setup.sh`](./hdk_setup.sh) to setup the environment variables required by the rest of the HDK scripts.
32+
[HDK readme](./hdk/README.md)
33+
34+
[AWS FPGA Shell Specification](./hdk/docs/AWS_Shell_Interface_Specification.md)
35+
36+
[Developing with OpenCL/SDAccel](./hdk/docs/OpenCL_SDAccel_Development.md)
37+
38+
[FPGA PCIe Address Map](./hdk/docs/AWS_Fpga_Pcie_Memory_Map.md)
39+
3840

39-
## FPGA SDK
41+
## FPGA SDK<a name="fpgasdk"></a>
42+
43+
The [SDK directory](./sdk) includes the runtime environment required to run on F1. It includes the drivers and tools to interact with AFIs that are loaded to EC2 F1 FPGA slots. The SDK is not required during the AFI development process; it is only required once the AFI is loaded onto an F1 instance. The following resources provide further details:
44+
45+
[SDK readme](./sdk/README.md)
46+
47+
[Access FPGA From Linux Applications](./hdk/docs/Programmers_View.md)
48+
49+
[AFI Management Tools](./sdk/management/fpga_image_tools/README.md)
4050

41-
The [SDK directory](./sdk) includes the drivers and runtime environment required by any EC2 Instance running on F1. It includes the drivers and tools to interact with pre-built AFIs that are loaded to EC2 F1 FPGAs. The SDK is not required during the AFI development process; it is only required once the AFI is loaded onto an F1 instance.
4251

4352
## FPGA Developer AMI <a name="devAmi"></a>
4453

45-
AWS recommends the use of the F1 FPGA developer AMI for development on EC2 instances. The HDK examples and quick start can be run on any [C4/M4/R4](https://aws.amazon.com/ec2/instance-types/) EC2 instance. But given the large size of the FPGA used in F1, the implementation tools require a minimum 15GiB Memory while 32GiB is optimal (C4.4XLarge or bigger, M4.2XLarge or bigger, R4.XLarge or bigger). C4.4XLarge and C4.8XLarge would provide the fastest execution time with 30 and 60GiB of memory respectively.
54+
AWS recommends the use of the F1 FPGA developer AMI for development on EC2 instances. The FPGA Developer AMI comes with all needed Xilinx's Vivado tools and AWS CLI pre-installed. The HDK examples and quick start can be run on any [C4/M4/R4](https://aws.amazon.com/ec2/instance-types/) EC2 instance. But given the large size of the FPGA used in F1, the implementation tools require a minimum 15GiB Memory while 32GiB is optimal (C4.4XLarge or bigger, M4.2XLarge or bigger, R4.XLarge or bigger). C4.4XLarge and C4.8XLarge would provide the fastest execution time with 30 and 60GiB of memory respectively.
4655

47-
During private access period in order to start using the AMI your AWS account needs to be whitelisted. Once you are whitelisted, from the AWS console you will have access to AMIs:
56+
During the preview access period to start using the FPGA developer AMI your AWS account needs to be whitelisted. Once you are whitelisted, from the AWS console you will have access to the AMI:
4857

4958
* Make sure you are in N. Virginia (us-east-1).
5059
* Go to EC2->Launch Instance->My AMIs
@@ -53,27 +62,23 @@ During private access period in order to start using the AMI your AWS account ne
5362

5463
## Developer Support <a name="devSupport"></a>
5564

56-
*FPGA development AMI* During private access period, developers are emailed with details on how to get started with the FPGA Development AMI, terms and conditions and additional information on how to get started using F1 instances.
65+
**FPGA development AMI**: During private access period, developers are emailed with details on how to get started with the FPGA Development AMI, terms and conditions and additional information on how to get started using F1 instances.
5766

5867
[**AWS FPGA Users' Forum**](https://forums.aws.amazon.com/index.jspa): the FPGA development user forum is the first place to go to post questions, suggestions and receive important announcements. To gain access to the user forum, please go to https://forums.aws.amazon.com/index.jspa and login. During the preview, the first time you login, click on "Your Stuff" where you will see your forums username and userID at the end of the URL. Please email these to f1-preview@amazon.com with "FPGA forum access" in the subject line, in order to receive forum access. To be notified on important messages, posts you will need to click the “Watch Forum” button on the right side of the screen.
5968

6069

6170
# Quick Start <a name="quickstart"></a>
6271

63-
## Building an Example AFI <a name="buidAnExample"></a>
72+
## Building an Example AFI <a name="buildingAnExample"></a>
6473

65-
By following the next few steps, you would have downloaded the HDK, compiled and built one of the example Custom Logic (CL) designs included in this HDK, and registered it with AWS.
74+
By following a few steps, you would have downloaded the HDK, compiled and built one of the example Custom Logic (CL) designs included with the HDK, and registered it with AWS. [Building a Custom Logic (CL) implementation for AWS FPGA instances](./hdk/cl/examples#overview-on-process-for-building-a-custom-logic-cl-implementation-for-aws-fpga-instances)
6675

6776
#### Prerequisites
6877
* AWS FPGA HDK and SDK run in Linux environment only.
6978
* If you can not access GitHub repository, please request access permission from your AWS representative.
7079
* The build stage uses Xilinx's Vivado tool set. You should have an installed Vivado and Vivado License Manager (See [Release Notes](./RELEASE_NOTES.md) for details on the version).
71-
* Executing `aws s3 <action>` and `aws ec2 create-fpga-image` require having AWS CLI installed, having an active AWS account, and the server/instance has been configured with your credentials and AWS region via `aws configure` command line.
72-
* AWS offers FPGA Developer AMI with all Xilinx's Vivado tools and AWS CLI pre-installed.
80+
* Executing `aws s3 <action>` and `aws ec2 create-fpga-image` require having AWS CLI installed, having an active AWS account, and the server/instance has been configured with your credentials and the same AWS region as your S3 bucket via `aws configure` command line. It’s also required that your instance and the S3 bucket where the tarball reside in will be in the same AWS region.
7381

74-
**NOTE**: The DCP generation (`Step 7`) can take up to several hours to complete.
75-
We recommend that you initiate the generation in a way that prevents interruption.
76-
For example, if working on a remote machine, we recommend using window management tools such as [`screen`](https://www.gnu.org/software/screen/manual/screen.html) to mitigate potential network disconnects.
7782

7883
```
7984
$ git clone https://github.com/aws/aws-fpga # Step 1: Download the HDK and SDK code
@@ -85,35 +90,23 @@ $ cd build/scripts # Step 6: The build directory f
8590
$ source aws_build_dcp_from_cl.sh # Step 7: Generate a placed-and-routed design checkpoint (DCP)
8691
$ cd $CL_DIR/build/checkpoints/to_aws # Step 8: This directory includes the DCP file
8792
$ aws s3 mb s3://<bucket-name> # Step 9: Create an S3 bucket (choose a unique bucket name)
88-
$ aws s3 cp *.SH_CL_routed.dcp \ # Step 10: Upload the DCP file to S3
89-
s3://<bucket-name>/cl_simple.dcp
93+
$ aws s3 cp *.Developer_CL.tar \ # Step 10: Upload the file to S3
94+
s3://<bucket-name>/
9095
$ aws ec2 create-fpga-image \ # Step 11: Ingest the generated DCP to create an AFI
91-
--fpga-image-architecture xvu9p \
9296
--shell-version 0x11241611 \
9397
--fpga-pci-id DeviceId=0x1d50,VendorId=0x6789,SubsystemId=0x1d51,SubsystemVendorId=0xfedc \
94-
--input-storage-location Bucket=<bucket-name>,Key=cl_simple.dcp
95-
--name MyFirstDCP
98+
--input-storage-location Bucket=<bucket-name>,Key=<tarball-name> \
99+
--name MyFirstDCP \
96100
--logs-storage-location Bucket=<bucket-name>,Key=logs/
97101
```
102+
**NOTE**: The DCP generation (`Step 7` above) can take up to several hours to complete. We recommend to initiate the generation in a way that prevents interruption. For example, if working on a remote machine, we recommend using window management tools such as [`screen`](https://www.gnu.org/software/screen/manual/screen.html) to mitigate potential network disconnects.
98103

99104

100105
## Using an AFI on EC2 F1<a name="usingAfi"></a>
101106

102-
Now that you have built an AFI, or if you want to use one of the example pre-built AFIs provided by AWS, you need to launch an EC2 F1 Instance, and install the SDK:
103-
104-
You can setup and install the SDK with the following few steps. Note that the first two steps may be skipped if you have already run them in the above HDK setup.
107+
Now that you have built an AFI, or if you want to use one of the example pre-built AFIs provided by AWS, you need to launch an EC2 F1 Instance, and install the SDK as detailed at: [SDK Quick Start](./sdk/README.md)
105108

106-
```
107-
$ git clone https://github.com/aws/aws-fpga # Fetch the HDK and SDK code
108-
$ cd aws-fpga # Move to the root directory of the repository before running the next script
109-
$ source sdk_setup.sh # Set up the envronment variables, build and install the SDK
110-
```
111-
112-
**NOTE:** The `sdk_setup.sh` would install the [FPGA management tools](./sdk/management/fpga_image_tools/README.md) if they are not already available in `/usr/bin`. The `sdk_setup.sh` requires having `gcc` installed. if it is not installed, try running the next command to install it on Amazon Linux, Centos or Redhat distributions:
113109

114-
```
115-
$ sudo yum groupinstall -y “Development Tools"
116-
```
117110

118111
## Need to build a new Custom Logic and register it as an AFI?<a name="clExamples"></a>
119112

0 commit comments

Comments
 (0)