手把手教你在FPGA实例上运行“Hello World”
设置桶访问策略,让AWS账号可以访问这些文件和目录。具体的访问策略样例如下,我们需要把下面的策略配置拷贝到我们的S3桶的“访问策略”设置中。注意样例中的 和 等内容,要把它们修改成真实的桶名和对应路径。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Bucket level permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::365015490807:root"
},
"Action": [
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::"
},
{
"Sid": "Object read permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::365015490807:root"
},
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3::://"
},
{
"Sid": "Folder write permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::365015490807:root"
},
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3::://*"
}
]
}
设置完S3的桶访问策略以后我们需要验证一下策略写的对不对,不然策略写错了,AWS对应账号拿不到需要的tar文件,就不能成功构建FPGA image了,而且我们分析问题还不知道如何下手。
验证S3桶策略的脚本在下面这个文件里:
`aws-fpga/hdk/common/scripts/check_s3_bucket_policy.py`
如果执行出现INFO: Passed字样就表示策略设置正确。
不过在有些python环境下check_s3_bucket_policy.py运行会报下面这个错误:
AttributeError: PolicyStatement instance has no attribute 'principals_re'
发现这个错误的话需要手工改一下check_s3_bucket_policy.py文件。
用你习惯的编辑器打开文件check_s3_bucket_policy.py,然后找到下面的代码:
class PolicyStatement:
def __init__(self, statement, principal=None):
self.statement = statement
self.process_policy_statement(statement, principal)
self.principals_re = []
self.actions_re = []
self.notactions_re = []
self.resources_re = []
然后把self.process_policy_statement(statement, principal)这句放到其它变量设置之后,像下面这样:
class PolicyStatement:
def __init__(self, statement, principal=None):
self.statement = statement
self.principals_re = []
self.actions_re = []
self.notactions_re = []
self.resources_re = []
self.process_policy_statement(statement, principal)
然后就不会报错了,具体运行check_s3_bucket_policy.py命令的参考和对应输出如下:
$ check_s3_bucket_policy.py --dcp-bucket fpga.use1.damondeng.com --dcp-key fpgajarfile/17_04_21-025018.Developer_CL.tar
--logs-bucket fpga.use1.damondeng.com --logs-key logfile
INFO: Passed
一切准备好就可以开始运行 aws ec2 create-fpga-image 命令构建FPGA image了,命令参考如下:
$ aws ec2 create-fpga-image --name DamonFPGAOne
--description "Testing FPGA Image" --input-storage-location Bucket=fpga.use1.damondeng.com,Key=fpgajarfile/17_04_21-025018.Developer_CL.tar
--logs-storage-location Bucket=fpga.use1.damondeng.com,Key=logfile
如果你发现AWS CLI命令报下面这个错误,则你的AWS CLI版本不够,需要运行pip install --upgrade --user awscli进行升级:
Invalid choice: 'create-fpga-image', maybe you meant:
* create-image
*
运行正常的情况下你会获得类似这样的输出
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)