tf-nightly-cpu 2.20.0.dev20250221__cp39-cp39-win_amd64.whl → 2.20.0.dev20250222__cp39-cp39-win_amd64.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. tensorflow/compiler/mlir/stablehlo/stablehlo_extension.pyd +0 -0
  2. tensorflow/compiler/tf2tensorrt/_pywrap_py_utils.pyd +0 -0
  3. tensorflow/compiler/tf2xla/ops/_xla_ops.so +0 -0
  4. tensorflow/include/external/llvm-project/mlir/include/mlir/Dialect/Math/IR/MathOps.h.inc +4 -0
  5. tensorflow/include/external/shardy/shardy/dialect/sdy/transforms/propagation/aggressive_factor_propagation.h +9 -0
  6. tensorflow/include/external/stablehlo/_virtual_includes/version/stablehlo/dialect/Version.h +1 -1
  7. tensorflow/include/external/stablehlo/stablehlo/dialect/Version.h +1 -1
  8. tensorflow/include/tensorflow/compiler/xla/backends/cpu/runtime/convolution_thunk_internal.h +8 -10
  9. tensorflow/include/tensorflow/compiler/xla/backends/cpu/runtime/work_queue.h +0 -1
  10. tensorflow/include/tensorflow/compiler/xla/hlo/ir/hlo_instruction.h +12 -0
  11. tensorflow/include/tensorflow/compiler/xla/tsl/concurrency/async_value.h +50 -21
  12. tensorflow/include/tensorflow/core/kernels/data/experimental/random_access_ops.h +0 -2
  13. tensorflow/include/tensorflow/core/public/release_version.h +1 -1
  14. tensorflow/include/tensorflow/core/public/version.h +1 -1
  15. tensorflow/include/xla/backends/cpu/runtime/convolution_thunk_internal.h +8 -10
  16. tensorflow/include/xla/backends/cpu/runtime/work_queue.h +0 -1
  17. tensorflow/include/xla/hlo/ir/hlo_instruction.h +12 -0
  18. tensorflow/include/xla/tsl/concurrency/async_value.h +50 -21
  19. tensorflow/lite/experimental/microfrontend/python/ops/_audio_microfrontend_op.so +0 -0
  20. tensorflow/lite/python/analyzer_wrapper/_pywrap_analyzer_wrapper.pyd +0 -0
  21. tensorflow/lite/python/interpreter_wrapper/_pywrap_tensorflow_interpreter_wrapper.pyd +0 -0
  22. tensorflow/lite/python/optimize/_pywrap_tensorflow_lite_calibration_wrapper.pyd +0 -0
  23. tensorflow/python/_pywrap_dtensor_device.pyd +0 -0
  24. tensorflow/python/_pywrap_mlir.pyd +0 -0
  25. tensorflow/python/_pywrap_parallel_device.pyd +0 -0
  26. tensorflow/python/_pywrap_quantize_training.pyd +0 -0
  27. tensorflow/python/_pywrap_tensorflow_internal.pyd +0 -0
  28. tensorflow/python/_pywrap_tfcompile.pyd +0 -0
  29. tensorflow/python/_pywrap_tfe.pyd +0 -0
  30. tensorflow/python/client/_pywrap_debug_events_writer.pyd +0 -0
  31. tensorflow/python/client/_pywrap_device_lib.pyd +0 -0
  32. tensorflow/python/client/_pywrap_events_writer.pyd +0 -0
  33. tensorflow/python/client/_pywrap_tf_session.pyd +0 -0
  34. tensorflow/python/compat/compat.py +1 -1
  35. tensorflow/python/data/experimental/service/_pywrap_server_lib.pyd +0 -0
  36. tensorflow/python/framework/_dtypes.pyd +0 -0
  37. tensorflow/python/framework/_op_def_library_pybind.pyd +0 -0
  38. tensorflow/python/framework/_op_def_registry.pyd +0 -0
  39. tensorflow/python/framework/_proto_comparators.pyd +0 -0
  40. tensorflow/python/framework/_pywrap_python_op_gen.pyd +0 -0
  41. tensorflow/python/framework/_test_metrics_util.pyd +0 -0
  42. tensorflow/python/grappler/_pywrap_tf_cluster.pyd +0 -0
  43. tensorflow/python/grappler/_pywrap_tf_item.pyd +0 -0
  44. tensorflow/python/grappler/_pywrap_tf_optimizer.pyd +0 -0
  45. tensorflow/python/lib/core/_pywrap_py_func.pyd +0 -0
  46. tensorflow/python/lib/io/_pywrap_file_io.pyd +0 -0
  47. tensorflow/python/lib/io/_pywrap_record_io.pyd +0 -0
  48. tensorflow/python/profiler/internal/_pywrap_profiler.pyd +0 -0
  49. tensorflow/python/profiler/internal/_pywrap_profiler_plugin.pyd +0 -0
  50. tensorflow/python/saved_model/pywrap_saved_model.pyd +0 -0
  51. tensorflow/python/tpu/_pywrap_sparse_core_layout.pyd +0 -0
  52. tensorflow/python/tpu/_pywrap_tpu_embedding.pyd +0 -0
  53. tensorflow/python/tpu/tpu_embedding_v3_checkpoint_adapter.py +10 -1
  54. tensorflow/python/util/_pywrap_checkpoint_reader.pyd +0 -0
  55. tensorflow/python/util/_pywrap_kernel_registry.pyd +0 -0
  56. tensorflow/python/util/_pywrap_stat_summarizer.pyd +0 -0
  57. tensorflow/python/util/_pywrap_tfprof.pyd +0 -0
  58. tensorflow/python/util/_pywrap_transform_graph.pyd +0 -0
  59. tensorflow/python/util/_pywrap_utils.pyd +0 -0
  60. tensorflow/python/util/_tf_stack.pyd +0 -0
  61. tensorflow/tools/pip_package/setup.py +1 -1
  62. tensorflow/xla_aot_runtime_src/xla/tsl/concurrency/async_value.cc +26 -51
  63. {tf_nightly_cpu-2.20.0.dev20250221.dist-info → tf_nightly_cpu-2.20.0.dev20250222.dist-info}/METADATA +1 -1
  64. {tf_nightly_cpu-2.20.0.dev20250221.dist-info → tf_nightly_cpu-2.20.0.dev20250222.dist-info}/RECORD +67 -69
  65. tensorflow/include/tensorflow/compiler/xla/backends/cpu/runtime/concurrency.h +0 -77
  66. tensorflow/include/xla/backends/cpu/runtime/concurrency.h +0 -77
  67. {tf_nightly_cpu-2.20.0.dev20250221.dist-info → tf_nightly_cpu-2.20.0.dev20250222.dist-info}/WHEEL +0 -0
  68. {tf_nightly_cpu-2.20.0.dev20250221.dist-info → tf_nightly_cpu-2.20.0.dev20250222.dist-info}/entry_points.txt +0 -0
  69. {tf_nightly_cpu-2.20.0.dev20250221.dist-info → tf_nightly_cpu-2.20.0.dev20250222.dist-info}/top_level.txt +0 -0
