MNghia's picture
Add files using upload-large-folder tool
563c80f verified
#include <nvperf_host.h>
#define RETURN_IF_NVPW_ERROR(retval, actual) \
do { \
NVPA_Status status = actual; \
if (NVPA_STATUS_SUCCESS != status) { \
fprintf(stderr, "FAILED: %s with error %s\n", #actual, NV::Metric::Utils::GetNVPWResultString(status)); \
return retval; \
} \
} while (0)
namespace NV {
namespace Metric {
namespace Utils {
static const char* GetNVPWResultString(NVPA_Status status) {
const char* errorMsg = NULL;
switch (status)
{
case NVPA_STATUS_ERROR:
errorMsg = "NVPA_STATUS_ERROR";
break;
case NVPA_STATUS_INTERNAL_ERROR:
errorMsg = "NVPA_STATUS_INTERNAL_ERROR";
break;
case NVPA_STATUS_NOT_INITIALIZED:
errorMsg = "NVPA_STATUS_NOT_INITIALIZED";
break;
case NVPA_STATUS_NOT_LOADED:
errorMsg = "NVPA_STATUS_NOT_LOADED";
break;
case NVPA_STATUS_FUNCTION_NOT_FOUND:
errorMsg = "NVPA_STATUS_FUNCTION_NOT_FOUND";
break;
case NVPA_STATUS_NOT_SUPPORTED:
errorMsg = "NVPA_STATUS_NOT_SUPPORTED";
break;
case NVPA_STATUS_NOT_IMPLEMENTED:
errorMsg = "NVPA_STATUS_NOT_IMPLEMENTED";
break;
case NVPA_STATUS_INVALID_ARGUMENT:
errorMsg = "NVPA_STATUS_INVALID_ARGUMENT";
break;
case NVPA_STATUS_INVALID_METRIC_ID:
errorMsg = "NVPA_STATUS_INVALID_METRIC_ID";
break;
case NVPA_STATUS_DRIVER_NOT_LOADED:
errorMsg = "NVPA_STATUS_DRIVER_NOT_LOADED";
break;
case NVPA_STATUS_OUT_OF_MEMORY:
errorMsg = "NVPA_STATUS_OUT_OF_MEMORY";
break;
case NVPA_STATUS_INVALID_THREAD_STATE:
errorMsg = "NVPA_STATUS_INVALID_THREAD_STATE";
break;
case NVPA_STATUS_FAILED_CONTEXT_ALLOC:
errorMsg = "NVPA_STATUS_FAILED_CONTEXT_ALLOC";
break;
case NVPA_STATUS_UNSUPPORTED_GPU:
errorMsg = "NVPA_STATUS_UNSUPPORTED_GPU";
break;
case NVPA_STATUS_INSUFFICIENT_DRIVER_VERSION:
errorMsg = "NVPA_STATUS_INSUFFICIENT_DRIVER_VERSION";
break;
case NVPA_STATUS_OBJECT_NOT_REGISTERED:
errorMsg = "NVPA_STATUS_OBJECT_NOT_REGISTERED";
break;
case NVPA_STATUS_INSUFFICIENT_PRIVILEGE:
errorMsg = "NVPA_STATUS_INSUFFICIENT_PRIVILEGE";
break;
case NVPA_STATUS_INVALID_CONTEXT_STATE:
errorMsg = "NVPA_STATUS_INVALID_CONTEXT_STATE";
break;
case NVPA_STATUS_INVALID_OBJECT_STATE:
errorMsg = "NVPA_STATUS_INVALID_OBJECT_STATE";
break;
case NVPA_STATUS_RESOURCE_UNAVAILABLE:
errorMsg = "NVPA_STATUS_RESOURCE_UNAVAILABLE";
break;
case NVPA_STATUS_DRIVER_LOADED_TOO_LATE:
errorMsg = "NVPA_STATUS_DRIVER_LOADED_TOO_LATE";
break;
case NVPA_STATUS_INSUFFICIENT_SPACE:
errorMsg = "NVPA_STATUS_INSUFFICIENT_SPACE";
break;
case NVPA_STATUS_OBJECT_MISMATCH:
errorMsg = "NVPA_STATUS_OBJECT_MISMATCH";
break;
case NVPA_STATUS_VIRTUALIZED_DEVICE_NOT_SUPPORTED:
errorMsg = "NVPA_STATUS_VIRTUALIZED_DEVICE_NOT_SUPPORTED";
break;
default:
break;
}
return errorMsg;
}
}
}
}