Fix assert macro
NVCC has a bug that still prevents us from using a plain assert macro. This merge request provides an alternative implementation that works for NVCC.
Note: base/Assert.h is included before base/Cuda.h, so I used compiler macros directly. If that is not desirable, I can change the implementation.