Skip to content

param:compiler.acceleratorBinaryContent="dcp" or "bitstream" #7

@b04902036

Description

@b04902036

I use AWS EC2 f1 instance to run gemx. With (this AMI)[https://aws.amazon.com/marketplace/pp/B06VVYBLZZ]
however after I compile the gemm_kernel.h into gemm.xclbin and upload it to AWS to create AFI, I got this error:

{
    "FpgaImages": [
        {
            "UpdateTime": "2018-07-23T10:18:14.000Z", 
            "Name": "overlay_2", 
            "Tags": [], 
            "PciId": {
                "SubsystemVendorId": "0xfedd", 
                "VendorId": "0x1d0f", 
                "DeviceId": "0xf000", 
                "SubsystemId": "0x1d51"
            }, 
            "FpgaImageGlobalId": "agfi-066b09c66343492a7", 
            "Public": false, 
            "State": {
                "Message": "UNKNOWN_BITSTREAM_GENERATE_ERROR: An unexpected error occurred generating the bitstream", 
                "Code": "failed"
            }, 
            "ShellVersion": "0x04261818", 
            "OwnerId": "532726133341", 
            "FpgaImageId": "afi-0cb323a4335e95e92", 
            "CreateTime": "2018-07-23T10:13:06.000Z", 
            "Description": "overlay_2"
        }
    ]
}

and here is the log file on aws s3 bucket

#-----------------------------------------------------------
# Vivado v2017.4.op (64-bit)
# SW Build 2193837 on Tue Apr 10 18:06:59 MDT 2018
# IP Build 2189296 on Tue Apr 10 19:39:46 MDT 2018
# Start of session at: Mon Jul 23 01:59:17 2018
# Process ID: 1961
# Current directory: /home/builder/scripts
# Command line: vivado -mode batch -source ingest.tcl
# Log file: /home/builder/scripts/vivado.log
# Journal file: /home/builder/scripts/vivado.jou
#-----------------------------------------------------------
source ingest.tcl
# set userDCP "../checkpoints/SH_CL_routed.dcp"
# set awsDCP  "../checkpoints/SH_CL_BB_routed.dcp"
# set powerDefaultRPT "../reports/power_report.default.rpt"
# set powerStaticRPT  "../reports/power_report.static.rpt"
# set timingRPT       "../reports/SH_CL_final_timing_summary.rpt"
# set ioRPT           "../reports/report_io.rpt"
# set partialBIT      "../bitstreams/SH_CL_final_pblock_CL_partial.bit"
# set partialLTX      "../bitstreams/SH_CL_final_pblock_CL_partial.ltx"
# set CL_PATH WRAPPER_INST/CL
# puts "Ingest start time: \[[clock format [clock seconds] -format {%a %b %d %H:%M:%S %Y}]\]"
Ingest start time: [Mon Jul 23 02:01:30 2018]
# set_param hd.supportClockNetCrossDiffReconfigurablePartitions 1
# set_param hd.platformVerifyCachedRun false
# check_integrity $userDCP
ERROR: [Vivado 12-5532] The design checkpoint file failed integrity check (code '-1'): /home/builder/checkpoints/SH_CL_routed.dcp
INFO: [Common 17-206] Exiting Vivado at Mon Jul 23 02:01:31 2018...
[stdout]

****** Vivado v2017.4.op (64-bit)
  **** SW Build 2193837 on Tue Apr 10 18:06:59 MDT 2018
  **** IP Build 2189296 on Tue Apr 10 19:39:46 MDT 2018
    ** Copyright 1986-2017 Xilinx, Inc. All Rights Reserved.

source ingest.tcl
# set userDCP "../checkpoints/SH_CL_routed.dcp"
# set awsDCP  "../checkpoints/SH_CL_BB_routed.dcp"
# set powerDefaultRPT "../reports/power_report.default.rpt"
# set powerStaticRPT  "../reports/power_report.static.rpt"
# set timingRPT       "../reports/SH_CL_final_timing_summary.rpt"
# set ioRPT           "../reports/report_io.rpt"
# set partialBIT      "../bitstreams/SH_CL_final_pblock_CL_partial.bit"
# set partialLTX      "../bitstreams/SH_CL_final_pblock_CL_partial.ltx"
# set CL_PATH WRAPPER_INST/CL
# puts "Ingest start time: \[[clock format [clock seconds] -format {%a %b %d %H:%M:%S %Y}]\]"
Ingest start time: [Mon Jul 23 02:01:30 2018]
# set_param hd.supportClockNetCrossDiffReconfigurablePartitions 1
# set_param hd.platformVerifyCachedRun false
# check_integrity $userDCP
INFO: [Common 17-206] Exiting Vivado at Mon Jul 23 02:01:31 2018...
[stderr]
ERROR: [Vivado 12-5532] The design checkpoint file failed integrity check (code '-1'): /home/builder/checkpoints/SH_CL_routed.dcp

After some trial and error, I change a parameter in the step of compiling gemx.xo to gemx.xclbin
param:compiler.acceleratorBinaryContent="bitstream" to param:compiler.acceleratorBinaryContent="dcp", and I successfully build the AFI without an error.
Can I create an AFI with a xclbin file that param:compiler.acceleratorBinaryContent is set to bitstream?
Also, though I build AFI successfully, the example program gemx_api_gemm.exe stuck at waiting the kernel to return. Can somebody help me out with this issue?
Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions