Tres Popp
7c3f049c8e
[kernel_gen] Lower max rank specialization from 6 to 5
...
We don't care much about rank 6 broadcasting operations and this lowers compile times significantly.
PiperOrigin-RevId: 345466476
2020-12-03 09:19:25 -08:00
River Riddle
f89244381d
[mlir][NFC] Replace usages of Function.h and Module.h with BuiltinOps.h
...
This is part of a larger refactoring cleaning up the BuiltinDialect of MLIR.
PiperOrigin-RevId: 345085278
2020-12-01 13:18:06 -08:00
A. Unique TensorFlower
dd15c6cd84
[MLIR][KernelGen] Generate assertion message in `transform_unranked_hlo` pass
...
Use constant to generate the correct assertion message. This avoids
confusion when lowering the max rank specialization for debugging.
PiperOrigin-RevId: 344769021
2020-11-30 01:41:09 -08:00
Adrian Kuegel
6a71a84302
Support different input/output type for TransformUnrankedHlo.
...
Also generate the tf.Equal kernel, now that it works.
PiperOrigin-RevId: 344402014
2020-11-26 04:20:34 -08:00
Alexander Belyaev
5583c63cab
[KERNEL_GEN] Add unranked Conj kernel.
...
PiperOrigin-RevId: 344243271
2020-11-25 06:37:26 -08:00
Lucy Fox
85f92a1651
[KernelGen] Lower tf.Erf and tf.Erfc ops to CHLO.
...
This does not include the lowerings from CHLO to LMHLO.
PiperOrigin-RevId: 344091604
2020-11-24 10:55:43 -08:00
Tres Popp
af4c9774dc
Handle rank 1 broadcasts in unranked kernel lowering.
...
Previously this started at rank 2 after checking for scalars and equal shapes. This resulted in cases such as <1xf32> + <2xf32> being treated as impossible.
PiperOrigin-RevId: 341043965
2020-11-06 07:22:43 -08:00
Tres Popp
81e8d778c4
Fix bug using std.rank instead of shape.rank
...
PiperOrigin-RevId: 339890070
2020-10-30 09:59:24 -07:00
Tres Popp
76b30fd426
Move unranked chlo lowering to transform_unranked_hlo.
...
Additionally:
- Forward listeners through new if/else op builders.
This corrects an error that led to incomplete legalization of broadcasted op
lowering.
- Use OpConversionPattern to ensure up to date operand values are used.
PiperOrigin-RevId: 339838833
2020-10-30 02:56:44 -07:00
Thomas Joerg
7363748bae
Integrate LLVM at llvm/llvm-project@0fc1aa22ee
...
Updates LLVM usage to match
[0fc1aa22ee6a](https://github.com/llvm/llvm-project/commit/0fc1aa22ee6a )
PiperOrigin-RevId: 339239851
2020-10-27 06:56:16 -07:00
A. Unique TensorFlower
7f84a86cf5
[MLIR][KerneGen] Lower `tf.Atan` all the way to LLVM
...
PiperOrigin-RevId: 335394668
2020-10-05 05:07:13 -07:00
Chao Xie
5f303440da
[MLIR][KerneGen] Lower `tf.Atan` all the way to LLVM
...
PiperOrigin-RevId: 334843070
2020-10-01 10:25:51 -07:00
A. Unique TensorFlower
458e861254
[MLIR][KerneGen] Lower `tf.Atan` all the way to LLVM
...
PiperOrigin-RevId: 334810730
2020-10-01 07:38:40 -07:00
A. Unique TensorFlower
4002077261
[MLIR][KernelGen] Lower `tf.Sinh` to MLHLO
...
PiperOrigin-RevId: 332425724
2020-09-18 04:27:07 -07:00
A. Unique TensorFlower
2fbbbe9cf1
[MLIR][KernelGen] Lower `tf.Acos` to LMHLO.
...
- Add ranked code generation for `mhlo.compare/select`
- Add bufferization for `tensor_cast`
- Add lowerings for `Atan2Op`
PiperOrigin-RevId: 332407734
2020-09-18 01:40:18 -07:00
A. Unique TensorFlower
69b80d8deb
[MLIR] Extend unranked transformation to CHLO dialect
...
PiperOrigin-RevId: 332026604
2020-09-16 09:49:18 -07:00
A. Unique TensorFlower
da43c8596b
[MLIR] Simplify and generalize `transform-unranked-hlo`
...
This refactoring allows to support a wider range of n-ary operations in future
changes.
PiperOrigin-RevId: 331953362
2020-09-16 01:13:23 -07:00
Alexander Belyaev
ebc7992d31
[MLIR][KERNEL_GEN] Add a library to lower kernels with the host side.
...
* Unified TF->Cubin and TF->Kernel_with_host side lowering in `kernel_creator.h|cc`
* Added a pass that attaches GPU binary blob to GPUModuleOp
* Refactored most of the code.
* Added tf_to_kernel binary that emits obj file
PiperOrigin-RevId: 330494488
2020-09-08 06:06:29 -07:00
Mehdi Amini
36ddbeb6b2
Remove the dependency on global dialect registry from mlir-hlo
...
PiperOrigin-RevId: 328457105
2020-08-25 20:30:42 -07:00
Alexander Belyaev
843af36e05
[MLIR] Add e2e test for unranked unary TF op, lowered and run with CPU runner.
...
PiperOrigin-RevId: 325665428
2020-08-09 02:38:00 -07:00
A. Unique TensorFlower
5d3cc2105e
[MLIR][HLO] Remove redundant casts from unranked to ranked transformation
...
The transformation of unranked to ranked operations no longer generates cast
operations for shapes and sizes. Instead, we use the newly introduced support
for extent tensor and index types directly.
PiperOrigin-RevId: 325057440
2020-08-05 11:11:43 -07:00
Mehdi Amini
cd01bb4c4e
More cleanup in mlir-hlo to prepare for the standalone build
...
Shuffle files around, use TableGen to register passes, and introduce
a `mlir-hlo-opt.cpp` file to hold the main entry point of the -opt tool
and stop relying on static registration for dialect/passes.
PiperOrigin-RevId: 323674455
2020-08-03 19:28:00 -07:00
Stephan Herhut
effd3fb4f9
Extend unranked to ranked pattern for hlo operations to all unary and binary ops.
...
As this is essentially always the same pattern, only one operation is tested.
PiperOrigin-RevId: 323525418
2020-08-03 19:27:49 -07:00
Thomas Joerg
739758f9cc
Integrate LLVM at llvm/llvm-project@eed333149d
...
Updates LLVM usage to match
[eed333149d17](https://github.com/llvm/llvm-project/commit/eed333149d17 )
PiperOrigin-RevId: 323354988
2020-08-03 19:27:25 -07:00
Mehdi Amini
506ddd9c4a
Cleanup build rule names in compiler/mlir/hlo to remove the redundant/obsolete xla_ prefix
...
PiperOrigin-RevId: 320320140
2020-07-30 22:33:29 +00:00