diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_onedft.hpp b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_onedft.hpp index b04dbf5b..b742baa3 100644 --- a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_onedft.hpp +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_onedft.hpp @@ -220,6 +220,8 @@ eval_exc_vxc_onedft_( int64_t m, int64_t n, c10::cuda::CUDACachingAllocator::emptyCache(); EXC[0] = exc.item(); // std::cout << "EXC: " << EXC[0] << std::endl; + } else { + EXC[0] = 0.0; } if ( world_size == 1 ) { diff --git a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_onedft.hpp b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_onedft.hpp index 3fea8596..498f852d 100644 --- a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_onedft.hpp +++ b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_onedft.hpp @@ -129,8 +129,9 @@ void ReferenceReplicatedXCHostIntegrator:: auto exc = (exc_on_grid * features_dict.at(feat_map.at(ONEDFT_FEATURE::WEIGHTS))).sum(); exc.backward(); EXC[0] = exc.item().to(); + } else { + EXC[0] = 0.0; } - // MPI_Bcast(EXC, 1, MPI_DOUBLE, 0, rt.comm()); // TODO: stop here if only exc send_buffer_onedft_outputs(2/*ndm*/, features_dict, tasks, rt, sendcounts, displs);