瀏覽代碼

provide file and line of errors

Samuel Thibault 14 年之前
父節點
當前提交
0e3edeee5c
共有 2 個文件被更改,包括 8 次插入8 次删除
  1. 4 4
      include/starpu_cuda.h
  2. 4 4
      src/drivers/cuda/driver_cuda.c

+ 4 - 4
include/starpu_cuda.h

@@ -29,13 +29,13 @@
 extern "C" {
 #endif
 
-void starpu_cublas_report_error(const char *func, cublasStatus status);
+void starpu_cublas_report_error(const char *func, const char *file, int line, cublasStatus status);
 #define STARPU_CUBLAS_REPORT_ERROR(status) \
-	starpu_cublas_report_error(__starpu_func__, status)
+	starpu_cublas_report_error(__starpu_func__, __FILE__, __LINE__, status)
 
-void starpu_cuda_report_error(const char *func, cudaError_t status);
+void starpu_cuda_report_error(const char *func, const char *file, int line, cudaError_t status);
 #define STARPU_CUDA_REPORT_ERROR(status) \
-	starpu_cuda_report_error(__starpu_func__, status)
+	starpu_cuda_report_error(__starpu_func__, __FILE__, __LINE__, status)
 
 cudaStream_t starpu_cuda_get_local_stream(void);
 

+ 4 - 4
src/drivers/cuda/driver_cuda.c

@@ -344,7 +344,7 @@ void *_starpu_cuda_worker(void *arg)
 
 }
 
-void starpu_cublas_report_error(const char *func, cublasStatus status)
+void starpu_cublas_report_error(const char *func, const char *file, int line, cublasStatus status)
 {
 	char *errormsg;
 	switch (status) {
@@ -373,13 +373,13 @@ void starpu_cublas_report_error(const char *func, cublasStatus status)
 			errormsg = "unknown error";
 			break;
 	}
-	printf("oops in %s ... %s \n", func, errormsg);
+	printf("oops in %s (%s:%u)... %s \n", func, file, line, errormsg);
 	assert(0);
 }
 
-void starpu_cuda_report_error(const char *func, cudaError_t status)
+void starpu_cuda_report_error(const char *func, const char *file, int line, cudaError_t status)
 {
 	const char *errormsg = cudaGetErrorString(status);
-	printf("oops in %s ... %s \n", func, errormsg);
+	printf("oops in %s (%s:%u)... %s \n", func, file, line, errormsg);
 	assert(0);
 }