|
|
|
@@ -282,7 +282,6 @@ Status DeviceQueueOp::PushDataToGPU() { |
|
|
|
bool is_open = false; |
|
|
|
uint32_t handle = INVALID_HANDLE; |
|
|
|
int64_t send_batch = 0; |
|
|
|
bool ps_data_prefetch = false; |
|
|
|
auto release_function = std::bind(&DeviceQueueOp::ReleaseData, this, std::placeholders::_1, std::placeholders::_2); |
|
|
|
while (!items.empty() && !GpuBufferMgr::GetInstance().IsClosed()) { |
|
|
|
if (!is_open) { |
|
|
|
@@ -298,9 +297,8 @@ Status DeviceQueueOp::PushDataToGPU() { |
|
|
|
} |
|
|
|
|
|
|
|
// Data prefetch only when PS mode enables cache. |
|
|
|
if ((!ps_data_prefetch) && (items.size() > 0)) { |
|
|
|
if (items.size() > 0) { |
|
|
|
ps::PsDataPrefetch::GetInstance().PrefetchData(channel_name_, items[0].data_ptr_, items[0].data_len_); |
|
|
|
ps_data_prefetch = true; |
|
|
|
} |
|
|
|
while (!GpuBufferMgr::GetInstance().IsClosed() && !TaskManager::FindMe()->Interrupted()) { |
|
|
|
BlockQueueStatus_T ret = GpuBufferMgr::GetInstance().Push(handle, items, WAIT_TIME); |
|
|
|
|