Skip to content

Commit

Permalink
[executorch][core] NamedDataMap interface
Browse files Browse the repository at this point in the history
Add NamedDataMap interface to runtime.

Differential Revision: [D66834552](https://our.internmc.facebook.com/intern/diff/D66834552/)

[ghstack-poisoned]
  • Loading branch information
lucylq committed Jan 18, 2025
1 parent 46ee760 commit c81d8cf
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
47 changes: 47 additions & 0 deletions runtime/core/named_data_map.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree.
*/

#pragma once

#include <executorch/runtime/core/exec_aten/exec_aten.h>
#include <executorch/runtime/core/freeable_buffer.h>
#include <executorch/runtime/core/result.h>
#include <executorch/runtime/core/span.h>
#include <executorch/runtime/core/tensor_layout.h>
#include <executorch/runtime/platform/compiler.h>

namespace executorch {
namespace runtime {

/**
* Interface to access and retrieve data via name from a loaded data file.
* See executorch/extension/flat_tensor/ for an example.
*/
class NamedDataMap {
public:
virtual ~NamedDataMap() = default;
/**
* Get tensor metadata by fully qualified name (FQN).
*
* @param fqn Fully qualified name of the tensor.
* @return Result containing a pointer to the metadata.
*/
ET_NODISCARD virtual Result<const executorch::runtime::TensorLayout>
get_metadata(const char* fqn) const = 0;
/**
* Get tensor data by fully qualified name (FQN).
*
* @param fqn Fully qualified name of the tensor.
* @return Result containing a span of uint8_t representing the tensor data.
*/
ET_NODISCARD virtual Result<Span<const uint8_t>> get_data(
const char* fqn) const = 0;
};

} // namespace runtime
} // namespace executorch
1 change: 1 addition & 0 deletions runtime/core/targets.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ def define_common_targets():
"data_loader.h",
"error.h",
"freeable_buffer.h",
"named_data_map.h",
"result.h",
"span.h",
"tensor_layout.h",
Expand Down

0 comments on commit c81d8cf

Please sign in to comment.