Fix vector types for energy in cpu

This commit is contained in:
Alejandro Gallo 2023-01-23 14:44:54 +01:00
parent c8bdc4239f
commit 0d223e6ed9

View File

@ -202,7 +202,7 @@ Atrip::Output Atrip::run(Atrip::Input<F> const& in) {
_CHECK_CUDA_SUCCESS("Zijk", _CHECK_CUDA_SUCCESS("Zijk",
cuMemAlloc(&Zijk, sizeof(F) * No * No * No)); cuMemAlloc(&Zijk, sizeof(F) * No * No * No));
#else #else
std::vector<F> &Tai = _Tai, &epsi = _epsi, &epsa = _epsa; DataPtr<F> Tai = _Tai.data(), epsi = _epsi.data(), epsa = _epsa.data();
Zijk = (DataFieldType<F>*)malloc(No*No*No * sizeof(DataFieldType<F>)); Zijk = (DataFieldType<F>*)malloc(No*No*No * sizeof(DataFieldType<F>));
Tijk = (DataFieldType<F>*)malloc(No*No*No * sizeof(DataFieldType<F>)); Tijk = (DataFieldType<F>*)malloc(No*No*No * sizeof(DataFieldType<F>));
#endif #endif
@ -693,7 +693,7 @@ Atrip::Output Atrip::run(Atrip::Input<F> const& in) {
(DataFieldType<F>*)Tai, (DataFieldType<F>*)Tai,
#else #else
singlesContribution<F>(No, Nv, abc[0], abc[1], abc[2], singlesContribution<F>(No, Nv, abc[0], abc[1], abc[2],
Tai.data(), Tai,
#endif #endif
(DataFieldType<F>*)abhh.unwrapSlice(Slice<F>::AB, (DataFieldType<F>*)abhh.unwrapSlice(Slice<F>::AB,
abc), abc),
@ -733,18 +733,30 @@ Atrip::Output Atrip::run(Atrip::Input<F> const& in) {
1, 1, // for cuda 1, 1, // for cuda
_epsabc, _epsabc,
No, No,
#if defined(HAVE_CUDA)
(DataFieldType<F>*)epsi, (DataFieldType<F>*)epsi,
(DataFieldType<F>*)Tijk, (DataFieldType<F>*)Tijk,
(DataFieldType<F>*)Zijk, (DataFieldType<F>*)Zijk,
#else
epsi,
Tijk,
Zijk,
#endif
tupleEnergy); tupleEnergy);
} else { } else {
ACC_FUNCALL(getEnergySame<DataFieldType<F>>, ACC_FUNCALL(getEnergySame<DataFieldType<F>>,
1, 1, // for cuda 1, 1, // for cuda
_epsabc, _epsabc,
No, No,
#if defined(HAVE_CUDA)
(DataFieldType<F>*)epsi, (DataFieldType<F>*)epsi,
(DataFieldType<F>*)Tijk, (DataFieldType<F>*)Tijk,
(DataFieldType<F>*)Zijk, (DataFieldType<F>*)Zijk,
#else
epsi,
Tijk,
Zijk,
#endif
tupleEnergy); tupleEnergy);
}) })