diff --git a/CUDA/sync_check.h b/CUDA/sync_check.h
new file mode 100644
index 0000000000000000000000000000000000000000..a5e6430ca929677fdbaa6652ee51e44cd9e64d4d
--- /dev/null
+++ b/CUDA/sync_check.h
@@ -0,0 +1,19 @@
+#include <fstream>
+
+#define safecall(call) do{\
+	cudaError_t err=call;\
+	if (cudaSuccess != err){\
+		printf("cuda error at %s:%d. %s\n",__FILE__,__LINE__,cudaGetErrorString(err));\
+	}\
+}while(0)
+
+#define sync_check(message) do{;\
+	safecall(cudaDeviceSynchronize());\
+	cudaError_t error = cudaGetLastError();\
+	if (cudaSuccess != error){\
+		printf("ERROR: %s: %s\n",message,cudaGetErrorString(error));\
+		exit(-1);\
+	}\
+}while(0)
+
+