move analytic gradient computation outside loop and store -- saves a lot
of time
eltwise gradient checker
Merge pull request #363 from jeffdonahue/speedup-gradient-check

Gradient check speedups
Use Thrust to manage the underlying memory of SyncedMem
Implement and test SyncedMem::resize and reserve
Add Blob::capacity and make Blob::Reshape capacity aware
Merge the Blob constructors and initialize all the fields properly
Change the Makefile to be consistent in style
Use static_cast instead of reinterpret_cast to cast void pointers
minor cast/style fixes

make some casts static_casts

minor style fixes
minor makefile style/dependency fixes; move more general rule after more
specific ones (for older versions of make that take first match)
use handwritten resize methods instead of thrust host/device vectors
-- couldn't get the thrust version working at all
make TestResize less trivial given new syncedmem resize design
add net constructor that takes pointer to other net with which we will
share data blobs with matching names
increase imagenet val batch size to 250 since little additional memory is
used
misc minor cleanup
check that malloc/realloc succeed
add comments explaining memory_share_net
make memory_share_blob input to Blob constructor const
rebase fixup: rm duplicate constructor