blob: f9d0e5be498ecbd7df0ce25d412862030c67b33a [file] [log] [blame] [view]
# IREE Compiler Python Bindings
Transitional note: These bindings are not complete yet and will ultimately
replace the `pyiree.compiler` and `pyiree.tf.compiler` packages.
## Core compiler
```py
from pyiree.compiler2 import *
SIMPLE_MUL_ASM = """
func @simple_mul(%arg0: tensor<4xf32>, %arg1: tensor<4xf32>) -> tensor<4xf32>
attributes { iree.module.export } {
%0 = "mhlo.multiply"(%arg0, %arg1) {name = "mul.1"} : (tensor<4xf32>, tensor<4xf32>) -> tensor<4xf32>
return %0 : tensor<4xf32>
}
"""
# Also see compile_file()
# There are many keyword options available.
# See pyiree.compiler2.CompilerOptions
binary = compile_str(SIMPLE_MUL_ASM, target_backends=["vulkan-spirv"])
```
## TensorFlow compiler
```py
import tensorflow as tf
from pyiree.compiler2.tf import *
class SimpleArithmeticModule(tf.Module):
@tf.function(input_signature=[
tf.TensorSpec([4], tf.float32),
tf.TensorSpec([4], tf.float32)
])
def simple_mul(self, a, b):
return a * b
# Also see compile_saved_model to directly compile an on-disk saved model.
# There are many keyword options available.
# See: pyiree.compiler2.tf.ImportOptions
binary = compile_module(
SimpleArithmeticModule(), target_backends=["vulkan-spirv"])
```