- 18 12月, 2019 40 次提交
-
-
由 A. Unique TensorFlower 提交于
PiperOrigin-RevId: 286067170 Change-Id: I0e0406a811a144f1ca3a77141478d8de86074d56
-
由 A. Unique TensorFlower 提交于
PiperOrigin-RevId: 286066745 Change-Id: I775209bd6c73aa87381a602f45ab33c7d1ec7ef6
-
由 River Riddle 提交于
PiperOrigin-RevId: 286066371 Change-Id: Ibb7f822b4e6847ceee6c1cc94d7764670fbb4161
-
由 A. Unique TensorFlower 提交于
https://gitlab.com/libeigen/eigen/commit/7252163335f56f23fcc7381c1efdea47161005fa PiperOrigin-RevId: 286065705 Change-Id: I4b59a2a6873e6188241ca607a4e7ca9981ba012c
-
由 Gaurav Jain 提交于
PiperOrigin-RevId: 286059397 Change-Id: Iaa771195df8c1f1cc4dc33a136c6eb75a9181f44
-
由 Yifei Feng 提交于
PiperOrigin-RevId: 286058486 Change-Id: Ice2c0d44120c6adf365389bec77f9c99c9281916
-
由 Dan Moldovan 提交于
Remove circular dependency between pyct and utils. This was undetected for a while, but an upcoming change detects it. PiperOrigin-RevId: 286057471 Change-Id: Ib8c8f5fe30af1c49d798515c0b3ddfb155a1e2f2
-
由 Zhenyu Tan 提交于
PiperOrigin-RevId: 286055835 Change-Id: If5253109acfbf43be21eb09b2f32599cabdbf2e9
-
由 Mihai Maruseac 提交于
Follow-up from previous change, will also be rolledback in ~1hr. PiperOrigin-RevId: 286055062 Change-Id: Ib0ea7293fc0b9ae99f8da9c98ae11ae8a9e35c35
-
由 Ken Franko 提交于
Adds coverage for multiple distribution strategies for partial datasets including a regression test for an control assert inside function. PiperOrigin-RevId: 286048436 Change-Id: I14e0c34a18730035bb5a506ef301e987823358c3
-
由 Anna R 提交于
imported at the top of the file and error is saved. Then, the error is printed inside create_local_cluster function. This creates extra references to upstream stack frames preventing them from getting garbage collected. Fixes #33376. PiperOrigin-RevId: 286048421 Change-Id: If48312d3f1236d6b53389642140b29dd05b65f2a
-
由 Hye Soo Yang 提交于
PY3 migration - Remove PY2 test since there is PY3 equivalent: //third_party/tensorflow/python/tpu/client:client_py2_test PiperOrigin-RevId: 286045890 Change-Id: Icae6371496d55e287163343bf61b27499eac04b4
-
由 Prakalp Srivastava 提交于
Custom support is required in the exporter because the shape expected by the XlaBuilder API for creating Infeed instruction is inferred from the first element of the result type tuple. PiperOrigin-RevId: 286045831 Change-Id: I945af265c5ad0d7bce163bc677061ed9a770240e
-
由 Feng Liu 提交于
The quant dim of fully connected is set to -1 to indicate that it doesn't require per-channel quantization. The quant spec generator binary should be able to handle it. PiperOrigin-RevId: 286042736 Change-Id: I0ef652f72c029ae1818f6728bcb5f72d163f77bf
-
由 A. Unique TensorFlower 提交于
Add pattern rewrite which splits a vector TransferWriteOp into slices according to the unrolling/slicing scheme of its InsertSlicesOp operand. PiperOrigin-RevId: 286042578 Change-Id: I67d39a3a696f7e4c69443f16c6ed7becbc902c20
-
由 Mahesh Ravishankar 提交于
The inline interface uses two methods to check legality of inling: 1) Can a region be inlined into another. 2) Can an operation be inlined into another. Setting the former to true, allows the inliner to use the second for legality checks. Add this method to the SPIR-V dialect inlining interface. PiperOrigin-RevId: 286041734 Change-Id: I17c0e50c2fc744e43663e2c2c5999e48597550ed
-
由 A. Unique TensorFlower 提交于
PiperOrigin-RevId: 286040953 Change-Id: Iecef32081cb5036f6af21d7f93b4372e377c3db2
-
由 Brian Atkinson 提交于
The flag was exported un-intentionally due to an internal refactoring. PiperOrigin-RevId: 286038710 Change-Id: I1c3e160e2274925a60a08ecd0aff8f8313160adb
-
由 Mihai Maruseac 提交于
This will get rolled back before new nightly pip get to be released PiperOrigin-RevId: 286037584 Change-Id: I1ecf8cf74353de72bdf969054ffffe0265ec1b80
-
由 A. Unique TensorFlower 提交于
PiperOrigin-RevId: 286034751 Change-Id: I11f7a8a4407163b8fe75f236a4e9f8cf8323376e
-
由 A. Unique TensorFlower 提交于
The lowering of MemRef types to the LLVM dialect is connected to the underlying runtime representation of structured memory buffers. It has changed several times in the past and reached the current state of a LLVM structured-typed descriptor containing two pointers and all sizes. In several reported use cases, a different, often simpler, lowering scheme is required. For example, lowering statically-shaped memrefs to bare LLVM pointers to simplify aliasing annotation. Split the pattern population functions into those include memref-related operations and the remaining ones. Users are expected to extend TypeConverter::convertType to handle the memref types differently. PiperOrigin-RevId: 286030610 Change-Id: Ibd7b38ca29f76d6eff9329f52d913a006d2a1358
-
由 A. Unique TensorFlower 提交于
PiperOrigin-RevId: 286030391 Change-Id: I9c3a6f6104b23929b36078c4eca36da79eb245ce
-
由 Robert David 提交于
PiperOrigin-RevId: 286027269 Change-Id: Ic37a825ec9b897e539a17946e3ed88f943f9efc5
-
由 A. Unique TensorFlower 提交于
The syntax for LLVM dialect types changed twice since this document was introduced. First, the quoted types are only prefixed with the dialect name `!llvm` rather than with `!llvm.type`. Second, for types that are simple enough (e.g., MLIR identifiers), the pretty form can be used instead of the quoted form. The relevant commits updated the dialect documentation, but not the conversion documentation. Use the valid type names in the conversion documentation. PiperOrigin-RevId: 286026153 Change-Id: Ib17798d4147922377b4d8866f9f8af47546cee31
-
由 Sanjoy Das 提交于
PiperOrigin-RevId: 286025069 Change-Id: I9d44df7209afcd95e0cfea92093fcd7a2ddf02fe
-
由 Ayush Dubey 提交于
This change fixes a subtle bug in `CompleteGroupLocal`, described below. After this change, `collective_ops_gpu_test_gpu` is no longer flaky. During group resolution, the first device to be resolved creates a `GroupRec` in `group_table_`, and initializes this `GroupRec` with the group's key, size, and device type. Subsequent devices access this group rec and check that the group attributes match. Because of the way mutexes are locked, before this change it was possible to skip the device type check as illustrated in the following example. Imagine a group with 2 devices, CPU:0 and GPU:0. CPU:0 creates the `gr` and initializes its type to CPU. It releases `group_mu_` but before it can lock `gr->mu` GPU:0 locks it first. GPU:0 then skips the device type check because `device_set` is empty. This is incorrect, and the desired behavior is to return an internal error for a collective group with different device types. This change removes the `device_set` is empty check because it is not needed. PiperOrigin-RevId: 286024716 Change-Id: Ib54defe5326426ab5cd1b692067b2b207f7a1d7e
-
由 A. Unique TensorFlower 提交于
This function has become redundant with MemRefDescriptor::getElementType and is no longer necessary. Use the MemRefDescriptor pervasively to concentrate descriptor-related logic in one place and drop the utility function. PiperOrigin-RevId: 286024168 Change-Id: I49880ed90488610887d9b3f5cd0bcbc7be235ca3
-
由 A. Unique TensorFlower 提交于
The conversion procedure has been updated to reflect the most recent MemRef descriptor proposal, but the documentation was only updated for the type conversion, omitting the address computation section. Make sure the two sections agree. PiperOrigin-RevId: 286022684 Change-Id: I4f6d8e0dcbee2ef5d856cacb4a90dd709d4721da
-
由 Juhyun Lee 提交于
PiperOrigin-RevId: 286021437 Change-Id: Ieb05e52c3ec2dc0f4df47a596e958acf57c54817
-
由 A. Unique TensorFlower 提交于
PiperOrigin-RevId: 286020854 Change-Id: I6a1eaf2fb3ea7ec1e769edc00f3310b9d04a8292
-
由 A. Unique TensorFlower 提交于
User(TupleGetOp(ExtractSlicesOp(InsertSlicesOp(TupleOp(Producer))) -> User(Producer) PiperOrigin-RevId: 286020249 Change-Id: I3f539f6f15424cd920615cec436984e944bab34d
-
由 Juhyun Lee 提交于
PiperOrigin-RevId: 286016600 Change-Id: If328d508229d49de19fe35346df5e0181414b3e7
-
由 Peter Hawkins 提交于
* Remove all device_ordinals from the local_client.h API. Instead, change APIs to expect a Device object. * Rename DeviceState to LocalDeviceState, which perhaps better clarifies its role: it hold objects pertaining to a locally-attached device. * Make the LocalDeviceState owned by Device. PiperOrigin-RevId: 286013320 Change-Id: Icd006a7bc35ae0e14caf32965274468379dea923
-
由 A. Unique TensorFlower 提交于
PiperOrigin-RevId: 286012185 Change-Id: Id1f859f68afb8949cec8898ddd739d09f5ced07d
-
由 Jin Mingjian 提交于
[{ matched with }], rather than ]} Closes #320 COPYBARA_INTEGRATE_REVIEW=https://github.com/tensorflow/mlir/pull/320 from jinmingjian:patch-1 6b0870d02284f023bda2b28380960eb31d34f3b6 PiperOrigin-RevId: 286007638 Change-Id: I9f4670c386e72538182227b75b4cd1f138fdec95
-
由 A. Unique TensorFlower 提交于
This is originally from @claverru's PR: https://github.com/tensorflow/tensorflow/pull/31191 PiperOrigin-RevId: 286007122 Change-Id: Ic5fb32de79d1210d11554291b41e69cc3ebbbd12
-
由 A. Unique TensorFlower 提交于
https://gitlab.com/libeigen/eigen/commit/7252163335f56f23fcc7381c1efdea47161005fa PiperOrigin-RevId: 286006460 Change-Id: Ic78a1d7e41bbe7f877a32e67b996e70b9a824122
-
由 Derek Murray 提交于
This matches the behavior for the (long-deprecated) DT_STRING_REF handle version, and avoids string copies and allocations on each invocation of the kernel. PiperOrigin-RevId: 286005273 Change-Id: If1767f86bdf5ebc0480cb9d61703dcd895942eec
-
由 Xunkai Zhang 提交于
PiperOrigin-RevId: 286003861 Change-Id: I683b17ae42cf90835056558598e972a3441b1a01
-
由 River Riddle 提交于
This class provides a simplified mechanism for defining a switch over a set of types using llvm casting functionality. More specifically, this allows for defining a switch over a value of type T where each case corresponds to a type(CaseT) that can be used with dyn_cast<CaseT>(...). An example is shown below: // Traditional piece of code: Operation *op = ...; if (auto constant = dyn_cast<ConstantOp>(op)) ...; else if (auto return = dyn_cast<ReturnOp>(op)) ...; else ...; // New piece of code: Operation *op = ...; TypeSwitch<Operation *>(op) .Case<ConstantOp>([](ConstantOp constant) { ... }) .Case<ReturnOp>([](ReturnOp return) { ... }) .Default([](Operation *op) { ... }); Aside from the above, TypeSwitch supports return values, void return, multiple types per case, etc. The usability is intended to be very similar to StringSwitch. (Using c++14 template lambdas makes everything even nicer) More complex example of how this makes certain things easier: LogicalResult process(Constant op); LogicalResult process(ReturnOp op); LogicalResult process(FuncOp op); TypeSwitch<Operation *, LogicalResult>(op) .Case<ConstantOp, ReturnOp, FuncOp>([](auto op) { return process(op); }) .Default([](Operation *op) { return op->emitError() << "could not be processed"; }); PiperOrigin-RevId: 286003613 Change-Id: Ia497a9ec65fbbbcd72e23651d828fe17fee5096d
-