[Bug] fix green context's incompatibility with cuda < 12.4 (#8701)

This commit is contained in:
Liangsheng Yin
2025-08-03 06:23:11 +08:00
committed by GitHub
parent 6d4fd8826e
commit 603f5ce020
2 changed files with 22 additions and 0 deletions

View File

@@ -7,6 +7,8 @@
#include "cuda_utils.h"
#include "greenctx_stream.h"
#if CUDA_VERSION >= 12040
static std::vector<int64_t> create_greenctx_stream_fallback(CUgreenCtx gctx[2]) {
CUstream streamA, streamB;
CUcontext ctx;
@@ -94,3 +96,18 @@ std::vector<int64_t> create_greenctx_stream_by_value(int64_t smA, int64_t smB, i
return vec;
}
#else
std::vector<int64_t> create_greenctx_stream_by_value(int64_t smA, int64_t smB, int64_t device) {
TORCH_CHECK(
false,
"Green Contexts feature requires CUDA Toolkit 12.4 or newer. Current CUDA version: " +
std::to_string(CUDA_VERSION));
// This is a stub function that should never be reached
// Return empty vector to satisfy return type requirement
return {};
}
#endif

View File

@@ -14,6 +14,11 @@ def create_greenctx_stream_by_value(
Returns:
tuple[ExternalStream, ExternalStream]: The two streams.
"""
if torch.version.cuda < "12.4":
raise RuntimeError(
"Green Contexts feature requires CUDA Toolkit 12.4 or newer."
)
if device_id is None:
device_id = torch.cuda.current_device()