From aa5996d58e68edfbefe51061856aecd549dd09c4 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Tue, 13 Jan 2015 01:27:08 +0000
Subject: [PATCH] Faster

---
 src/maxpool_layer.h |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/maxpool_layer.h b/src/maxpool_layer.h
index 0afe68a..dc45c55 100644
--- a/src/maxpool_layer.h
+++ b/src/maxpool_layer.h
@@ -2,18 +2,33 @@
 #define MAXPOOL_LAYER_H
 
 #include "image.h"
+#include "opencl.h"
 
 typedef struct {
+    int batch;
     int h,w,c;
     int stride;
-    double *delta;
-    double *output;
+    int size;
+    int *indexes;
+    float *delta;
+    float *output;
+    #ifdef GPU
+    cl_mem indexes_cl;
+    cl_mem output_cl;
+    cl_mem delta_cl;
+    #endif
 } maxpool_layer;
 
 image get_maxpool_image(maxpool_layer layer);
-maxpool_layer *make_maxpool_layer(int h, int w, int c, int stride);
-void forward_maxpool_layer(const maxpool_layer layer, double *in);
-void backward_maxpool_layer(const maxpool_layer layer, double *in, double *delta);
+maxpool_layer *make_maxpool_layer(int batch, int h, int w, int c, int size, int stride);
+void resize_maxpool_layer(maxpool_layer *layer, int h, int w, int c);
+void forward_maxpool_layer(const maxpool_layer layer, float *input);
+void backward_maxpool_layer(const maxpool_layer layer, float *delta);
+
+#ifdef GPU
+void forward_maxpool_layer_gpu(maxpool_layer layer, cl_mem input);
+void backward_maxpool_layer_gpu(maxpool_layer layer, cl_mem delta);
+#endif
 
 #endif
 

--
Gitblit v1.10.0