Переглянути джерело

Interfaces: check the return value of clReleaseMemObject().

[Coccinelle] opencl_check_return_values.cocci
Cyril Roelandt 12 роки тому
батько
коміт
b03b794ef6

+ 24 - 5
src/datawizard/interfaces/bcsr_interface.c

@@ -358,8 +358,13 @@ fail_rowptr:
 #endif
 #ifdef STARPU_USE_OPENCL
 		case STARPU_OPENCL_RAM:
-			clReleaseMemObject((void*)addr_colind);
+		{
+			cl_int err;
+			err = clReleaseMemObject((void*)addr_colind);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
 			break;
+		}
 #endif
 		default:
 			STARPU_ABORT();
@@ -378,8 +383,13 @@ fail_colind:
 #endif
 #ifdef STARPU_USE_OPENCL
 		case STARPU_OPENCL_RAM:
-			clReleaseMemObject((void*)addr_nzval);
+		{
+			cl_int err;
+			err = clReleaseMemObject((void*)addr_nzval);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
 			break;
+		}
 #endif
 		default:
 			STARPU_ABORT();
@@ -412,10 +422,19 @@ static void free_bcsr_buffer_on_node(void *data_interface, uint32_t node)
 #endif
 #ifdef STARPU_USE_OPENCL
 		case STARPU_OPENCL_RAM:
-			clReleaseMemObject((void*)bcsr_interface->nzval);
-			clReleaseMemObject((void*)bcsr_interface->colind);
-			clReleaseMemObject((void*)bcsr_interface->rowptr);
+		{
+			cl_int err;
+			err = clReleaseMemObject((void*)bcsr_interface->nzval);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
+			err = clReleaseMemObject((void*)bcsr_interface->colind);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
+			err = clReleaseMemObject((void*)bcsr_interface->rowptr);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
 			break;
+		}
 #endif
 		default:
 			STARPU_ABORT();

+ 6 - 1
src/datawizard/interfaces/block_interface.c

@@ -397,8 +397,13 @@ static void free_block_buffer_on_node(void *data_interface, uint32_t node)
 #endif
 #ifdef STARPU_USE_OPENCL
                 case STARPU_OPENCL_RAM:
-			clReleaseMemObject((void *)block_interface->dev_handle);
+		{
+			cl_int err;
+			err = clReleaseMemObject((void *)block_interface->dev_handle);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
                         break;
+		}
 #endif
 		default:
 			STARPU_ABORT();

+ 24 - 5
src/datawizard/interfaces/csr_interface.c

@@ -337,8 +337,13 @@ fail_rowptr:
 #endif
 #ifdef STARPU_USE_OPENCL
 		case STARPU_OPENCL_RAM:
-			clReleaseMemObject((void*)addr_colind);
+		{
+			cl_int err;
+			err = clReleaseMemObject((void*)addr_colind);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
 			break;
+		}
 #endif
 		default:
 			STARPU_ABORT();
@@ -362,8 +367,13 @@ fail_colind:
 #endif
 #ifdef STARPU_USE_OPENCL
 		case STARPU_OPENCL_RAM:
-			clReleaseMemObject((void*)addr_nzval);
+		{
+			cl_int err;
+			err = clReleaseMemObject((void*)addr_nzval);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
 			break;
+		}
 #endif
 		default:
 			STARPU_ABORT();
@@ -405,10 +415,19 @@ static void free_csr_buffer_on_node(void *data_interface, uint32_t node)
 #endif
 #ifdef STARPU_USE_OPENCL
 		case STARPU_OPENCL_RAM:
-			clReleaseMemObject((void*)csr_interface->nzval);
-			clReleaseMemObject((void*)csr_interface->colind);
-			clReleaseMemObject((void*)csr_interface->rowptr);
+		{
+			cl_int err;
+			err = clReleaseMemObject((void*)csr_interface->nzval);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
+			err = clReleaseMemObject((void*)csr_interface->colind);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
+			err = clReleaseMemObject((void*)csr_interface->rowptr);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
 			break;
+		}
 #endif
 		default:
 			STARPU_ABORT();

+ 6 - 1
src/datawizard/interfaces/matrix_interface.c

@@ -375,8 +375,13 @@ static void free_matrix_buffer_on_node(void *data_interface, uint32_t node)
 #endif
 #ifdef STARPU_USE_OPENCL
                 case STARPU_OPENCL_RAM:
-			clReleaseMemObject((void *)matrix_interface->dev_handle);
+		{
+			cl_int err;
+			err = clReleaseMemObject((void *)matrix_interface->dev_handle);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
                         break;
+		}
 #endif
 		default:
 			STARPU_ABORT();

+ 6 - 1
src/datawizard/interfaces/variable_interface.c

@@ -277,8 +277,13 @@ static void free_variable_buffer_on_node(void *data_interface, uint32_t node)
 #endif
 #ifdef STARPU_USE_OPENCL
                 case STARPU_OPENCL_RAM:
-                        clReleaseMemObject((void*)STARPU_VARIABLE_GET_PTR(data_interface));
+		{
+			cl_int err;
+                        err = clReleaseMemObject((void*)STARPU_VARIABLE_GET_PTR(data_interface));
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
                         break;
+		}
 #endif
 		default:
 			STARPU_ABORT();

+ 6 - 1
src/datawizard/interfaces/vector_interface.c

@@ -322,8 +322,13 @@ static void free_vector_buffer_on_node(void *data_interface, uint32_t node)
 #endif
 #ifdef STARPU_USE_OPENCL
                 case STARPU_OPENCL_RAM:
-			clReleaseMemObject((cl_mem)vector_interface->dev_handle);
+		{
+			cl_int err;
+			err = clReleaseMemObject((cl_mem)vector_interface->dev_handle);
+			if (STARPU_UNLIKELY(err != CL_SUCCESS))
+				STARPU_OPENCL_REPORT_ERROR(err);
                         break;
+		}
 #endif
 		default:
 			STARPU_ABORT();