Tpetra: Enable GO=long long by default for CUDA builds too
Created by: mhoemmen
@trilinos/tpetra @trilinos/teko
In CUDA builds, Tpetra currently uses int
and long
as the default GlobalOrdinal
(GO) types. This is because at one point, GO = long long
did not work in CUDA builds. I'm testing just enabling GlobalOrdinal = long long
with CUDA 8.0 and GCC 5.3.0 right now, and it builds just fine. Thus, it would make sense for Tpetra to enable long long
instead of long
by default for CUDA builds, as well as for non-CUDA builds.
This is relevant to Teko, because Teko currently requires at least one of GO={int, long long}
. Furthermore, allowing users and developers to disable GO=int
would improve build times.
btw, the point of using long long
rather than long
, is that the C++11 and C99 standards guarantee that long long
is at least 64 bits. On some platforms, long
is only 32 bits.