Jialei gh297 speed up gpu computation on ei grad ei

********* PEOPLE *************
Primary reviewer: @suntzu86 

Reviewers: @sc932 

********* DESCRIPTION **************
Branch Name: jialei_gh297_speed_up_gpu_computation_on_EI_gradEI
Ticket(s)/Issue(s): Closes #297 

********* TESTING DONE *************
make test
cpplint.py
the slash notation is only recognized for a few keywords (like param, output, return, raise). I'd put these comments above the param/output lists. something like:

```
**Shared Memory Requirements**

This method requires the caller to allocate _____ bytes of shared memory. The order of the blah blah blah

* chol_var_local[num_union][num_union]: description
* stuff
* etc

```
the double star notation does boldface