/************************************************************************* * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved. * * See LICENSE.txt for license information * * Minimal types for the proxytrace profiler plugin only (same content as * plugins/profiler/example/nccl/common.h + nccl/err.h). Kept local so this * plugin does not depend on plugins/profiler/example/. ************************************************************************/ #ifndef RCCL_PROXYTRACE_PLUGIN_SHIM_H_ #define RCCL_PROXYTRACE_PLUGIN_SHIM_H_ typedef enum { NCCL_LOG_NONE = 0, NCCL_LOG_ERROR = 1, NCCL_LOG_VERSION = 2, NCCL_LOG_WARN = 3, NCCL_LOG_INFO = 4, NCCL_LOG_ABORT = 5, NCCL_LOG_TRACE = 6 } ncclDebugLogLevel; typedef enum { NCCL_INIT = 1, NCCL_COLL = 2, NCCL_P2P = 4, NCCL_SHM = 8, NCCL_NET = 16, NCCL_GRAPH = 32, NCCL_TUNING = 64, NCCL_ENV = 128, NCCL_ALLOC = 256, NCCL_CALL = 512, NCCL_PROXY = 1024, NCCL_NVLS = 2048, NCCL_BOOTSTRAP = 4096, NCCL_REG = 8192, NCCL_ALL = ~0 } ncclDebugLogSubSys; typedef void (*ncclDebugLogger_t)(ncclDebugLogLevel level, unsigned long flags, const char* file, int line, const char* fmt, ...); typedef enum { ncclSuccess = 0, ncclUnhandledCudaError = 1, ncclSystemError = 2, ncclInternalError = 3, ncclInvalidArgument = 4, ncclInvalidUsage = 5, ncclRemoteError = 6 } ncclResult_t; #endif