blob: a084c3f983a72e4c641b62c6e86d7e7581d5b400 [file] [log] [blame]
// Copyright 2021 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
#include "experimental/rocm/status_util.h"
#include <stddef.h>
#include "experimental/rocm/dynamic_symbols.h"
iree_status_t iree_hal_rocm_result_to_status(
iree_hal_rocm_dynamic_symbols_t *syms, hipError_t result, const char *file,
uint32_t line) {
if (IREE_LIKELY(result == hipSuccess)) {
return iree_ok_status();
}
const char *error_name = syms->hipGetErrorName(result);
if (result == hipErrorUnknown) {
error_name = "UNKNOWN";
}
const char *error_string = syms->hipGetErrorString(result);
if (result == hipErrorUnknown) {
error_string = "Unknown error.";
}
return iree_make_status(IREE_STATUS_INTERNAL,
"rocm driver error '%s' (%d): %s", error_name, result,
error_string);
}