aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/lib/hash
Commit message (Collapse)AuthorAge
* fix C++ header guards.Gravatar A. Unique TensorFlower2018-08-21
| | | | PiperOrigin-RevId: 209679086
* Use utility methods to compute AttrValue hash code and check for equality.Gravatar A. Unique TensorFlower2018-05-14
| | | | PiperOrigin-RevId: 196531355
* [XLA:CPU] Re-use the same llvm::GlobalVariable for identical literalsGravatar Sanjoy Das2018-05-01
| | | | | | | | | | This isn't necessary today, but it will be after an optimization change I'm about to make. LLVM has a constant merging pass too, but one of the motivations here is to avoid the LLVM compile time overhead of having many large arrays in the IR. PiperOrigin-RevId: 195032900
* Automated g4 rollback of changelist 189110935Gravatar A. Unique TensorFlower2018-03-15
| | | | PiperOrigin-RevId: 189224522
* Automated g4 rollback of changelist 189060958Gravatar A. Unique TensorFlower2018-03-14
| | | | PiperOrigin-RevId: 189110935
* Move StringPieceHasher from stringpiece.h to hash.h (where there is already ↵Gravatar A. Unique TensorFlower2018-03-14
| | | | | | a hash<StringPiece>). PiperOrigin-RevId: 189060958
* Break the dependency between platform/types.h and bfloat16.h, and betweenGravatar A. Unique TensorFlower2018-03-13
| | | | | | | hash.h and bfloat16.h. This change introduces a generic mechanism for adapting types that are meant to be used in tensorflow's error objects. PiperOrigin-RevId: 188920678
* Decoupling hash and protobuf. This simplifies a little bit the dependency ↵Gravatar A. Unique TensorFlower2018-03-08
| | | | | | | | | | chain as we don't have to link protobuf libraries just to use basic hash functions. The case for deterministic serialization of protocol buffers if very specific and can be handled by a new header file. PiperOrigin-RevId: 188366713
* Enable bfloat16 for CPU kernelsGravatar A. Unique TensorFlower2018-01-16
| | | | PiperOrigin-RevId: 182124532
* Move SerializeToStringDeterministic to a header fileGravatar Igor Ganichev2017-09-25
| | | | | | It is a useful function for computing hash values. PiperOrigin-RevId: 170013135
* Highlight incoming/outgoing edges on hover in HLO graphviz dumps, and other ↵Gravatar Justin Lebar2017-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | improvements. Other improvements: - Don't show tooltips for nodes and clusters. Previously we'd show a tooltip containing a pointer value expressed as decimal. Not so useful. - Show tooltips on edges with the to/from node names. - Fix bug wherein if we had - a node at the "edge" of the graph (so its operands aren't included unless they're referenced by another node), - with all of its operands included in the graph save one or more constants, and - those constants weren't referenced by any nodes not at the edge of the graph, we would incorrectly draw the node as "grayed out", indicating that one of its operands (namely, its constant operand) wasn't present in the graph. This is wrong because constants are inlined into their users, so they should always count as "displayed" for the purposes of determining whether a node is grayed out. PiperOrigin-RevId: 163276108
* Remove HashStr and HashStringPiece (a one-off).Gravatar Justin Lebar2017-07-11
| | | | | | | Now that we have tensorflow::hash and it's the default hasher for FlatMap and FlatSet, we can get rid of HashStr and HashStringPiece. PiperOrigin-RevId: 161560034
* Switch FlatMap and FlatSet to use a non-identity hasher for pointers.Gravatar Justin Lebar2017-07-11
| | | | | | | | | | | | Previously the default hasher for FlatMap and FlatSet used std::hash by default. Most stdlibs' std::hash for pointers is the identity function. This works for std::unordered_{set,map} because those are prime-sized hashtables. But FlatSet and FlatMap are power-of-two-sized, and so the identity function is bad, bad news. This change also switches us to use Hash64 for strings, rather than std::hash. PiperOrigin-RevId: 161553663
* Merge changes from github.Gravatar Vijay Vasudevan2017-02-17
| | | | Change: 147897309
* Use SSE4.2 crc32c instruction if available.Gravatar A. Unique TensorFlower2017-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also added a benchmark. New code is ~6x the throughput for lengths >= 16; Run on ... (12 X 3501 MHz CPUs); 2017-01-23T13:53:34.121700508-08:00 CPU: Intel Ivybridge with HyperThreading (6 cores) dL1:32KB dL2:256KB dL3:12MB Benchmark Time(ns) CPU(ns) Iterations ----------------------------------------------------------- Old: BM_CRC/1_mean 4.53 4.53 1529955670 210.559MB/s BM_CRC/8_mean 7.67 7.67 923461420 995.407MB/s BM_CRC/64_mean 49.3 49.2 142465300 1.211GB/s BM_CRC/512_mean 380 380 18472980 1.255GB/s BM_CRC/4k_mean 3070 3067 2306140 1.244GB/s BM_CRC/32k_mean 24398 24373 283310 1.252GB/s BM_CRC/256k_mean 197142 196936 36060 1.240GB/s New: BM_CRC/1_mean 4.64 4.63 1441767130 205.946MB/s BM_CRC/8_mean 8.36 8.35 837511140 913.375MB/s BM_CRC/64_mean 7.01 7.00 972688290 8.512GB/s BM_CRC/512_mean 51.8 51.7 100000000 9.223GB/s BM_CRC/4k_mean 416 416 16838270 9.179GB/s BM_CRC/32k_mean 3275 3272 2093370 9.327GB/s BM_CRC/256k_mean 26205 26179 267630 9.326GB/s name old time/op new time/op delta BM_CRC/1 4.53ns +- 1% 4.63ns +- 3% +2.30% (p=0.000 n=10+10) BM_CRC/8 7.64ns +- 1% 8.35ns +- 1% +9.32% (p=0.000 n=9+10) BM_CRC/64 49.2ns +- 0% 7.0ns +- 0% -85.77% (p=0.000 n=6+10) BM_CRC/512 380ns +- 0% 52ns +- 1% -86.39% (p=0.000 n=9+10) BM_CRC/4k 3.07us +- 1% 0.42us +- 1% -86.45% (p=0.000 n=10+10) BM_CRC/32k 24.4us +- 2% 3.3us +- 1% -86.58% (p=0.000 n=10+10) BM_CRC/256k 197us +- 3% 26us +- 0% -86.71% (p=0.000 n=10+10) Change: 146051723
* Use gtl::FlatMap and gtl::FlatSet in several places instead ofGravatar A. Unique TensorFlower2016-10-31
| | | | | | | | | | std::unordered_map and std::unordered_set. Add default template argument of std::hash<Key> to gtl::FlatMap and gtl::FlatSet to better match std::unordered_{map,set} Improves performance on an RPC-intensive benchmark by ~0.4% Change: 137754417
* Added new tensorflow::gtl::FlatMap and tensorflow::gtl::FlatSet classes.Gravatar A. Unique TensorFlower2016-10-27
| | | | | | | | | | | | Mostly drop-in replacements for std::unordered_map and std::unordered_set, but much faster (does not do an allocation per entry, and represents entries in groups of 8 in a flat array, which is much more cache efficient). Benchmarks not included in this cl show about 3X to 5X performance improvements over the std::unordered_{set,map} for many kinds of common maps e.g. std::unordered_mapmap<int64, int64> or std::unordered_map<string, int64>. Change: 137401863
* ClientSession wraps a Session object and provides Run methods that operate onGravatar Manjunath Kudlur2016-08-19
| | | | | the C++ API's Output/Operation object instead of strings. Change: 130776638
* Update copyright for 3p/tf/core.Gravatar A. Unique TensorFlower2016-06-02
| | | | Change: 123900938
* Global search & replace to move to the new location forGravatar Josh Levenberg2016-01-26
| | | | | tensorflow/core/ files and build targets. Change: 113078322
* Many tensorflow/core build clean ups.Gravatar Josh Levenberg2016-01-20
| | | | Change: 112523833
* Replacing reference 'names' variable with 'example_names' variable.Gravatar A. Unique TensorFlower2016-01-20
| | | | Change: 112481326
* #include third_party/tensorflow/core/platform/macros.hGravatar Josh Levenberg2016-01-06
| | | | | directly so we can drop it from port.h. Change: 111506675
* TensorFlow: Improve performance of AlexnetGravatar Manjunath Kudlur2015-11-20
| | | | | | | | | | | | | | | | | | | | | | Changes: * error message that refers to removed `DefaultSession` method. * -Wnull-conversion warnings * the "_start_time" attr for recvs when the flag "--brain_enable_scheduling_for_recvs" is set. * typo in tutorial data download progress message. * a typo ("however their installing"=>"however installing"). * typo, rename "TensorFlow Mechanics" to "How To" to be consistent with the website. * a typo ("subtact"=>"subtract"). * protobuf examples in comments in tensorflow::Example.proto. * formula formatting in MNIST beginner tutorial * negative fraction-of-queue-full stats * protobuf inclusion path so that Android demo will build under Blaze. * small typo (moderatly > moderately) * Session.run() to check that tensor arguments come from the session's graph. * another six import * seq2seq typo in bazel command Base CL: 108349164
* TensorFlow: Doc and linter fixes, some additional tests andGravatar Vijay Vasudevan2015-11-16
| | | | | | | | | | | | | | error handling, updates to website. Changes: - Removes redundant reshape from image models by @mrry - Default TensorBoard to localhost by @danmane - Reformatting of tensorflow/core by @josh11b - Make tutorials backwards compatible to 0.5.0 by @girving - Improve print documentation (md files not updated). - Add proper scrolling to sitemap by @martinwicke Base CL: 107956254
* TensorFlow: Initial commit of TensorFlow library.Gravatar Manjunath Kudlur2015-11-06
TensorFlow is an open source software library for numerical computation using data flow graphs. Base CL: 107276108