diff --git a/bench/gpus.txt b/bench/gpus.txt index 8c67de474..dbdda8632 100644 --- a/bench/gpus.txt +++ b/bench/gpus.txt @@ -3,6 +3,7 @@ 4.194304e+06 3.497176955517716e+07 1.694520362670856e-14 "MX150" 4.194304e+06 5.527840160261479e+07 1.6945213680693907e-14 "GTX 860M" 4.194304e+06 7.260693991786541e+07 1.694520362670856e-14 "GTX 1050 (mobile)" +4.194304e+06 7.620596372190422e+07 1.69452004508381e-14 "RTX A400" 4.194304e+06 8.191301445972674e+07 1.694520362670856e-14 "GTX 1050Ti (mobile)" 4.194304e+06 8.490111356520656e+07 1.6945203523231987e-14 "RTX 2050 (mobile)" 4.194304e+06 9.754137844792007e+07 1.6945208085986004e-14 "GTX 1650 (mobile)" diff --git a/cuda/cu/context.go b/cuda/cu/context.go index bb1c23130..53c8e9c0d 100644 --- a/cuda/cu/context.go +++ b/cuda/cu/context.go @@ -2,7 +2,14 @@ package cu // This file implements CUDA driver context management -//#include +/* +#include + +// CUDA 13.x redefines cuCtxCreate as cuCtxCreate_v4, which takes an extra +// CUctxCreateParams* argument. cuCtxCreate_v2 keeps the old 3-argument ABI +// and remains a valid exported driver symbol. +CUresult cuCtxCreate_v2(CUcontext *pctx, unsigned int flags, CUdevice dev); +*/ import "C" import "unsafe" @@ -12,7 +19,7 @@ type Context uintptr // Create a CUDA context. func CtxCreate(flags uint, dev Device) Context { var ctx C.CUcontext - err := Result(C.cuCtxCreate(&ctx, C.uint(flags), C.CUdevice(dev))) + err := Result(C.cuCtxCreate_v2(&ctx, C.uint(flags), C.CUdevice(dev))) if err != SUCCESS { panic(err) }