13 #ifndef QMCPLUSPLUS_CUDA_TYPE_MAPPING_HPP 14 #define QMCPLUSPLUS_CUDA_TYPE_MAPPING_HPP 16 #include <type_traits> 20 #include <cuComplex.h> 22 #include <hip/hip_complex.h> 32 typename std::disjunction<OnTypesEqual<T, float, float>,
33 OnTypesEqual<T, double, double>,
34 OnTypesEqual<T, float*, float*>,
35 OnTypesEqual<T, double*, double*>,
36 OnTypesEqual<T, float**, float**>,
37 OnTypesEqual<T, double**, double**>,
39 OnTypesEqual<T, std::complex<float>,
cuComplex>,
41 OnTypesEqual<T, std::complex<float>**,
cuComplex**>,
43 OnTypesEqual<T, std::complex<float>*,
cuComplex*>,
45 OnTypesEqual<T, const std::complex<float>*,
const cuComplex*>,
46 OnTypesEqual<T, const std::complex<float>**,
const cuComplex**>,
48 OnTypesEqual<T, const std::complex<float>*
const*,
const cuComplex*
const*>,
49 OnTypesEqual<T, const std::complex<double>*
const*,
const cuDoubleComplex*
const*>,
60 #endif // QMCPLUSPLUS_CUDA_TYPE_MAPPING_HPP helper functions for EinsplineSetBuilder
typename std::disjunction< OnTypesEqual< T, float, float >, OnTypesEqual< T, double, double >, OnTypesEqual< T, float *, float * >, OnTypesEqual< T, double *, double * >, OnTypesEqual< T, float **, float ** >, OnTypesEqual< T, double **, double ** >, OnTypesEqual< T, std::complex< double >, cuDoubleComplex >, OnTypesEqual< T, std::complex< float >, cuComplex >, OnTypesEqual< T, std::complex< double > *, cuDoubleComplex * >, OnTypesEqual< T, std::complex< float > **, cuComplex ** >, OnTypesEqual< T, std::complex< double > **, cuDoubleComplex ** >, OnTypesEqual< T, std::complex< float > *, cuComplex * >, OnTypesEqual< T, const std::complex< double > *, const cuDoubleComplex * >, OnTypesEqual< T, const std::complex< float > *, const cuComplex * >, OnTypesEqual< T, const std::complex< float > **, const cuComplex ** >, OnTypesEqual< T, const std::complex< double > **, const cuDoubleComplex ** >, OnTypesEqual< T, const std::complex< float > *const *, const cuComplex *const * >, OnTypesEqual< T, const std::complex< double > *const *, const cuDoubleComplex *const * >, default_type< void > >::type CUDATypeMap
CUDATypeMap< T > castCUDAType(T var)