openvinotoolkit / openvinotoolkit/model_server

Failure to load HETERO models across multi GPU setup.

Open
#3,812 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
931
Forks
277
Avg merge
2d 13h
Merged PRs (30d)
68

Description

Describe the bug
When loading a larger model (Qwen3-32B) using a HETERO:GPU.0,GPU.1 config, the error Invalid Kernel Args appears.

To Reproduce
Steps to reproduce the behavior:

  1. Download the Qwen3-32B model and convert using the latest export_model.py script. Command to convert as follows:

python export_model.py text_generation --source_model Qwen/Qwen3-32B --config_file_path /media/models/config.json --weight-format int4 --overwrite_models --target_device HETERO:GPU.0,GPU.1 --extra_quantization_params "--awq --group-size 128" --kv_cache_precision u8 --cache_size 6 --model_repository_path /media/models --reasoning_parser qwen3

  1. Compile OVMS from source for Ubuntu24 and run using:

export LD_LIBRARY_PATH=/devtools/openvino/ovms/lib
export PATH=$PATH:
/devtools/openvino/ovms/bin
export PYTHONPATH=~/devtools/openvino/ovms/lib/python
ovms --config_path /media/models/config.json --rest_port 9033 --log_level DEBUG

  1. Kernel load error as seen below.

Expected behavior
As with previous versions (as well as previous drivers for the GPU), the model correctly loads and works. To be clear, this exact model with exact config DID PREVIOUSLY load on older versions of OVMS but no longer works.

Logs
[2025-11-24 07:07:08.665][33451][serving][error][servable_initializer.cpp:214] Error during llm node initialization for models_path: /media/models/Qwen/Qwen3-32B/./ exception: Exception from src/inference/src/cpp/core.cpp:114:
Exception from src/inference/src/dev/plugin.cpp:53:
Exception from src/plugins/hetero/src/compiled_model.cpp:36:
Standard exception from compilation library: Exception from src/inference/src/dev/plugin.cpp:53:
Check 'false' failed at src/plugins/intel_gpu/src/plugin/program_builder.cpp:163:
[GPU] ProgramBuilder build failed!
Exception from src/plugins/intel_gpu/src/runtime/ocl/ocl_common.hpp:40:
[GPU] clEnqueueNDRangeKernel, error code: -52 CL_INVALID_KERNEL_ARGS

[2025-11-24 07:07:08.665][33451][modelmanager][error][servable_initializer.cpp:437] Error during LLM node resources initialization: The LLM Node resource initialization failed

Configuration

  1. OVMS version: built from source.
  2. OVMS config.json file:

{
"model_config_list": [
{
"config": {
"name": "Qwen/Qwen3-32B",
"base_path": "Qwen/Qwen3-32B"
}
}
]
}

  1. CPU, accelerator's versions if applicable: 11600KF, 3 x Intel Arc A770's with latest drivers as installed by the Client GPU guide on Intel's official documentation, linked from the Openvino documentation.
  2. /media/models/Qwen/Qwen3-32B/
  3. Qwen3-32B fails when converted.

Additional context
I have tried smaller cache sizes but this doesn't do anything. The model used to load perfectly on versions of OVMS pre August, however this no longer seems to be the case. I have done a completely fresh install of Ubuntu Server 24.04.3 LTS with the latest drivers for the GPUs from Intel.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Qwen3-32B conversion with the supplied export_model.py command and loading it with the shown OVMS config. Then inspect the logged OpenVINO paths, especially src/plugins/hetero/src/compiled_model.cpp and src/plugins/intel_gpu/src/plugin/program_builder.cpp, while comparing a pre-August OVMS version. Done means the exact HETERO:GPU.0,GPU.1 setup loads without CL_INVALID_KERNEL_ARGS.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
ai, backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.