[tfrt:mlir] Implement MLIR Async Runtime API on top of TFRT host concurrency primitives

1. Implement MLIR Async Runtime API as ::tfrt::cpu::jit::AsyncRuntime
2. Add a tfrt_cpu_runner (mlir-cpu-runner with statically linked async runtime) for testing

AsyncRuntime + runtime SymbolMap passed to MLIR ExecutionEngine will be the foundation of CPU-JIT kernels in TFRT.

MLIR Async Runtime: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h#L35

PiperOrigin-RevId: 348437786
Change-Id: Ie45d6bf881b985436b0c07ed6da6e40c07e15de3
This commit is contained in:
Eugene Zhulenev 2020-12-21 02:44:44 -08:00 committed by TensorFlower Gardener
parent 7d034e94dc
commit 42328363b8

View File

@ -4069,15 +4069,18 @@ cc_library(
)
cc_library(
name = "mlir_async_runtime",
srcs = [
"lib/ExecutionEngine/AsyncRuntime.cpp",
],
hdrs = [
"include/mlir/ExecutionEngine/AsyncRuntime.h",
],
name = "mlir_async_runtime_api",
hdrs = ["include/mlir/ExecutionEngine/AsyncRuntime.h"],
includes = ["include"],
deps = ["@llvm-project//llvm:Support"],
)
cc_library(
name = "mlir_async_runtime",
srcs = ["lib/ExecutionEngine/AsyncRuntime.cpp"],
deps = [
":mlir_async_runtime_api",
"@llvm-project//llvm:Support",
],
)
cc_library(