@@ -91,11 +91,20 @@ class EmbeddingReshardCallback(checkpoint_adapter.ReshardCallback):
91
91
  ) -> tuple[Sequence[str], Sequence[str]]:
92
92
  keys = []
93
93
  slices = []
94
+ logging.vlog(
95
+ 2,
96
+ "Updating restore v2 inputs for %s: %s",
97
+ checkpoint_key,
98
+ shape_and_slice_spec,
99
+ )
94
100
  for i, layout in enumerate(self._to_shard_layout):
95
101
  checkpoint_key = checkpoint_key.replace(
96
102
  self._main_checkpoint_name, self._checkpoint_local_names[i]
97
103
  )
98
104
  # For resharding later, we need to read the full value here.
105
+ logging.vlog(
106
+ 2, "Will read sub key %s: %s", checkpoint_key, shape_and_slice_spec
107
+ )
99
108
  keys.append(checkpoint_key)
100
109
  slices.append(
101
110
  _shard_info_str(
@@ -212,7 +221,7 @@ class TpuEmbeddingV3CheckpointAdapter(
212
221
  self._checkpoint_to_reshard_callback[sorted_layouts[0].table_name] = (
213
222
  EmbeddingReshardCallback(
214
223
  stacked_name,
215
- [l.table_name for l in layouts],
224
+ [l.table_name for l in sorted_layouts],
216
225
  sorted_layouts,
217
226
  None,
218
227
  )
Binary file
Binary file
Binary file
@@ -48,7 +48,7 @@ from setuptools.dist import Distribution
48
48
  # result for pip.
49
49
  # Also update tensorflow/tensorflow.bzl and
50
50
  # tensorflow/core/public/release_version.h
51
- _VERSION = '2.20.0-dev20250221'
51
+ _VERSION = '2.20.0-dev20250222'
52
52
 
53
53
  # Update this version when a new libtpu stable version is released.
54
54
  LATEST_RELEASE_LIBTPU_VERSION = '0.0.9'
@@ -32,21 +32,6 @@ limitations under the License.
32
32
 
33
33
  namespace tsl {
34
34
 
35
- // This is a singly linked list of nodes waiting for notification, hanging off
36
- // of AsyncValue. When the value becomes available or if an error occurs, the
37
- // callbacks are informed.
38
- class NotifierListNode {
39
- public:
40
- explicit NotifierListNode(absl::AnyInvocable<void()> notification)
41
- : next_(nullptr), notification_(std::move(notification)) {}
42
-
43
- private:
44
- friend class AsyncValue;
45
- // This is the next thing waiting on the AsyncValue.
46
- NotifierListNode* next_;
47
- absl::AnyInvocable<void()> notification_;
48
- };
49
-
50
35
  uint16_t AsyncValue::CreateTypeInfoAndReturnTypeIdImpl(
51
36
  const TypeInfo& type_info) {
52
37
  size_t type_id = GetTypeInfoTableSingleton()->emplace_back(type_info) + 1;
@@ -76,61 +61,51 @@ void AsyncValue::NotifyAvailable(State available_state) {
76
61
 
77
62
  // Mark the value as available, ensuring that new queries for the state see
78
63
  // the value that got filled in.
79
- auto old_value = waiters_and_state_.exchange(
64
+ auto waiters_and_state = waiters_and_state_.exchange(
80
65
  WaitersAndState(nullptr, available_state), std::memory_order_acq_rel);
81
- DCHECK(old_value.state() == State::kUnconstructed ||
82
- old_value.state() == State::kConstructed);
66
+ DCHECK(waiters_and_state.state() == State::kUnconstructed ||
67
+ waiters_and_state.state() == State::kConstructed);
83
68
 
84
- RunWaiters(old_value.waiter());
69
+ RunWaiters(waiters_and_state.waiter());
85
70
  }
86
71
 
87
- void AsyncValue::RunWaiters(NotifierListNode* list) {
72
+ void AsyncValue::RunWaiters(WaiterListNode* list) {
88
73
  while (list) {
89
- NotifierListNode* node = list;
90
- // TODO(chky): pass state into notification_ so that waiters do not need to
91
- // check atomic state again.
92
- node->notification_();
93
- list = node->next_;
74
+ WaiterListNode* node = list;
75
+ (*node)();
76
+ list = node->next;
94
77
  delete node;
95
78
  }
96
79
  }
97
80
 
98
- // If the value is available or becomes available, this calls the closure
99
- // immediately. Otherwise, the add closure to the waiter list where it will be
100
- // called when the value becomes available.
101
- void AsyncValue::EnqueueWaiter(absl::AnyInvocable<void()> waiter,
102
- WaitersAndState old_value) {
103
- // Create the node for our waiter.
104
- auto* node = new NotifierListNode(std::move(waiter));
105
- auto old_state = old_value.state();
106
-
107
- // Swap the next link in. old_value.state() must be unavailable when
81
+ void AsyncValue::EnqueueWaiterListNode(WaiterListNode* waiter,
82
+ WaitersAndState waiters_and_state) {
83
+ // Swap the next link in. waiters_and_state.state() must be unavailable when
108
84
  // evaluating the loop condition. The acquire barrier on the compare_exchange
109
85
  // ensures that prior changes to waiter list are visible here as we may call
110
86
  // RunWaiter() on it. The release barrier ensures that prior changes to *node
111
87
  // appear to happen before it's added to the list.
112
- node->next_ = old_value.waiter();
113
- auto new_value = WaitersAndState(node, old_state);
114
- while (!waiters_and_state_.compare_exchange_weak(old_value, new_value,
115
- std::memory_order_acq_rel,
116
- std::memory_order_acquire)) {
117
- // While swapping in our waiter, the value could have become available. If
88
+ waiter->next = waiters_and_state.waiter();
89
+ while (!waiters_and_state_.compare_exchange_weak(
90
+ waiters_and_state, WaitersAndState(waiter, waiters_and_state.state()),
91
+ std::memory_order_acq_rel, std::memory_order_acquire)) {
92
+ // While swapping in our waiter, the value could have become available. If
118
93
  // so, just run the waiter.
119
- if (old_value.state() == State::kConcrete ||
120
- old_value.state() == State::kError) {
121
- DCHECK(old_value.waiter() == nullptr);
122
- node->notification_();
123
- delete node;
94
+ if (waiters_and_state.state() == State::kConcrete ||
95
+ waiters_and_state.state() == State::kError) {
96
+ DCHECK(waiters_and_state.waiter() == nullptr);
97
+ (*waiter)();
98
+ delete waiter;
124
99
  return;
125
100
  }
126
- // Update the waiter list in new_value.
127
- node->next_ = old_value.waiter();
101
+ // Update the waiter to point to the new head of the waiter list.
102
+ waiter->next = waiters_and_state.waiter();
128
103
  }
129
104
 
130
- // compare_exchange_weak succeeds. The old_value must be in either
105
+ // compare_exchange_weak succeeds. The waiters_and_state must be in either
131
106
  // kUnconstructed or kConstructed state.
132
- DCHECK(old_value.state() == State::kUnconstructed ||
133
- old_value.state() == State::kConstructed);
107
+ DCHECK(waiters_and_state.state() == State::kUnconstructed ||
108
+ waiters_and_state.state() == State::kConstructed);
134
109
  }
135
110
 
136
111
  void AsyncValue::SetError(absl::Status status) {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tf_nightly_cpu
3
- Version: 2.20.0.dev20250221
3
+ Version: 2.20.0.dev20250222
4
4
  Summary: TensorFlow is an open source machine learning framework for everyone.
5
5
  Home-page: https://www.tensorflow.org/
6
6
  Download-URL: https://github.com/tensorflow/tensorflow/tags