diff --git a/solution/reduction/reduction.cu b/solution/reduction/reduction.cu
index 7c3a12868b78defd66f3adbb8ad76b8a99486980..657f99af4f2afada9f2618cd38c7c9dca9089c03 100644
--- a/solution/reduction/reduction.cu
+++ b/solution/reduction/reduction.cu
@@ -1,6 +1,10 @@
 #include <cstdio>
 #include <algorithm>
 
+#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 600
+    #error "This code must be compiled with the -arch=native flag (or -arch=sm_80 for A100)!"
+#endif
+
 constexpr int TPB = 1024;
 
 
diff --git a/tasks/reduction/reduction.cu b/tasks/reduction/reduction.cu
index 59cc75f97f1994c2d196667c4d50f87ba7d0955e..e3deeaef33471d05640253281e087c71e45ba3d4 100644
--- a/tasks/reduction/reduction.cu
+++ b/tasks/reduction/reduction.cu
@@ -1,6 +1,10 @@
 #include <cstdio>
 #include <algorithm>
 
+#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 600
+    #error "This code must be compiled with the -arch=native flag (or -arch=sm_80 for A100)!"
+#endif
+
 constexpr int TPB = 1024;