syntax = "proto3";
|
|
package tensorflow;
|
option cc_enable_arenas = true;
|
option java_outer_classname = "LogMemoryProtos";
|
option java_multiple_files = true;
|
option java_package = "org.tensorflow.framework";
|
option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/framework";
|
import "tensorflow/core/framework/tensor_description.proto";
|
|
message MemoryLogStep {
|
// Process-unique step id.
|
int64 step_id = 1;
|
|
// Handle describing the feeds and fetches of the step.
|
string handle = 2;
|
};
|
|
message MemoryLogTensorAllocation {
|
// Process-unique step id.
|
int64 step_id = 1;
|
|
// Name of the kernel making the allocation as set in GraphDef,
|
// e.g., "affine2/weights/Assign".
|
string kernel_name = 2;
|
|
// Allocated tensor details.
|
TensorDescription tensor = 3;
|
};
|
|
message MemoryLogTensorDeallocation {
|
// Id of the tensor buffer being deallocated, used to match to a
|
// corresponding allocation.
|
int64 allocation_id = 1;
|
|
// Name of the allocator used.
|
string allocator_name = 2;
|
};
|
|
message MemoryLogTensorOutput {
|
// Process-unique step id.
|
int64 step_id = 1;
|
|
// Name of the kernel producing an output as set in GraphDef, e.g.,
|
// "affine2/weights/Assign".
|
string kernel_name = 2;
|
|
// Index of the output being set.
|
int32 index = 3;
|
|
// Output tensor details.
|
TensorDescription tensor = 4;
|
}
|
|
message MemoryLogRawAllocation {
|
// Process-unique step id.
|
int64 step_id = 1;
|
|
// Name of the operation making the allocation.
|
string operation = 2;
|
|
// Number of bytes in the allocation.
|
int64 num_bytes = 3;
|
|
// Address of the allocation.
|
uint64 ptr = 4;
|
|
// Id of the tensor buffer being allocated, used to match to a
|
// corresponding deallocation.
|
int64 allocation_id = 5;
|
|
// Name of the allocator used.
|
string allocator_name = 6;
|
};
|
|
message MemoryLogRawDeallocation {
|
// Process-unique step id.
|
int64 step_id = 1;
|
|
// Name of the operation making the deallocation.
|
string operation = 2;
|
|
// Id of the tensor buffer being deallocated, used to match to a
|
// corresponding allocation.
|
int64 allocation_id = 3;
|
|
// Name of the allocator used.
|
string allocator_name = 4;
|
|
// True if the deallocation is queued and will be performed later,
|
// e.g. for GPU lazy freeing of buffers.
|
bool deferred = 5;
|
};
|