Skip to content

NotImplementedError in oneDNN PIR conversion breaks CPU inference in PaddlePaddle 3.3.0 #77340

Description

@glenn-jocher

bug描述 Describe the Bug

Environment

  • PaddlePaddle version: 3.3.0 (just released on PyPI)
  • Python version: 3.12
  • OS: Ubuntu Linux (x86_64)
  • Hardware: CPU with oneDNN (default configuration)

Issue Description

CPU inference using paddle.inference fails with NotImplementedError in PaddlePaddle 3.3.0. This regression breaks inference for models exported from frameworks like Ultralytics YOLO. The issue occurs in the PIR (Paddle Intermediate Representation) to oneDNN conversion layer.

This worked correctly in PaddlePaddle 3.2.x and earlier.

Steps to Reproduce

import paddle.inference as pdi
import numpy as np

# Load exported PaddlePaddle model
model_dir = "yolo11n_paddle_model"
config = pdi.Config(f"{model_dir}/model.pdmodel", f"{model_dir}/model.pdiparams")
predictor = pdi.create_predictor(config)

# Setup input
input_handle = predictor.get_input_handle(predictor.get_input_names()[0])
input_handle.copy_from_cpu(np.random.randn(1, 3, 640, 640).astype(np.float32))

# Run inference - FAILS in 3.3.0
predictor.run()

Error Message

NotImplementedError: (Unimplemented) ConvertPirAttribute2RuntimeAttribute not support [pir::ArrayAttribute<pir::DoubleAttribute>].
  [Hint: Expected false, but it was true.] (at /paddle/paddle/fluid/pir/transforms/onednn/onednn_instruction.cc:116)

Expected vs Actual Behavior

- Expected: Inference completes successfully (as in 3.2.x)
- Actual: NotImplementedError raised during predictor.run()

Workaround

Downgrade to PaddlePaddle 3.2.2:
pip install paddlepaddle==3.2.2

Impact

This is a breaking change affecting:
- All CPU inference using oneDNN (default on Linux)
- Ultralytics YOLO PaddlePaddle export users
- Any application using paddle.inference on CPU

### 其他补充信息 Additional Supplementary Information

- Ultralytics CI failure: https://github.com/ultralytics/ultralytics/actions
- Affected code path: onednn_instruction.cc:116

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions