Share via

Azure NP10s custom xclbin rejected - xclbin is invalid please provide azure xclbin

2026-03-23T23:05:42.73+00:00

MPD daemon is running and logs:

"xclbin is invalid, please provide azure xclbin"

Error: -2060

Question: What is the correct platform .xpfm file or

signing process to load a custom HLS kernel xclbin

on Azure NP10s? The installed platform file does not

embed the correct shell UUID (C3AD6B03) so the

hypervisor rejects the bitstream.

Azure Virtual Machines
Azure Virtual Machines

An Azure service that is used to provision Windows and Linux virtual machines.


1 answer

Sort by: Most helpful
  1. Q&A Assist
    2026-03-23T23:05:55.8733333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The NP10s hypervisor will only accept an attested Azure xclbin, not a locally built “raw” xclbin, regardless of the shell UUID seen on the VM. The correct process is:

    1. Build a netlist xclbin with Vitis 2022.1
      • Use the Xilinx/AMD recommended toolset Vitis 2022.1.
      • Build against the supported platform xilinx_u250_gen3x16_xdma_2_1_202010_1.
      • Ensure the v++ command includes:
             --advanced.param compiler.acceleratorBinaryContent=dcp
        
        so that the generated xclbin contains a design checkpoint (netlist) rather than a bitstream.
    2. Upload the netlist xclbin to Azure Blob Storage
      • Create a storage account and blob container.
      • Upload the netlist xclbin (keep the .xclbin extension) using Azure CLI, for example:
             az storage blob upload \
               --account-name <storage-account> \
               --container-name <container> \
               --name <blob-name>.xclbin \
               --file <local-netlist>.xclbin
        
    3. Submit the design to the FPGA attestation service
      • Ensure the tenant and subscription are authorized for the FPGA attestation preview (via https://aka.ms/AzureFPGAAttestationPreview).
      • Sign in with Azure CLI (az login and az account set -s <subscription>).
      • Use the provided PowerShell or Bash scripts from the attestation documentation to submit the blob as an attestation request.
    4. Use the Azure-generated xclbin on NP10s
      • After successful validation, the attestation service writes back to the same container:
        • design.bit.xclbin – bitstream xclbin
        • design.azure.xclbin – Azure xclbin that points to the private bitstream location
        • Logs (*-log.txt, *logPhaseX.txt)
      • On NP10s, the only xclbin that the MPD daemon / hypervisor will accept is design.azure.xclbin. The error "xclbin is invalid, please provide azure xclbin" occurs when attempting to load a non-attested xclbin (for example, the locally built netlist or bitstream xclbin).
      • The shell UUID on the VM is managed by Azure; there is no separate signing or manual embedding of the shell UUID. The attestation service produces an Azure xclbin that is compatible with the NP-series shell and passes the platform checks.

    In summary, the correct “platform/signing” path for a custom HLS kernel on NP10s is: build a netlist xclbin with Vitis 2022.1 and the supported U250 platform, submit it to the FPGA attestation service, and then load only the returned *.azure.xclbin on the NP10s VM.


    References:

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.