added runtime api hipMemcpyFromSymbolAsync

Change-Id: Ibaf925faf0ba464dd0ed6c5ea74c224c2ce38889


[ROCm/clr commit: 3d348b2d81]
This commit is contained in:
Aditya Atluri
2017-02-22 19:16:35 -06:00
parent 94f0fdfc5b
commit 945526cf77
5 changed files with 74 additions and 21 deletions
+13 -6
View File
@@ -1780,7 +1780,7 @@ void ihipStream_t::locked_copySync(void* dst, const void* src, size_t sizeBytes,
}
}
void ihipStream_t::lockedSymbolCopySync(hc::accelerator &acc, void* dst, const void* src, size_t sizeBytes, unsigned kind)
void ihipStream_t::lockedSymbolCopySync(hc::accelerator &acc, void* dst, void* src, size_t sizeBytes, unsigned kind)
{
if(kind == hipMemcpyHostToHost){
acc.memcpy_symbol(dst, (void*)src, sizeBytes, Kalmar::hcMemcpyHostToHost);
@@ -1796,11 +1796,18 @@ void ihipStream_t::lockedSymbolCopySync(hc::accelerator &acc, void* dst, const v
}
}
void ihipStream_t::lockedSymbolCopyAsync(hc::accelerator &acc, void* dst, const void* src, size_t sizeBytes, unsigned kind)
void ihipStream_t::lockedSymbolCopyAsync(hc::accelerator &acc, void* dst, void* src, size_t sizeBytes, unsigned kind)
{
hc::AmPointerInfo dstPtrInfo(NULL, dst, sizeBytes, acc, true, false);
hc::am_memtracker_add(dst, dstPtrInfo);
locked_getAv()->copy_async((void*)src, dst, sizeBytes);
if(kind == hipMemcpyHostToDevice) {
hc::AmPointerInfo dstPtrInfo(NULL, dst, sizeBytes, acc, true, false);
hc::am_memtracker_add(dst, dstPtrInfo);
locked_getAv()->copy_async((void*)src, dst, sizeBytes);
}
if(kind == hipMemcpyDeviceToHost) {
hc::AmPointerInfo srcPtrInfo(NULL, src, sizeBytes, acc, true, false);
hc::am_memtracker_add(src, srcPtrInfo);
locked_getAv()->copy_async((void*)src, dst, sizeBytes);
}
}
void ihipStream_t::locked_copyAsync(void* dst, const void* src, size_t sizeBytes, unsigned kind)
@@ -1903,7 +1910,7 @@ void ihipStream_t::locked_copyAsync(void* dst, const void* src, size_t sizeBytes
LockedAccessor_StreamCrit_t crit(_criticalData);
this->ensureHaveQueue(crit);
#if USE_COPY_EXT_V2
crit->_av.copy_ext(src, dst, sizeBytes, hcCopyDir, srcPtrInfo, dstPtrInfo, copyDevice ? &copyDevice->getDevice()->_acc : nullptr, forceUnpinnedCopy);
#else