From d6cdea49eb509af852e6279922863cf63adb4a56 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Tue, 16 Dec 2014 15:41:36 -0800
Subject: [PATCH] Small fixes

---
 src/cnn.c    | 2 +-
 src/opencl.c | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/cnn.c b/src/cnn.c
index 790e311..ab4b259 100644
--- a/src/cnn.c
+++ b/src/cnn.c
@@ -562,7 +562,7 @@ void del_arg(int argc, char **argv, int index)
 int find_arg(int argc, char* argv[], char *arg)
 {
     int i;
-    for(i = 0; i < argc-1; ++i) if(0==strcmp(argv[i], arg)) {
+    for(i = 0; i < argc; ++i) if(0==strcmp(argv[i], arg)) {
         del_arg(argc, argv, i);
         return 1;
     }
diff --git a/src/opencl.c b/src/opencl.c
index 2a543bc..9255d4d 100644
--- a/src/opencl.c
+++ b/src/opencl.c
@@ -159,6 +159,7 @@ cl_kernel get_kernel(char *filename, char *kernelname, char *options)
 
 void cl_read_array(cl_mem mem, float *x, int n)
 {
+    if(gpu_index < 0) return;
     cl.error = clEnqueueReadBuffer(cl.queue, mem, CL_TRUE, 0, sizeof(float)*n,x,0,0,0);
     check_error(cl);
 }
@@ -175,6 +176,7 @@ float cl_checksum(cl_mem mem, int n)
 
 void cl_write_array(cl_mem mem, float *x, int n)
 {
+    if(gpu_index < 0) return;
     cl.error = clEnqueueWriteBuffer(cl.queue, mem, CL_TRUE, 0,sizeof(float)*n,x,0,0,0);
     check_error(cl);
 }
@@ -209,6 +211,7 @@ cl_mem cl_make_array(float *x, int n)
 
 cl_mem cl_make_int_array(int *x, int n)
 {
+    if(gpu_index < 0) return 0;
     cl_mem mem = clCreateBuffer(cl.context,
             CL_MEM_READ_WRITE|CL_MEM_COPY_HOST_PTR,
             sizeof(int)*n, x, &cl.error);
-- 
GitLab