blob: 5137a2afb67e3fccd38ab45ce5ea0331fb451bdd [file]
// Copyright 2025 The IREE Authors
//
// Licensed under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#ifndef IREE_HAL_DRIVERS_AMDGPU_EXECUTABLE_CACHE_H_
#define IREE_HAL_DRIVERS_AMDGPU_EXECUTABLE_CACHE_H_
#include "iree/base/api.h"
#include "iree/hal/api.h"
#include "iree/hal/drivers/amdgpu/util/libhsa.h"
typedef struct iree_hal_amdgpu_topology_t iree_hal_amdgpu_topology_t;
//===----------------------------------------------------------------------===//
// iree_hal_amdgpu_executable_cache_t
//===----------------------------------------------------------------------===//
// Creates a no-op executable cache that does not cache at all.
// Modern HSA usage on AMD hardware is all via fully baked out ELFs and does not
// perform any on-device JITing/optimization. If in the future there's something
// more PTX/HSAIL-like we'd want to manage that here.
//
// |libhsa| and |topology| are captured by-reference and must remain valid for
// the lifetime of the cache.
iree_status_t iree_hal_amdgpu_executable_cache_create(
const iree_hal_amdgpu_libhsa_t* libhsa,
const iree_hal_amdgpu_topology_t* topology, iree_string_view_t identifier,
iree_allocator_t host_allocator,
iree_hal_executable_cache_t** out_executable_cache);
#endif // IREE_HAL_DRIVERS_AMDGPU_EXECUTABLE_CACHE_H_