Detect too-old cuda driver
"cudart init failure: 35" isn't particularly helpful in the logs.
This commit is contained in:
parent
4fec5816d6
commit
10ed1b6292
2 changed files with 5 additions and 0 deletions
|
@ -62,6 +62,10 @@ void cudart_init(char *cudart_lib_path, cudart_init_resp_t *resp) {
|
||||||
LOG(resp->ch.verbose, "cudaSetDevice err: %d\n", ret);
|
LOG(resp->ch.verbose, "cudaSetDevice err: %d\n", ret);
|
||||||
UNLOAD_LIBRARY(resp->ch.handle);
|
UNLOAD_LIBRARY(resp->ch.handle);
|
||||||
resp->ch.handle = NULL;
|
resp->ch.handle = NULL;
|
||||||
|
if (ret == CUDA_ERROR_INSUFFICIENT_DRIVER) {
|
||||||
|
resp->err = strdup("your nvidia driver is too old or missing, please upgrade to run ollama");
|
||||||
|
return;
|
||||||
|
}
|
||||||
snprintf(buf, buflen, "cudart init failure: %d", ret);
|
snprintf(buf, buflen, "cudart init failure: %d", ret);
|
||||||
resp->err = strdup(buf);
|
resp->err = strdup(buf);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
typedef enum cudartReturn_enum {
|
typedef enum cudartReturn_enum {
|
||||||
CUDART_SUCCESS = 0,
|
CUDART_SUCCESS = 0,
|
||||||
CUDART_UNSUPPORTED = 1,
|
CUDART_UNSUPPORTED = 1,
|
||||||
|
CUDA_ERROR_INSUFFICIENT_DRIVER = 35,
|
||||||
// Other values omitted for now...
|
// Other values omitted for now...
|
||||||
} cudartReturn_t;
|
} cudartReturn_t;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue