aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/graph
Commit message (Collapse)AuthorAge
* Automated rollback of commit 950cf87104bfee28e2165fe368f66337b8a1336dGravatar A. Unique TensorFlower2018-10-10
| | | | PiperOrigin-RevId: 216500702
* [tf.data vectorization] Add vectorizer for `Add` opGravatar Rachel Lim2018-10-09
| | | | PiperOrigin-RevId: 216424512
* Merge pull request #22783 from Intel-tensorflow:sfu2/clean_mklmlGravatar TensorFlower Gardener2018-10-08
|\ | | | | | | PiperOrigin-RevId: 216253115
* | Partial support tfe.defun in tf.gradients.Gravatar Alexandre Passos2018-10-08
| | | | | | | | | | | | | | | | Doesn't attempt to deal with cases where we might have already generated the functiondef for the parent function as in that case we cannot easily modify the forward pass. PiperOrigin-RevId: 216243224
| * Clean up the code under INTEL_MKL_ML_ONLYGravatar shengfuintel2018-10-05
|/
* [tf.data] Add utility to deduplicate graph node names (after vectorization)Gravatar Rachel Lim2018-10-03
| | | | PiperOrigin-RevId: 215595078
* Merge pull request #22493 from Intel-tensorflow:cuixiaom_disable_MKLGravatar TensorFlower Gardener2018-10-03
|\ | | | | | | PiperOrigin-RevId: 215560522
* | Check that IsValid{Input|Output}Tensor is only given non-control edgesGravatar Sanjoy Das2018-10-01
| | | | | | | | PiperOrigin-RevId: 215338658
* | Clean up the build_xla_ops to use the generated C++ TF op wrappers.Gravatar Sanjoy Das2018-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cleanup will make the future CL implementing lazy compilation simpler. Includes some supporting changes: - Teach NewInternalScope to create a scope that doesn't do shape inference. We need this because we don't have a ShapeRefiner that has been run over the entire graph available in the build_xla_ops pass. - Add a WithAssignedDevice modifier to tensorflow::Scope. - Make cc_op_gen write out an Operation field for nodes which may not necessarily have any outputs. We already did this in most cases, but we weren't doing it for nodes that have possibly-empty list outputs. - Minor change renaming ops/xla_jit_op.cc to ops/xla_jit_ops.cc, now that we have more than one XLA JIT op. PiperOrigin-RevId: 215293817
| * Added the feature to disable MKL support of TensorFlow by environmental ↵Gravatar Xiaoming (Jason) Cui2018-09-28
|/ | | | variable TF_DISABLE_MKL=1
* Merge pull request #22076 from Intel-tensorflow:feature/daoxin/sliceGravatar TensorFlower Gardener2018-09-26
|\ | | | | | | PiperOrigin-RevId: 214726180
* | Adds a build flag to enable MKL (mkl_enabled=true).Gravatar A. Unique TensorFlower2018-09-25
| | | | | | | | PiperOrigin-RevId: 214557082
| * Fix clang-format styles.Gravatar Pan Daoxin2018-09-21
| |
* | Added ABSL_DEPRECATED annotations to various deprecated TensorFlow functions.Gravatar A. Unique TensorFlower2018-09-19
| | | | | | | | PiperOrigin-RevId: 213693027
* | Fix GraphConstructor and import_graph_def bug with variadic ops.Gravatar Skye Wanderman-Milne2018-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this change, GraphConstructor::PopulateMissingUnusedInputMapKey() didn't correctly compute the number of outputs for ops with variadic outputs. This meant that missing_unused_input_map_keys could contain spurious entries for unused variadic outputs, which could trigger a ValueError in import_graph_def. This also adds a new util method in node_def_util.h, NumOutputsForNode(). PiperOrigin-RevId: 213353158
* | Add missing #include to mkl_layout_pass.cc.Gravatar A. Unique TensorFlower2018-09-13
| | | | | | | | PiperOrigin-RevId: 212921868
* | Add missing spaces to error message.Gravatar Sanjoy Das2018-09-11
| | | | | | | | PiperOrigin-RevId: 212485820
* | [tf.data] Add internal optimizations for executing simple functions in ↵Gravatar Derek Murray2018-09-04
| | | | | | | | | | | | `MapDataset`. PiperOrigin-RevId: 211520001
| * Add MklSlice op.Gravatar Pan Daoxin2018-09-04
|/
* Merge pull request #21665 from Intel-tensorflow:static-code-scan-issuesGravatar TensorFlower Gardener2018-08-30
|\ | | | | | | PiperOrigin-RevId: 211013893
* | Make Graph::UpdateEdge() be O(e) instead of O(E)Gravatar Asim Shankar2018-08-28
| | | | | | | | | | | | | | | | | | | | | | where: - E = number of edges in the graph - e = number of edges on the node of interest e is necessarily <= E and is typically really small (# of inputs to an operation + control edges) PiperOrigin-RevId: 210624296
* | Removed redundant std::string -> string conversions.Gravatar A. Unique TensorFlower2018-08-28
| | | | | | | | PiperOrigin-RevId: 210565027
* | Merge pull request #21586 from Intel-tensorflow:pooling3dGravatar TensorFlower Gardener2018-08-27
|\ \ | | | | | | | | | PiperOrigin-RevId: 210474549
* | | Replaced calls to tensorflow::StringPiece::ToString with std::string ↵Gravatar A. Unique TensorFlower2018-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conversions. That is, instances of sp.ToString() are replaced with string(sp). This will allow tensorflow::StringPiece::ToString to be removed, which is necessary before it can be replaced with absl::string_view. PiperOrigin-RevId: 210394878
* | | fix C++ header guards.Gravatar A. Unique TensorFlower2018-08-21
| | | | | | | | | | | | PiperOrigin-RevId: 209679086
| | * [Intel MKL] Static code analysis tool fixesGravatar Clayne Robison2018-08-16
| | | | | | | | | | | | | | | | | | - mkl_cpu_allocator.h: disallowing copy constructor and assignement operator; returning nullptr from non-void functions even though they generate Unimplemented Status code - mkl_graph_util.h: making kTensorOrdering const because it never gets changed anyway - mkl_layout_pass.cc: adding checks for nullptr before dereferencing
| * | Merge branch 'master' into pooling3dGravatar AG Ramesh2018-08-16
| |\ \ | |/ / |/| |
* | | Merge pull request #21324 from Intel-tensorflow:conv3dGravatar TensorFlower Gardener2018-08-16
|\ \ \ | |_|/ |/| | | | | PiperOrigin-RevId: 209032082
* | | Automated rollback of commit a00fba38681fa28d6d20cd730fe362864b819a0dGravatar Gunhan Gulsoy2018-08-14
| | | | | | | | | | | | PiperOrigin-RevId: 208775205
* | | ZerosLike in symbolicgradient for resource variablesGravatar Alexandre Passos2018-08-14
| | | | | | | | | | | | PiperOrigin-RevId: 208720651
* | | Automated rollback of commit cea262e16a004d73295259c42f21e2655da3df13Gravatar Gunhan Gulsoy2018-08-14
| | | | | | | | | | | | PiperOrigin-RevId: 208716358
* | | Move HostConstantOp kernels from testlib to core/kernels.Gravatar Gunhan Gulsoy2018-08-14
| | | | | | | | | | | | PiperOrigin-RevId: 208680161
| | * enable pooling3D opGravatar Guozhong Zhuang2018-08-13
| |/ |/|
| * Merge branch 'master' into conv3dGravatar AG Ramesh2018-08-11
| |\ | |/ |/|
* | Rename MKL-related feature macros.Gravatar A. Unique TensorFlower2018-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing feature macros are named INTEL_MKL to indicate that any flavor of MKL is available, INTEL_MKL_ML to indicate that *only* MKL-ML is available (i.e. MKL-DNN is not), and DO_NOT_USE_ML to indicate that *only* MKL-DNN is available (i.e. MKL-ML is not). This change renames INTEL_MKL_ML to INTEL_MKL_ML_ONLY and DO_NOT_USE_ML to INTEL_MKL_DNN_ONLY. The meanings of the macros have not changed. This change also adds a few sanity checks to mkl_util.h that ensures that the combination of INTEL_MKL, INTEL_MKL_ML_ONLY, and INTEL_MKL_DNN_ONLY is logically consistent: the *_ONLY macros may not both be defined, and if either of them is defined, bare INTEL_MKL must also be defined. PiperOrigin-RevId: 208313735
| * rename CopyAttrsConv2D->CopyAttrsConvGravatar Jiang,Zhoulong2018-08-06
| |
| * Conv3d enhancementGravatar Jiang,Zhoulong2018-08-02
|/
* Merge pull request #21007 from Intel-tensorflow:agramesh/parallel_for_fixGravatar TensorFlower Gardener2018-07-30
|\ | | | | | | PiperOrigin-RevId: 206611194
* | Remove references to std::string in MKL-related code.Gravatar A. Unique TensorFlower2018-07-27
| | | | | | | | | | | | | | | | | | tensorflow::string is sometimes ::string and sometimes std::string, which makes code that uses both subtly dangerous. For example, FactoryKeyCreator::AddAsKey() has an overload for tensorflow::string but had many callsites passing a std::string, causing incorrect behavior on the google platform. PiperOrigin-RevId: 206389641
* | Adding NodeDef names to error messages for better debuggability.Gravatar A. Unique TensorFlower2018-07-27
| | | | | | | | | | | | | | The format used is as follows: {{node <node_name>}} PiperOrigin-RevId: 206370355
* | This change started with an intention of adding an attribute to cast ops to ↵Gravatar A. Unique TensorFlower2018-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | decide whether bfloat16 casts should use truncation or rounding. This is a preparatory change before we switch the default float ==> bfloat16 cast to use rounding instead of truncation. The attribute added can then be specified on casts that rely on the truncation, e.g., the TensorFlow send/receive operations. It later emerged that the choice of doing truncation is useful more generally. Therefore, this change allows the new attribute to be used by all relevant casts to use truncation instead of rounding. PiperOrigin-RevId: 205996367
| * Added commentsGravatar AG Ramesh2018-07-22
| |
| * minor format changesGravatar AG Ramesh2018-07-22
| |
| * Don't rewrite LRNgrad and Maxpoolgrad to mkl versions if correspinding fwd ↵Gravatar AG Ramesh2018-07-20
|/ | | | operator are not present since these MKL grad operators require workspace
* Add some LOGging when we detect nodes in a cycleGravatar Sanjoy Das2018-07-18
| | | | PiperOrigin-RevId: 205146924
* Don't cluster nodes that have inputs with mismatching deadnessGravatar Sanjoy Das2018-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TensorFlow allows nodes to have some live inputs and some dead inputs. The executor does not execute these nodes but instead propagates a dead signal to all their outputs (i.e. these nodes are treated as fully dead). This is a problem for auto-clustering because it means auto-clustering can kill nodes that used to be alive. For instance say before clustering we have a graph like digraph { Alive0 -> P Alive1 -> Q Dead -> R P -> X Q -> X Q -> Y R -> Y } and we cluster P, Q, R, X and Y into a single XLA cluster. Then after clustering both X and Y are dead because the cluster is a single node as far as the executor is concerned and said node won't get scheduled if any of its inputs are dead. This CL introduces a static analysis pass that our auto-clustering code can use to ensure nodes that have inputs with mismatching deadness (like "Y" in the example graph) are not included in XLA clusters. PiperOrigin-RevId: 205143316
* I think this should fix the following failure with see in MacOS build:Gravatar Anna R2018-07-03
| | | | | | | error: no type named 'type' in 'std::__1::enable_if<false, void>'; 'enable_if' cannot be used to disable this declaration ,typename enable_if<is_convertible<const _U1&, _T1>::value && PiperOrigin-RevId: 203216967
* Merge changes from github.Gravatar Mingxing Tan2018-06-28
| | | | PiperOrigin-RevId: 202585094
* Fix MacOS build.Gravatar Skye Wanderman-Milne2018-06-25
| | | | | | | | | | | | | | | | | | | | | | | MacOS builds were failing with errors like the following: In file included from tensorflow/core/graph/graph_constructor.cc:16: In file included from ./tensorflow/core/graph/graph_constructor.h:19: In file included from bazel-out/darwin-opt/genfiles/tensorflow/core/framework/graph.pb.h:7: In file included from /Applications/Xcode_8.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:439: In file included from /Applications/Xcode_8.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:627: /Applications/Xcode_8.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:280:38: error: no type named 'type' in 'std::__1::enable_if<false, void>'; 'enable_if' cannot be used to disable this declaration ,typename enable_if<is_convertible<const _U1&, _T1>::value && ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./tensorflow/core/graph/tensor_id.h:66:15: note: in instantiation of member function 'std::__1::pair<std::__1::basic_string<char>, int>::pair' requested here using Base::pair; ^ tensorflow/core/graph/graph_constructor.cc:411:28: note: while substituting deduced template arguments into function template 'SafeTensorId' [with _U1 = tensorflow::StringPiece, _U2 = int] TensorId src = mapping.first; ^ I'm still not exactly sure what the problem is and why it doesn't affect all compilers, but for some reason the compiler is trying to construct a SafeTensorId from a StringPiece. My guess is there's a std::pair constructor that takes another pair, and an enable_if isn't working correctly to prevent incompatible types from being ignored. PiperOrigin-RevId: 201980490
* Move cycle detection helper function from c/c_api to core/graph/validate.Gravatar A. Unique TensorFlower2018-06-22
| | | | PiperOrigin-RevId: 201766085