Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StaticLLMPipeline: Decide when to enable NPUW_DQ_FULL property #1258

Merged
merged 4 commits into from
Nov 28, 2024

Conversation

smirnov-alexey
Copy link
Contributor

@smirnov-alexey smirnov-alexey commented Nov 26, 2024

Based on (yet to be) supported OV properties from the NPU Plugin enable NPUW_DQ_FULL.
releases/2024/5 mirror: #1272

Dependencies

E-148336

@github-actions github-actions bot added the category: LLM LLM pipeline (stateful, static) label Nov 26, 2024
@smirnov-alexey smirnov-alexey changed the title [NPUW] Decide when to enable NPUW_DQ_FULL property StaticLLMPipeline: Decide when to enable NPUW_DQ_FULL property Nov 26, 2024
@github-actions github-actions bot added the category: cmake / build Cmake scripts label Nov 26, 2024
@@ -71,7 +71,7 @@ target_include_directories(${TARGET_NAME}

target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${safetensors.h_SOURCE_DIR}")

target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime PRIVATE openvino::threading nlohmann_json::nlohmann_json jinja2cpp)
target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime openvino::runtime::dev PRIVATE openvino::threading nlohmann_json::nlohmann_json jinja2cpp)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Required for ov::internal::supported_properties. Is there any better way?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it breaks OpenVINO GenAI compilation against public OpenVINO package where Dev part is not available.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reworked

@@ -71,7 +71,7 @@ target_include_directories(${TARGET_NAME}

target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${safetensors.h_SOURCE_DIR}")

target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime PRIVATE openvino::threading nlohmann_json::nlohmann_json jinja2cpp)
target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime openvino::runtime::dev PRIVATE openvino::threading nlohmann_json::nlohmann_json jinja2cpp)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it breaks OpenVINO GenAI compilation against public OpenVINO package where Dev part is not available.

src/cpp/src/llm_pipeline_static.cpp Outdated Show resolved Hide resolved
@github-actions github-actions bot removed the category: cmake / build Cmake scripts label Nov 27, 2024
@smirnov-alexey smirnov-alexey added this to the 2024.6 milestone Nov 27, 2024
Comment on lines +471 to +476
bool compiler_dq = false;
const auto device_caps = core.get_property("NPU", ov::device::capabilities);
if (std::find(device_caps.begin(), device_caps.end(),
"COMPILER_DYNAMIC_QUANTIZATION") != device_caps.end()) {
compiler_dq = true;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bool compiler_dq = false;
const auto device_caps = core.get_property("NPU", ov::device::capabilities);
if (std::find(device_caps.begin(), device_caps.end(),
"COMPILER_DYNAMIC_QUANTIZATION") != device_caps.end()) {
compiler_dq = true;
}
const bool compiler_dq = caps.end() != std::find(caps.begin(), caps.end(), "COMPILER_DYNAMIC_QUANTIZATION")

Comment on lines 458 to +460
std::string arch;
int64_t max_tiles;
bool compiler_dq;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is worth to have default values here, probably even incorrect (e.g., 0 as max_tiles)

@ilya-lavrenov
Copy link
Contributor

Please, add port to LTS if required.
I've changed milestone to 2025.0 because target branch is master

@smirnov-alexey
Copy link
Contributor Author

Property to be added in openvinotoolkit/openvino#27789

@smirnov-alexey
Copy link
Contributor Author

smirnov-alexey commented Nov 28, 2024

@ilya-lavrenov what branch should I target for OV24.6? Or adding port to LTS will also include it in the release?

@smirnov-alexey smirnov-alexey added the port to LTS PR needs to be ported to LTS label Nov 28, 2024
@ilya-lavrenov
Copy link
Contributor

@ilya-lavrenov what branch should I target for OV24.6? Or adding port to LTS will also include it in the release?

port to LTS mean port to releases/2024/5 branch, which will be used as trunk for 2024.6 branch / release.

Merged via the queue into openvinotoolkit:master with commit bc5f4db Nov 28, 2024
52 checks passed
sungeunk pushed a commit to sungeunk/openvino.genai that referenced this pull request Dec 16, 2024
…inotoolkit#1258)

Based on (yet to be) supported OV properties from the NPU Plugin enable
NPUW_DQ_FULL.
releases/2024/5 mirror:
openvinotoolkit#1272

Dependencies
* openvinotoolkit/openvino#27678 needs to be
merged first
* openvinotoolkit/openvino#27789
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: LLM LLM pipeline (stateful, static) category: NPU
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants