Skip to content

Conversation

@adrianlizarraga
Copy link
Contributor

@adrianlizarraga adrianlizarraga commented Jul 21, 2025

Description

  • Adds APIs to get information (file path, file offset, byte size) for initializers with data in external files. This allows EPs to do their own custom memory-mapping of initializer data. By default, EPs that don't have specific requirements can still use ValueInfo_GetInitializerValue to get an OrtValue with memory-mapped initializer data.
  • Updates OrtGraph to only load OrtValue for external initializers on demand. This prevents having to memory map all external initializers before the first call to OrtEp::GetCapability.

Follow up to #25320

New API functions:

Function Summary
ValueInfo_GetExternalInitializerInfo Get OrtExternalInitializerInfo from OrtValueInfo (or NULL). Must be released with ReleaseExternalInitializerInfo
ReleaseExternalInitializerInfo Releases the OrtExternalInitializerInfo instance
ExternalInitializerInfo_GetFilePath Returns the relative path to the file that stores the initializer's data
ExternalInitializerInfo_GetFileOffset Returns the byte offset within the file where the initializer's data is stored
ExternalInitializerInfo_GetByteSize Returns the size in bytes of the initializer's data within the file

Motivation and Context

@adrianlizarraga adrianlizarraga changed the title [DRAFT] [EP ABI] Load external initializer OrtValues on demand [DRAFT] [EP ABI] API to get external initializer info + lazy load external OrtValues Jul 23, 2025
Base automatically changed from yusleoukhin/ort_initializers_ii to main July 23, 2025 06:40
@adrianlizarraga adrianlizarraga changed the title [DRAFT] [EP ABI] API to get external initializer info + lazy load external OrtValues [EP ABI] API to get external initializer info + lazy load external OrtValues Jul 23, 2025
@adrianlizarraga adrianlizarraga marked this pull request as ready for review July 23, 2025 06:50
Copy link
Member

@yuslepukhin yuslepukhin left a comment

Choose a reason for hiding this comment

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

:shipit:

@adrianlizarraga adrianlizarraga merged commit d702978 into main Jul 24, 2025
106 of 113 checks passed
@adrianlizarraga adrianlizarraga deleted the adrianl/ep-plugin-ext-ort-value-load branch July 24, 2025 21:47
@snnn
Copy link
Contributor

snnn commented Jul 25, 2025

Hi there! We haven't cut the release branch for this version yet, so I'm removing the release:1.23.0 label for now to keep things tidy. Thanks so much for your contribution! We'll make sure this gets included when the release is prepared. 🤖

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants