Skip to content

[VAIQ/XIR] Serialization Error: Graph exceeded maximum protobuf size of 2GB in Vitis AI 3.0 #135

Description

@xenbabala

Environment:

  • Vitis AI Version: 3.0 (GPU Docker)

  • Target Architecture: DPUCVDX8G (VCK190)

  • Model Type: Video Diffusion Model (U-ViT)

Description:
I am quantizing a large video diffusion model using vai_q_pytorch. After the calibration (calib) phase, I encounter a fatal error during the export_xmodel step (test mode).

Error Log:

[libprotobuf ERROR google/protobuf/message_lite.cc:410] serial_v2.Graph exceeded maximum protobuf size of 2GB: 2623119139
F20260203 06:39:53.074004 49063 serialize_v2.cpp:727] [UNILOG][FATAL][XIR_WRITE_PB_FAILURE][failed to write pb file] file = quantize_result/UViT3DPose_int.xmodel

Questions:

  1. Is the 2GB limit for .xmodel serialization fixed in Vitis AI 3.0?

  2. If it is fixed, what is the recommended workflow for massive models?

  • Should I partition the model into multiple sub-graphs manually?

  • Is there a way to externalize constant buffers (like RoPE frequencies) so they aren't serialized within the protobuf graph?

  1. I've already used @register_custom_op to reduce node count, but the size remains >2GB. Are there other strategies to compress the XIR graph before serialization?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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