Skip to content

Commit

Permalink
Integrate IREE at iree-org/iree@a806149 (#258)
Browse files Browse the repository at this point in the history
Updates IREE usage to match iree-org/iree@a806149 and
candidate-20230420.495, respectively.
  • Loading branch information
marbre authored Jul 17, 2023
1 parent b21f92c commit fed206c
Show file tree
Hide file tree
Showing 15 changed files with 79 additions and 78 deletions.
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@ set(IREE_BUILD_TESTS OFF)
set(IREE_BUILD_BINDINGS_TFLITE OFF)
set(IREE_HAL_DRIVER_DEFAULTS OFF)
set(IREE_HAL_EXECUTABLE_LOADER_DEFAULTS OFF)
set(IREE_HAL_EXECUTABLE_PLUGIN_DEFAULTS OFF)
set(IREE_HAL_EXECUTABLE_PLUGIN_EMBEDDED_ELF ON)

# IREE-specific definitions
add_compile_definitions(IREE_PLATFORM_GENERIC)
Expand Down
12 changes: 6 additions & 6 deletions build_tools/cmake/static_module.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ function(static_module)
endif()

list(APPEND _COMPILE_ARGS "--iree-hal-target-backends=llvm-cpu")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-static")
if(_RULE_INLINE_HAL)
list(APPEND _COMPILE_ARGS "--iree-execution-model=inline-dynamic")
endif()
list(APPEND _COMPILE_ARGS "--iree-llvm-static-library-output-path=${_O_FILE_NAME}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-static-library-output-path=${_O_FILE_NAME}")
list(APPEND _COMPILE_ARGS "${_RULE_SRC}")
list(APPEND _COMPILE_ARGS "-o")
list(APPEND _COMPILE_ARGS "${_MODULE_NAME}")
Expand Down
2 changes: 1 addition & 1 deletion iree-release-link.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
https://github.com/openxla/iree/releases/download/candidate-20230306.450/iree-dist-20230306.450-linux-x86_64.tar.xz
https://github.com/openxla/iree/releases/download/candidate-20230420.495/iree-dist-20230420.495-linux-x86_64.tar.xz
2 changes: 1 addition & 1 deletion requirements-compiler.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
-f https://openxla.github.io/iree/pip-release-links.html
iree-compiler==20230306.450
iree-compiler==20230420.495
4 changes: 2 additions & 2 deletions requirements-tools.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
-f https://openxla.github.io/iree/pip-release-links.html
iree-tools-tf==20230306.450
iree-tools-tflite==20230306.450
iree-tools-tf==20230420.495
iree-tools-tflite==20230420.495
8 changes: 4 additions & 4 deletions samples/simple_embedding/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,10 @@ target_sources(sample_embedded_sync
set(_COMPILE_ARGS)
list(APPEND _COMPILE_ARGS "--output-format=vm-bytecode")
list(APPEND _COMPILE_ARGS "--iree-hal-target-backends=llvm-cpu")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvm-debug-symbols=false")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-debug-symbols=false")
list(APPEND _COMPILE_ARGS "--iree-vm-bytecode-module-strip-source-map=true")
list(APPEND _COMPILE_ARGS "--iree-vm-emit-polyglot-zip=false")
list(APPEND _COMPILE_ARGS "${CMAKE_CURRENT_SOURCE_DIR}/simple_embedding_int_test.mlir")
Expand Down
2 changes: 1 addition & 1 deletion samples/simple_embedding/device_embedded_sync.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ iree_status_t create_sample_device(iree_allocator_t host_allocator,

iree_hal_executable_loader_t* loader = NULL;
IREE_RETURN_IF_ERROR(iree_hal_embedded_elf_loader_create(
iree_hal_executable_import_provider_null(), host_allocator, &loader));
/*plugin_manager=*/NULL, host_allocator, &loader));

