Changes to accommodate latest IREE API
Necessary changes to accommodate latest IREE.
Also temporarily disable VMVX inlineHAL until upstream issue is fixed.
Change-Id: If4f521e3dac137f5dcee499540e160741370b669
diff --git a/cmake/springbok_modules.cmake b/cmake/springbok_modules.cmake
index ba3c6bc..206374c 100644
--- a/cmake/springbok_modules.cmake
+++ b/cmake/springbok_modules.cmake
@@ -79,6 +79,8 @@
EMITC
)
+ # TODO(lundong): Re-enable InlineHAL VMVX after
+ # github.com/openxla/iree/issues/12620 is resolved
if (${_RULE_VMVX})
springbok_vmvx_module(
NAME
@@ -89,7 +91,6 @@
"${_RULE_C_IDENTIFIER}_bytecode_module_vmvx"
FLAGS
"${_RULE_FLAGS}"
- "${_INLINE_HAL_ARG}"
)
springbok_vmvx_module(
@@ -99,7 +100,6 @@
"${_RULE_SRC}"
FLAGS
"${_RULE_FLAGS}"
- "${_INLINE_HAL_ARG}"
EMITC
)
endif()
diff --git a/cmake/springbok_static_module.cmake b/cmake/springbok_static_module.cmake
index 099a615..7fef4cb 100644
--- a/cmake/springbok_static_module.cmake
+++ b/cmake/springbok_static_module.cmake
@@ -71,7 +71,7 @@
iree_package_name(_PACKAGE_NAME)
iree_package_ns(_PACKAGE_NS)
- set(_CPU_FEATURES "+m,+f,+zvl512b,+zve32x")
+ set(_CPU_FEATURES "+m,+f,+zvl512b,+zve32f")
if (${_RULE_RVV_OFF})
set(_CPU_FEATURES "+m,+f")
endif()
@@ -79,14 +79,14 @@
# Set common iree-compile flags
set(_COMPILER_ARGS ${_RULE_FLAGS})
list(APPEND _COMPILER_ARGS "--iree-hal-target-backends=llvm-cpu")
- list(APPEND _COMPILER_ARGS "--iree-llvm-debug-symbols=false")
+ list(APPEND _COMPILER_ARGS "--iree-llvmcpu-debug-symbols=false")
list(APPEND _COMPILER_ARGS "--iree-vm-bytecode-module-strip-source-map=true")
list(APPEND _COMPILER_ARGS "--iree-vm-emit-polyglot-zip=false")
- list(APPEND _COMPILER_ARGS "--iree-llvm-target-triple=riscv32-pc-linux-elf")
- list(APPEND _COMPILER_ARGS "--iree-llvm-target-cpu=generic-rv32")
- list(APPEND _COMPILER_ARGS "--iree-llvm-target-cpu-features=${_CPU_FEATURES}")
- list(APPEND _COMPILER_ARGS "--iree-llvm-target-abi=ilp32")
- list(APPEND _COMPILER_ARGS "--iree-llvm-link-embedded=false")
+ list(APPEND _COMPILER_ARGS "--iree-llvmcpu-target-triple=riscv32-pc-linux-elf")
+ list(APPEND _COMPILER_ARGS "--iree-llvmcpu-target-cpu=generic-rv32")
+ list(APPEND _COMPILER_ARGS "--iree-llvmcpu-target-cpu-features=${_CPU_FEATURES}")
+ list(APPEND _COMPILER_ARGS "--iree-llvmcpu-target-abi=ilp32")
+ list(APPEND _COMPILER_ARGS "--iree-llvmcpu-link-embedded=false")
if (${_RULE_INLINE_HAL})
list(APPEND _COMPILER_ARGS "--iree-execution-model=inline-dynamic")
endif()
@@ -99,8 +99,8 @@
get_filename_component(_MLIR_SRC "${_MLIR_SRC}" REALPATH)
list(APPEND _COMPILER_ARGS "--output-format=vm-c")
list(APPEND _COMPILER_ARGS "--iree-vm-target-index-bits=32")
- list(APPEND _COMPILER_ARGS "--iree-llvm-link-static")
- list(APPEND _COMPILER_ARGS "--iree-llvm-static-library-output-path=${_O_FILE_NAME}")
+ list(APPEND _COMPILER_ARGS "--iree-llvmcpu-link-static")
+ list(APPEND _COMPILER_ARGS "--iree-llvmcpu-static-library-output-path=${_O_FILE_NAME}")
list(APPEND _COMPILER_ARGS "${_MLIR_SRC}")
list(APPEND _COMPILER_ARGS "-o")
list(APPEND _COMPILER_ARGS "${_H_FILE_NAME}")
diff --git a/model_util/model_api.h b/model_util/model_api.h
index abddf81..89a297c 100644
--- a/model_util/model_api.h
+++ b/model_util/model_api.h
@@ -21,7 +21,7 @@
#include "iree/hal/local/executable_library.h"
#include "iree/modules/hal/module.h"
-#include "iree/vm/bytecode_module.h"
+#include "iree/vm/bytecode/module.h"
#define MAX_MODEL_INPUT_NUM 2
#define MAX_MODEL_INPUT_DIM 4
diff --git a/model_util/util.c b/model_util/util.c
index 768fc92..11cba21 100644
--- a/model_util/util.c
+++ b/model_util/util.c
@@ -208,7 +208,7 @@
if (iree_status_is_ok(result)) {
// Get the result buffers from the invocation.
ret_buffer_view = (iree_hal_buffer_view_t *)iree_vm_list_get_ref_deref(
- outputs, index_output, iree_hal_buffer_view_get_descriptor());
+ outputs, index_output, &iree_hal_buffer_view_descriptor);
if (ret_buffer_view == NULL) {
result = iree_make_status(IREE_STATUS_NOT_FOUND,
"can't find return buffer view");
diff --git a/samples/simple_vec_mul/CMakeLists.txt b/samples/simple_vec_mul/CMakeLists.txt
index da7b17d..31a0060 100644
--- a/samples/simple_vec_mul/CMakeLists.txt
+++ b/samples/simple_vec_mul/CMakeLists.txt
@@ -4,6 +4,8 @@
# https://github.com/llvm/llvm-project/blob/0eeab8b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp#L30-L51
#-------------------------------------------------------------------------------
+# TODO(lundong): Re-enable InlineHAL VMVX after
+# github.com/openxla/iree/issues/12620 is resolved
springbok_modules(
NAME
simple_float_mul
@@ -49,6 +51,8 @@
#
# to increase it.
+# TODO(lundong): Re-enable InlineHAL VMVX after
+# github.com/openxla/iree/issues/12620 is resolved
iree_cc_binary(
NAME
simple_float_vec_mul_bytecode_vmvx
@@ -56,7 +60,7 @@
"float_vec.c"
DEPS
::simple_float_mul_bytecode_module_vmvx_c
- model_util::util_vmvx_inline
+ model_util::util_vmvx
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
COPTS
@@ -70,7 +74,7 @@
"float_vec.c"
DEPS
::simple_float_mul_c_module_vmvx_emitc
- model_util::util_vmvx_inline
+ model_util::util_vmvx
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
COPTS
@@ -86,7 +90,7 @@
DEPS
::simple_float_mul_bytecode_module_static_c
::simple_float_mul_bytecode_module_static_lib
- iree::vm::bytecode_module
+ iree::vm::bytecode::module
model_util::util_static_inline
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
@@ -107,6 +111,8 @@
"-DBUILD_EMITC"
)
+# TODO(lundong): Re-enable InlineHAL VMVX after
+# github.com/openxla/iree/issues/12620 is resolved
iree_cc_binary(
NAME
simple_int_vec_mul_bytecode_vmvx
@@ -114,7 +120,7 @@
"int_vec.c"
DEPS
::simple_int_mul_bytecode_module_vmvx_c
- model_util::util_vmvx_inline
+ model_util::util_vmvx
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
COPTS
@@ -128,7 +134,7 @@
"int_vec.c"
DEPS
::simple_int_mul_c_module_vmvx_emitc
- model_util::util_vmvx_inline
+ model_util::util_vmvx
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
COPTS
@@ -144,7 +150,7 @@
DEPS
::simple_int_mul_bytecode_module_static_c
::simple_int_mul_bytecode_module_static_lib
- iree::vm::bytecode_module
+ iree::vm::bytecode::module
model_util::util_static_inline
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
diff --git a/vmvx_ukernel/CMakeLists.txt b/vmvx_ukernel/CMakeLists.txt
index 89f13a8..67e0e6c 100644
--- a/vmvx_ukernel/CMakeLists.txt
+++ b/vmvx_ukernel/CMakeLists.txt
@@ -49,7 +49,7 @@
DEPS
::vmvx
iree::hal::local::executable_loader
- iree::vm::bytecode_module
+ iree::vm::bytecode::module
DEFINES
"IREE_HAVE_HAL_EXECUTABLE_LOADER_VMVX_MODULE=1"
PUBLIC
diff --git a/vmvx_ukernel/query_tile_sizes.c b/vmvx_ukernel/query_tile_sizes.c
index 8a777aa..4bab96e 100644
--- a/vmvx_ukernel/query_tile_sizes.c
+++ b/vmvx_ukernel/query_tile_sizes.c
@@ -30,8 +30,6 @@
iree_uk_uint32_t role = iree_uk_query_tile_sizes_operand_role(params->flags);
IREE_UK_ASSERT(role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_LHS ||
role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RHS ||
- role ==
- IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RHS_TRANSPOSE ||
role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RESULT);
const iree_uk_int64_t kDynamic = IREE_UK_INT64_MIN;
IREE_UK_ASSERT((params->size0 >= 0 || params->size0 == kDynamic) ||
@@ -70,9 +68,6 @@
out_params->tile_size0 = matmul_tile_sizes.M;
out_params->tile_size1 = matmul_tile_sizes.K;
} else if (role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RHS) {
- out_params->tile_size0 = matmul_tile_sizes.K;
- out_params->tile_size1 = matmul_tile_sizes.N;
- } else if (role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RHS_TRANSPOSE) {
out_params->tile_size0 = matmul_tile_sizes.N;
out_params->tile_size1 = matmul_tile_sizes.K;
} else if (role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RESULT) {