本文在介紹安全群組中已經加入規則放行SSH連接埠的存取權之後如何使用f1 RTL的基礎上,重點探討了其具體步驟,本文內容很緊湊,希望大家耐心學習。
使用f1 RTL
本文描述如何使用f1 RTL(Register Transfer Level)。
說明:
本文所述所有操作都必須由同一個帳號在同一地域執行。
強烈建議您使用RAM使用者操作FaaS實例。為了防止意外操作,您需要讓RAM使用者僅執行必要的操作。在操作FPGA鏡像及下載時,因為您需要從指定的OSS Bucket下載原始DCP工程,所以您必須為FaaS管理帳號建立一個角色,並授予臨時權限,讓FaaS管理帳號存取指定的OSS Bucket。如果需要對IP加密,必須授予RAM用戶KMS相關權限。如果需要做權限檢查,必須授予查看使用者資源的權限。
前提條件
建立f1實例,確保實例能存取公網,且實例所在安全性群組中已經新增規則放行SSH(22 )連接埠的存取。
說明:f1實例只能使用鏡像市場的FaaS F1基礎映像。詳細信息,請參見 建立f1實例。
您已經 登入ECS管理控制台,在f1實例的詳情頁上,取得實例ID。
您必須先 開啟OSS服務,並且 建立一個OSS Bucket 用於上傳您的檔案。 Bucket與f1實例必須屬於同一個帳號、同一個地域。
如果需要加密服務,您還需要 開通金鑰管理服務(KMS)。
使用RAM使用者操作FPGA,必須完成以下操作:
建立RAM使用者 並 授權。
建立RAM角色 並 授權。
取得AccessKey ID和AccessKey Secret。
操作步驟
依照下列步驟使用f1 RTL。
第 1 步.遠端連線f1實例
遠端連線Linux實例。
第 2 步. 設定基礎環境
執行下列腳本設定基礎環境。
source /opt/dcp1_0/script/f1_env_set.sh
第 3 步. 編譯工程
執行以下指令:
cd /opt/dcp1_0/hw/samples/dma_afu run.sh
說明:編譯時間較長,請耐心等待。
第 4 步. 製作鏡像
依照下列步驟製作鏡像:
執行指令初始化 faascmd。
#如果需要,添加环境变量及运行权限 export PATH=$PATH:/opt/dcp1_0/script/ chmod +x /opt/dcp1_0/script/faascmd # 将hereIsYourSecretId替换为您的AccessKey ID,hereIsYourSecretKey替换为您的AccessKey Secret faascmd config --id=hereIsYourSecretId --key=hereIsYourSecretKey # 将hereIsYourBucket换为华东1地域里OSS Bucket名称 faascmd auth --bucket=hereIsYourBucket
確認在/opt/dcp1_0/hw/samples/dma_afu目錄下,執行以下指令上傳gbs檔。
faascmd upload_object --object=dma_afu.gbs --file=dma_afu.gbs
執行以下指令製作鏡像。
# 将hereIsYourImageName替换为您的镜像名称 faascmd create_image --object=dma_afu.gbs --fpgatype=intel --name=hereIsYourImageName --tags=hereIsYourImageTag --encrypted=false --shell=V0.11
第5 步. 下載鏡像
按以下步驟下載鏡像到f1實例:
查看鏡像是否製作成功:執行指令faascmd list_images 。
回到結果裡,如果出現"State":"success",表示鏡像製作成功。請記錄回傳結果裡顯示的FpgaImageUUID,稍後會用到。
運行指令取得FPGA ID。
# 将hereIsYourInstanceId替换为您的f1实例ID faascmd list_instances --instanceId=hereIsYourInstanceId
以下為傳回結果。請記錄FpgaUUID。
執行指令下載FPGA映像到f1實例。
# 将hereIsYourInstanceID替换为刚刚保存的实例ID;将hereIsFpgaUUID替换为上一条命令中记下的FpgaUUID;将hereIsImageUUID
替換為上一個步驟記下的FpgaImageUUID
faascmd download_image --instanceId=hereIsYourInstanceID --fpgauuid=hereIsFpgaUUID --fpgatype=intel --imageuuid=hereIsImageUUID --imagetype=afu --shell=V0.11
執行指令檢查是否下載成功。
# 将hereIsYourInstanceID替换为刚刚保存的实例ID;将hereIsFpgaUUID替换为上一条命令中记下的FpgaUUID; faascmd fpga_status --instanceId=hereIsYourInstanceID --fpgauuid=hereIsFpgaUUID
如果傳回結果裡出現"TaskStatus":"operating"時,且FpgaImageUUID和下載鏡像時的FpgaImageUUID一致,說明下載成功。
第 6 步.測試
依序執行以下命令。
cd /opt/dcp1_0/hw/samples/dma_afu/sw make sudo LD_LIBRARY_PATH=/opt/dcp1_0/hw/samples/dma_afu/sw:$LD_LIBRARY_PATH ./fpga_dma_test 0
如果您看到如圖所示的輸出結果,表示測試完成。
以上是安全群組中已經新增規則放行SSH連接埠的存取權之後如何使用f1 RTL的詳細內容。更多資訊請關注PHP中文網其他相關文章!