CompFUSE / DCA

DCA++
BSD 3-Clause "New" or "Revised" License
34 stars 28 forks source link

argument of type "cuDoubleComplex *" is incompatible with parameter of type "double *" #325

Closed jinz2014 closed 5 months ago

jinz2014 commented 6 months ago

I tried to build the project with CUDA enabled. The CUDA compiler is 12.3. The errors are

/path/toDCA/src/math/nfft/dnfft_1d_kernels.cu(113): error: argument of type "cuDoubleComplex " is incompatible with parameter of type "double " linalg::atomicAdd(out_ptr, contribution); ^ detected during: instantiation of "void dca::math::nfft::details::accumulateOnDeviceKernel<oversampling,window_sampling,Scalar,Real,accumulate_m_sqr>(const Scalar , int, Scalar, Scalar , Scalar , int, const dca::math::nfft::details::ConfigElem , const dca::math::nfft::details::ConfigElem , const Real , const Real , int) [with oversampling=8, window_sampling=32, Scalar=cuDoubleComplex, Real=double, accumulate_m_sqr=true]" at line 130 instantiation of "void dca::math::nfft::details::accumulateOnDevice<oversampling,window_sampling,Scalar,Real>(const Scalar , int, Scalar, Scalar , Scalar , int, const dca::math::nfft::details::ConfigElem , const dca::math::nfft::details::ConfigElem , const Real , const Real , int, cudaStream_t) [with oversampling=8, window_sampling=32, Scalar=std::complex, Real=double]" at line 185

/path/to/DCA/src/math/nfft/dnfft_1d_kernels.cu(113): error: no suitable conversion function from "const cuDoubleComplex" to "double" exists linalg::atomicAdd(out_ptr, contribution);