Old behavior: All non-POD types had to specify T::host_type and T::device_type. New behavior: All types not specifying T::host_type and T::device_type are treated as if T::host_type==T and T::device_type==T. Using some template metaprogramming to detect if the typedefs are available.
Old behavior: All non-POD types had to specify T::host_type and T::device_type. New behavior: All types not specifying T::host_type and T::device_type are treated as if T::host_type==T and T::device_type==T. Using some template metaprogramming to detect if the typedefs are available.

jbreitbart/CuPP,jbreitbart/CuPP,jbreitbart/CuPP