Use mask_idx to compute backward Max Pooling
Remove top_data from backward Max Pooling
Set bottom_diff to 0 and remove Async memcopy
Cleaned prints from test_pooling_layer.cpp
Fixed parameter order
Use loops in GPU again to avoid over-writting of bottom_diff
Added test for maxpool layer followed by dropout
Attempt to use AtomicAdd but it seems slower
Commented Atomic Add, back to loop in GPU MaxPoolBackward
Adapted to V1 proto definition, test don't pass
lint and make compilable (using static_cast's found a couple bugs at
compile time)
remove commented out code
mask should be const in backward pass
bugfix: setting count to the top count in backward doesn't process all
of the bottom (assuming the bottom is larger, which happens for
nontrivial poolsize>1)
use a Blob<int> instead of a SyncedMemory to store max_idx_
make a Blob<unsigned int> and use in dropout layer
optionally output the mask to a top blob instead of storing internally
add tests for maxpooling layer forward, and for maxpooling with top mask
merge caffe_set definitions; define for int as well
Merge pull request #448 from jeffdonahue/sguada-fix_maxpooling

Finish up max pooling with a mask from @sguada
Tested