Commit bb31988347b52956215d15aa1b9e9c3dd0d09908

Con Kolivas 2012-04-25T11:41:35

Detect poorly performing combination of SDK and phatk kernel and add verbose warning at startup.

diff --git a/ocl.c b/ocl.c
index 39c8844..2b8155c 100644
--- a/ocl.c
+++ b/ocl.c
@@ -372,8 +372,17 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
 			clState->chosen_kernel = KL_PHATK;
 		}
 		gpus[gpu].kernel = clState->chosen_kernel;
-	} else
+	} else {
 		clState->chosen_kernel = gpus[gpu].kernel;
+		if (clState->chosen_kernel == KL_PHATK &&
+		    (strstr(vbuff, "844.4") || strstr(vbuff, "851.4") ||
+		     strstr(vbuff, "831.4") || strstr(vbuff, "898.1"))) {
+			applog(LOG_WARNING, "WARNING: You have selected the phatk kernel.");
+			applog(LOG_WARNING, "You are running SDK 2.6 which performs poorly with this kernel.");
+			applog(LOG_WARNING, "Downgrade your SDK and delete any .bin files before starting again.");
+			applog(LOG_WARNING, "Or allow cgminer to automatically choose a more suitable kernel.");
+		}
+	}
 
 	/* For some reason 2 vectors is still better even if the card says
 	 * otherwise, and many cards lie about their max so use 256 as max