gravity_cache.h inclusion with CUDA
The gravity_cache.h inclusion doesn't work with NVCC (even with --disable-vectorization). I've written a workaround macro for the breaking function:
#if defined(__ICC)
#define swift_align_information(array, alignment) \
__assume_aligned(array, alignment);
#elif defined(__NVCC__)
#define swift_align_information(array, alignment) ;
#elif defined(__GNUC__)
#define swift_align_information(array, alignment) \
array = __builtin_assume_aligned(array, alignment);
#else
#define swift_align_information(array, alignment) ;
#endif
but I'm unclear on if this will behave nicely when we're compiling the main library with gcc and the other library with nvcc. I expect so but I'm not sure why __builtin_assume_aligned is unavailable with nvcc.