Skip to content

Commit afb3839

Browse files
committed
Update on "[executorch][runtime] Introduce PteDataMap for weight sharing"
PteDataMap is the NamedDataMap that will live in the runtime. It is used to give delegates access to opaque named data stored in the PTE file. Open to alternative naming suggestions, maybe 'PTEDataMap' or 'ProgramDataMap'? **Usage** The PteDataMap is owned by the program, and instantiated at program load time if named_data exists in the PTE file. We introduce usage of 'std::optional' here. I think we can also use executorch::aten::optional to avoid adding standard lib ? When initializing delegates, the PteDataMap is given to delegate_init. Delegates can retrieve opaque delegate data by key using 'get_data'. This gives them a FreeableBuffer that they can free later. **Testing** This test uses the C++ flatbuffer API to build a fake program containing named data. We also creates a temp file with sample data that the data loader can wrap around. TODO: e2e test once delegate aot is ready and we can generate a file with named data. **Note** As the PteDataMap wraps around flatbuffer constructs, the Program must outlive the PteDataMap. PteDataMap does not implement - get_metadata; currently, all data stored is opaque. Later, we can implement get_metadata if a backend stores plain tensor data. - load_into; this is mostly used for the training case, and isn't used by delegates, at least not at the moment Differential Revision: [D70213646](https://our.internmc.facebook.com/intern/diff/D70213646/) [ghstack-poisoned]
2 parents 6218803 + 9e1ab87 commit afb3839

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

runtime/executor/pte_data_map.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
// include the generated flatbuffer header.
1616
namespace flatbuffers {
1717
typedef uint32_t uoffset_t;
18-
template <typename T, typename SizeT>
18+
template <typename T, typename SizeT = uoffset_t>
1919
class Vector;
2020
template <typename T>
2121
struct Offset;

0 commit comments

Comments
 (0)