1/* Copyright 2022 The TensorFlow Authors. All Rights Reserved. 2 3Licensed under the Apache License, Version 2.0 (the "License"); 4you may not use this file except in compliance with the License. 5You may obtain a copy of the License at 6 7 http://www.apache.org/licenses/LICENSE-2.0 8 9Unless required by applicable law or agreed to in writing, software 10distributed under the License is distributed on an "AS IS" BASIS, 11WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12See the License for the specific language governing permissions and 13limitations under the License. 14==============================================================================*/ 15 16syntax = "proto3"; 17 18package tensorflow; 19 20import "tensorflow/compiler/xla/service/hlo.proto"; 21 22// Represents the cache key used for persistence. 23message XlaSerializedCacheKey { 24 uint64 signature_fingerprint = 1; 25 uint64 cluster_fingerprint = 2; 26 string device_type = 3; 27 string prefix = 4; 28} 29 30// Represents an entry in the XLA compile cache. 31message XlaSerializedCacheEntry { 32 // Used to uniqely identify this entry in its persisted representation. 33 XlaSerializedCacheKey key = 1; 34 35 // The computation (HLO) that compilation was done for. It is correlated to 36 // the input TF graph so we can use it to fingerprint the compiled binary. We 37 // serialize this rather than the input graphdef because it provides a 38 // stronger guarantee over what bindings are needed between the HLO and 39 // calling TF graph. 40 xla.HloModuleProto hlo_module = 2; 41 42 // The raw bytes of the executable. 43 bytes executable = 3; 44} 45