From cb1f33c6ae840e8dc0f43518daf76e6ed01034f0 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Mon, 08 Dec 2014 19:48:57 +0000
Subject: [PATCH] Fixed race condition in server

---
 src/softmax_layer.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/softmax_layer.c b/src/softmax_layer.c
index dae332e..ffc028f 100644
--- a/src/softmax_layer.c
+++ b/src/softmax_layer.c
@@ -50,6 +50,12 @@
 }
 
 #ifdef GPU
+
+void pull_softmax_layer_output(const softmax_layer layer)
+{
+    cl_read_array(layer.output_cl, layer.output, layer.inputs*layer.batch);
+}
+
 cl_kernel get_softmax_forward_kernel()
 {
     static int init = 0;
@@ -63,7 +69,6 @@
 
 void forward_softmax_layer_gpu(const softmax_layer layer, cl_mem input)
 {
-    cl_setup();
     cl_kernel kernel = get_softmax_forward_kernel();
     cl_command_queue queue = cl.queue;
 
@@ -75,8 +80,14 @@
 
     const size_t global_size[] = {layer.batch};
 
-    clEnqueueNDRangeKernel(queue, kernel, 1, 0, global_size, 0, 0, 0, 0);
+    cl.error = clEnqueueNDRangeKernel(queue, kernel, 1, 0, global_size, 0, 0, 0, 0);
     check_error(cl);
+
+    /*
+    cl_read_array(layer.output_cl, layer.output, layer.inputs*layer.batch);
+    int z;
+    for(z = 0; z < layer.inputs*layer.batch; ++z) printf("%f,",layer.output[z]);
+    */
 }
 
 void backward_softmax_layer_gpu(const softmax_layer layer, cl_mem delta)

--
Gitblit v1.10.0