|
|
@@ -144,8 +144,11 @@ static_assert(sizeof(half) == sizeof(ggml_fp16_t), "wrong fp16 size");
|
|
|
do { \
|
|
|
cudaError_t err_ = (err); \
|
|
|
if (err_ != cudaSuccess) { \
|
|
|
- fprintf(stderr, "CUDA error %d at %s:%d: %s\n", err_, __FILE__, __LINE__, \
|
|
|
+ int id; \
|
|
|
+ cudaGetDevice(&id); \
|
|
|
+ fprintf(stderr, "\nCUDA error %d at %s:%d: %s\n", err_, __FILE__, __LINE__, \
|
|
|
cudaGetErrorString(err_)); \
|
|
|
+ fprintf(stderr, "current device: %d\n", id); \
|
|
|
exit(1); \
|
|
|
} \
|
|
|
} while (0)
|
|
|
@@ -155,8 +158,11 @@ static_assert(sizeof(half) == sizeof(ggml_fp16_t), "wrong fp16 size");
|
|
|
do { \
|
|
|
cublasStatus_t err_ = (err); \
|
|
|
if (err_ != CUBLAS_STATUS_SUCCESS) { \
|
|
|
+ int id; \
|
|
|
+ cudaGetDevice(&id); \
|
|
|
fprintf(stderr, "\ncuBLAS error %d at %s:%d: %s\n", \
|
|
|
err_, __FILE__, __LINE__, cublasGetStatusString(err_)); \
|
|
|
+ fprintf(stderr, "current device: %d\n", id); \
|
|
|
exit(1); \
|
|
|
} \
|
|
|
} while (0)
|
|
|
@@ -165,7 +171,10 @@ static_assert(sizeof(half) == sizeof(ggml_fp16_t), "wrong fp16 size");
|
|
|
do { \
|
|
|
cublasStatus_t err_ = (err); \
|
|
|
if (err_ != CUBLAS_STATUS_SUCCESS) { \
|
|
|
+ int id; \
|
|
|
+ cudaGetDevice(&id); \
|
|
|
fprintf(stderr, "\ncuBLAS error %d at %s:%d\n", err_, __FILE__, __LINE__); \
|
|
|
+ fprintf(stderr, "current device: %d\n", id); \
|
|
|
exit(1); \
|
|
|
} \
|
|
|
} while (0)
|