// Use the default host allocator for buffer allocations.
iree_string_view_t identifier = iree_make_cstring_view("dylib");
Expand Down
3 changes: 2 additions & 1 deletion samples/simple_embedding/device_vmvx_sync.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ iree_status_t create_sample_device(iree_allocator_t host_allocator,
iree_hal_sync_device_params_initialize(&params);

iree_vm_instance_t* instance = NULL;
IREE_RETURN_IF_ERROR(iree_vm_instance_create(host_allocator, &instance));
IREE_RETURN_IF_ERROR(iree_vm_instance_create(IREE_VM_TYPE_CAPACITY_DEFAULT,
host_allocator, &instance));

iree_hal_executable_loader_t* loader = NULL;
iree_status_t status = iree_hal_vmvx_module_loader_create(
Expand Down
23 changes: 11 additions & 12 deletions samples/simple_embedding/simple_embedding_float.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ extern const iree_const_byte_span_t load_bytecode_module_data();

iree_status_t Run() {
iree_vm_instance_t* instance = NULL;
IREE_RETURN_IF_ERROR(
iree_vm_instance_create(iree_allocator_system(), &instance));
IREE_RETURN_IF_ERROR(iree_vm_instance_create(
IREE_VM_TYPE_CAPACITY_DEFAULT, iree_allocator_system(), &instance));
IREE_RETURN_IF_ERROR(iree_hal_module_register_all_types(instance));

iree_hal_device_t* device = NULL;
Expand Down Expand Up @@ -97,10 +97,10 @@ iree_status_t Run() {

// Setup call inputs with our buffers.
iree_vm_list_t* inputs = NULL;
IREE_RETURN_IF_ERROR(iree_vm_list_create(
/*element_type=*/NULL,
/*capacity=*/2, iree_allocator_system(), &inputs),
"can't allocate input vm list");
IREE_RETURN_IF_ERROR(
iree_vm_list_create(iree_vm_make_undefined_type_def(),
/*capacity=*/2, iree_allocator_system(), &inputs),
"can't allocate input vm list");

iree_vm_ref_t arg0_buffer_view_ref =
iree_hal_buffer_view_move_ref(arg0_buffer_view);
Expand All @@ -114,10 +114,10 @@ iree_status_t Run() {
// Prepare outputs list to accept the results from the invocation.
// The output vm list is allocated statically.
iree_vm_list_t* outputs = NULL;
IREE_RETURN_IF_ERROR(iree_vm_list_create(
/*element_type=*/NULL,
/*capacity=*/1, iree_allocator_system(), &outputs),
"can't allocate output vm list");
IREE_RETURN_IF_ERROR(
iree_vm_list_create(iree_vm_make_undefined_type_def(),
/*capacity=*/1, iree_allocator_system(), &outputs),
"can't allocate output vm list");

// Synchronously invoke the function.
IREE_RETURN_IF_ERROR(iree_vm_invoke(
Expand All @@ -126,8 +126,7 @@ iree_status_t Run() {

// Get the result buffers from the invocation.
iree_hal_buffer_view_t* ret_buffer_view =
(iree_hal_buffer_view_t*)iree_vm_list_get_ref_deref(
outputs, 0, &iree_hal_buffer_view_descriptor);
iree_vm_list_get_buffer_view_assign(outputs, 0);
if (ret_buffer_view == NULL) {
return iree_make_status(IREE_STATUS_NOT_FOUND,
"can't find return buffer view");
Expand Down
23 changes: 11 additions & 12 deletions samples/simple_embedding/simple_embedding_int.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ extern const iree_const_byte_span_t load_bytecode_module_data();

iree_status_t Run() {
iree_vm_instance_t* instance = NULL;
IREE_RETURN_IF_ERROR(
iree_vm_instance_create(iree_allocator_system(), &instance));
IREE_RETURN_IF_ERROR(iree_vm_instance_create(
IREE_VM_TYPE_CAPACITY_DEFAULT, iree_allocator_system(), &instance));
IREE_RETURN_IF_ERROR(iree_hal_module_register_all_types(instance));

iree_hal_device_t* device = NULL;
Expand Down Expand Up @@ -97,10 +97,10 @@ iree_status_t Run() {

// Setup call inputs with our buffers.
iree_vm_list_t* inputs = NULL;
IREE_RETURN_IF_ERROR(iree_vm_list_create(
/*element_type=*/NULL,
/*capacity=*/2, iree_allocator_system(), &inputs),
"can't allocate input vm list");
IREE_RETURN_IF_ERROR(
iree_vm_list_create(iree_vm_make_undefined_type_def(),
/*capacity=*/2, iree_allocator_system(), &inputs),
"can't allocate input vm list");

iree_vm_ref_t arg0_buffer_view_ref =
iree_hal_buffer_view_move_ref(arg0_buffer_view);
Expand All @@ -114,10 +114,10 @@ iree_status_t Run() {
// Prepare outputs list to accept the results from the invocation.
// The output vm list is allocated statically.
iree_vm_list_t* outputs = NULL;
IREE_RETURN_IF_ERROR(iree_vm_list_create(
/*element_type=*/NULL,
/*capacity=*/1, iree_allocator_system(), &outputs),
"can't allocate output vm list");
IREE_RETURN_IF_ERROR(
iree_vm_list_create(iree_vm_make_undefined_type_def(),
/*capacity=*/1, iree_allocator_system(), &outputs),
"can't allocate output vm list");

// Synchronously invoke the function.
IREE_RETURN_IF_ERROR(iree_vm_invoke(
Expand All @@ -126,8 +126,7 @@ iree_status_t Run() {

// Get the result buffers from the invocation.
iree_hal_buffer_view_t* ret_buffer_view =
(iree_hal_buffer_view_t*)iree_vm_list_get_ref_deref(
outputs, 0, &iree_hal_buffer_view_descriptor);
iree_vm_list_get_buffer_view_assign(outputs, 0);
if (ret_buffer_view == NULL) {
return iree_make_status(IREE_STATUS_NOT_FOUND,
"can't find return buffer view");
Expand Down
3 changes: 2 additions & 1 deletion samples/simple_vec_mul/device_vmvx_sync.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ iree_status_t create_sample_device(iree_allocator_t host_allocator,
iree_hal_sync_device_params_initialize(&params);

iree_vm_instance_t* instance = NULL;
IREE_RETURN_IF_ERROR(iree_vm_instance_create(host_allocator, &instance));
IREE_RETURN_IF_ERROR(iree_vm_instance_create(IREE_VM_TYPE_CAPACITY_DEFAULT,
host_allocator, &instance));

iree_status_t status = iree_hal_vmvx_module_loader_create(
instance, /*user_module_count=*/0, /*user_modules=*/NULL, host_allocator,
Expand Down
23 changes: 11 additions & 12 deletions samples/simple_vec_mul/simple_mul_int.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ extern void print_success();

iree_status_t Run() {
iree_vm_instance_t* instance = NULL;
IREE_RETURN_IF_ERROR(
iree_vm_instance_create(iree_allocator_system(), &instance));
IREE_RETURN_IF_ERROR(iree_vm_instance_create(
IREE_VM_TYPE_CAPACITY_DEFAULT, iree_allocator_system(), &instance));

#if defined(BUILD_INLINE_HAL)
IREE_RETURN_IF_ERROR(iree_hal_module_register_inline_types(instance));
Expand Down Expand Up @@ -152,10 +152,10 @@ iree_status_t Run() {

// Setup call inputs with our buffers.
iree_vm_list_t* inputs = NULL;
IREE_RETURN_IF_ERROR(iree_vm_list_create(
/*element_type=*/NULL,
/*capacity=*/2, iree_allocator_system(), &inputs),
"can't allocate input vm list");
IREE_RETURN_IF_ERROR(
iree_vm_list_create(iree_vm_make_undefined_type_def(),
/*capacity=*/2, iree_allocator_system(), &inputs),
"can't allocate input vm list");

iree_vm_ref_t arg0_buffer_view_ref =
iree_hal_buffer_view_move_ref(arg0_buffer_view);
Expand All @@ -169,10 +169,10 @@ iree_status_t Run() {
// Prepare outputs list to accept the results from the invocation.
// The output vm list is allocated statically.
iree_vm_list_t* outputs = NULL;
IREE_RETURN_IF_ERROR(iree_vm_list_create(
/*element_type=*/NULL,
/*capacity=*/1, iree_allocator_system(), &outputs),
"can't allocate output vm list");
IREE_RETURN_IF_ERROR(
iree_vm_list_create(iree_vm_make_undefined_type_def(),
/*capacity=*/1, iree_allocator_system(), &outputs),
"can't allocate output vm list");

// Synchronously invoke the function.
IREE_RETURN_IF_ERROR(iree_vm_invoke(
Expand All @@ -181,8 +181,7 @@ iree_status_t Run() {

// Get the result buffers from the invocation.
iree_hal_buffer_view_t* ret_buffer_view =
(iree_hal_buffer_view_t*)iree_vm_list_get_ref_deref(
outputs, 0, &iree_hal_buffer_view_descriptor);
iree_vm_list_get_buffer_view_assign(outputs, 0);
if (ret_buffer_view == NULL) {
return iree_make_status(IREE_STATUS_NOT_FOUND,
"can't find return buffer view");
Expand Down
24 changes: 12 additions & 12 deletions samples/static_library/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ target_sources(sample_static_library
set(_COMPILE_ARGS)
list(APPEND _COMPILE_ARGS "--output-format=vm-bytecode")
list(APPEND _COMPILE_ARGS "--iree-hal-target-backends=llvm-cpu")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvm-static-library-output-path=simple_mul.o")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-static-library-output-path=simple_mul.o")
list(APPEND _COMPILE_ARGS "${IREE_SOURCE_DIR}/samples/static_library/simple_mul.mlir")
list(APPEND _COMPILE_ARGS "-o")
list(APPEND _COMPILE_ARGS "simple_mul.vmfb")
Expand Down Expand Up @@ -94,12 +94,12 @@ add_executable(sample_static_library_c "")
set(_COMPILE_ARGS)
list(APPEND _COMPILE_ARGS "--output-format=vm-c")
list(APPEND _COMPILE_ARGS "--iree-hal-target-backends=llvm-cpu")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvm-static-library-output-path=simple_mul_c_module.o")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-static-library-output-path=simple_mul_c_module.o")
list(APPEND _COMPILE_ARGS "--iree-vm-target-index-bits=32")
list(APPEND _COMPILE_ARGS "${IREE_SOURCE_DIR}/samples/static_library/simple_mul.mlir")
list(APPEND _COMPILE_ARGS "-o")
Expand Down
24 changes: 12 additions & 12 deletions samples/vision_inference/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ set(_COMPILE_ARGS)
list(APPEND _COMPILE_ARGS "--iree-input-type=mhlo")
list(APPEND _COMPILE_ARGS "--output-format=vm-bytecode")
list(APPEND _COMPILE_ARGS "--iree-hal-target-backends=llvm-cpu")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvm-static-library-output-path=mnist.o")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-static-library-output-path=mnist.o")
list(APPEND _COMPILE_ARGS "${IREE_SOURCE_DIR}/samples/models/mnist.mlir")
list(APPEND _COMPILE_ARGS "-o")
list(APPEND _COMPILE_ARGS "mnist.vmfb")
Expand Down Expand Up @@ -118,12 +118,12 @@ set(_COMPILE_ARGS)
list(APPEND _COMPILE_ARGS "--iree-input-type=mhlo")
list(APPEND _COMPILE_ARGS "--output-format=vm-c")
list(APPEND _COMPILE_ARGS "--iree-hal-target-backends=llvm-cpu")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvm-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvm-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvm-static-library-output-path=mnist_c_module.o")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-triple=${IREE_LLVM_TARGET_TRIPLE}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-cpu=${ARM_CPU}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-target-float-abi=${IREE_LLVM_TARGET_FLOAT_ABI}")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-embedded=false")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-link-static")
list(APPEND _COMPILE_ARGS "--iree-llvmcpu-static-library-output-path=mnist_c_module.o")
list(APPEND _COMPILE_ARGS "--iree-vm-target-index-bits=32")
list(APPEND _COMPILE_ARGS "${IREE_SOURCE_DIR}/samples/models/mnist.mlir")
list(APPEND _COMPILE_ARGS "-o")
Expand Down
2 changes: 1 addition & 1 deletion third_party/iree
Submodule iree updated from 769ffd to a80614

0 comments on commit fed206c

Please sign in to comment.