Fix for MemcpyFromSymbol on HIP/NVCC path
Change-Id: Ice38307f72870ae468cbf0861e104f0fa46dfd56
This commit is contained in:
@@ -1156,7 +1156,7 @@ hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t siz
|
|||||||
*
|
*
|
||||||
* @see hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyFromSymbol, hipMemcpyAsync, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpyToSymbolAsync, hipMemcpyFromSymbolAsync
|
* @see hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyFromSymbol, hipMemcpyAsync, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpyToSymbolAsync, hipMemcpyFromSymbolAsync
|
||||||
*/
|
*/
|
||||||
hipError_t hipMemcpyToSymbol(const char* symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind);
|
hipError_t hipMemcpyToSymbol(const void* symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1176,11 +1176,11 @@ hipError_t hipMemcpyToSymbol(const char* symbolName, const void *src, size_t siz
|
|||||||
*
|
*
|
||||||
* @see hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyFromSymbol, hipMemcpyAsync, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpyToSymbolAsync, hipMemcpyFromSymbolAsync
|
* @see hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyFromSymbol, hipMemcpyAsync, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpyToSymbolAsync, hipMemcpyFromSymbolAsync
|
||||||
*/
|
*/
|
||||||
hipError_t hipMemcpyToSymbolAsync(const char* symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream);
|
hipError_t hipMemcpyToSymbolAsync(const void* symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream);
|
||||||
|
|
||||||
hipError_t hipMemcpyFromSymbol(void *dst, const char* symbolName, size_t sizeBytes, size_t offset, hipMemcpyKind kind);
|
hipError_t hipMemcpyFromSymbol(void *dst, const void* symbolName, size_t sizeBytes, size_t offset, hipMemcpyKind kind);
|
||||||
|
|
||||||
hipError_t hipMemcpyFromSymbolAsync(void *dst, const char* symbolName, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream);
|
hipError_t hipMemcpyFromSymbolAsync(void *dst, const void* symbolName, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Copy data from src to dst asynchronously.
|
* @brief Copy data from src to dst asynchronously.
|
||||||
|
|||||||
@@ -333,6 +333,16 @@ inline static hipError_t hipMemcpyToSymbolAsync(const void* symbol, const void*
|
|||||||
return hipCUDAErrorTohipError(cudaMemcpyToSymbolAsync(symbol, src, sizeBytes, offset, hipMemcpyKindToCudaMemcpyKind(copyType)));
|
return hipCUDAErrorTohipError(cudaMemcpyToSymbolAsync(symbol, src, sizeBytes, offset, hipMemcpyKindToCudaMemcpyKind(copyType)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline static hipError_t hipMemcpyFromSymbol(void *dst, const void* symbolName, size_t sizeBytes, size_t offset, hipMemcpyKind kind)
|
||||||
|
{
|
||||||
|
return hipCUDAErrorTohipError(cudaMemcpyFromSymbol(dst, symbolName, sizeBytes, offset, hipMemcpyKindToCudaMemcpyKind(kind)));
|
||||||
|
}
|
||||||
|
|
||||||
|
inline static hipError_t hipMemcpyFromSymbolAsync(void *dst, const void* symbolName, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream)
|
||||||
|
{
|
||||||
|
return hipCUDAErrorTohipError(cudaMemcpyFromSymbolAsync(dst, symbolName, sizeBytes, offset, hipMemcpyKindToCudaMemcpyKind(kind), stream));
|
||||||
|
}
|
||||||
|
|
||||||
inline static hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind){
|
inline static hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind){
|
||||||
return hipCUDAErrorTohipError(cudaMemcpy2D(dst, dpitch, src, spitch, width, height, hipMemcpyKindToCudaMemcpyKind(kind)));
|
return hipCUDAErrorTohipError(cudaMemcpy2D(dst, dpitch, src, spitch, width, height, hipMemcpyKindToCudaMemcpyKind(kind)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -472,7 +472,7 @@ hipError_t hipHostUnregister(void *hostPtr)
|
|||||||
return ihipLogStatus(hip_status);
|
return ihipLogStatus(hip_status);
|
||||||
}
|
}
|
||||||
|
|
||||||
hipError_t hipMemcpyToSymbol(const char* symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
|
hipError_t hipMemcpyToSymbol(const void* symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
|
||||||
{
|
{
|
||||||
HIP_INIT_CMD_API(symbolName, src, count, offset, kind);
|
HIP_INIT_CMD_API(symbolName, src, count, offset, kind);
|
||||||
|
|
||||||
@@ -485,7 +485,7 @@ hipError_t hipMemcpyToSymbol(const char* symbolName, const void *src, size_t cou
|
|||||||
|
|
||||||
hc::accelerator acc = ctx->getDevice()->_acc;
|
hc::accelerator acc = ctx->getDevice()->_acc;
|
||||||
|
|
||||||
void *dst = acc.get_symbol_address(symbolName);
|
void *dst = acc.get_symbol_address((const char*) symbolName);
|
||||||
tprintf(DB_MEM, " symbol '%s' resolved to address:%p\n", symbolName, dst);
|
tprintf(DB_MEM, " symbol '%s' resolved to address:%p\n", symbolName, dst);
|
||||||
|
|
||||||
if(dst == nullptr)
|
if(dst == nullptr)
|
||||||
@@ -507,7 +507,7 @@ hipError_t hipMemcpyToSymbol(const char* symbolName, const void *src, size_t cou
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
hipError_t hipMemcpyFromSymbol(void* dst, const char* symbolName, size_t count, size_t offset, hipMemcpyKind kind)
|
hipError_t hipMemcpyFromSymbol(void* dst, const void* symbolName, size_t count, size_t offset, hipMemcpyKind kind)
|
||||||
{
|
{
|
||||||
HIP_INIT_CMD_API(symbolName, dst, count, offset, kind);
|
HIP_INIT_CMD_API(symbolName, dst, count, offset, kind);
|
||||||
|
|
||||||
@@ -520,7 +520,7 @@ hipError_t hipMemcpyFromSymbol(void* dst, const char* symbolName, size_t count,
|
|||||||
|
|
||||||
hc::accelerator acc = ctx->getDevice()->_acc;
|
hc::accelerator acc = ctx->getDevice()->_acc;
|
||||||
|
|
||||||
void *src = acc.get_symbol_address(symbolName);
|
void *src = acc.get_symbol_address((const char*) symbolName);
|
||||||
tprintf(DB_MEM, " symbol '%s' resolved to address:%p\n", symbolName, dst);
|
tprintf(DB_MEM, " symbol '%s' resolved to address:%p\n", symbolName, dst);
|
||||||
|
|
||||||
if(dst == nullptr)
|
if(dst == nullptr)
|
||||||
@@ -542,7 +542,7 @@ hipError_t hipMemcpyFromSymbol(void* dst, const char* symbolName, size_t count,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
hipError_t hipMemcpyToSymbolAsync(const char* symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind, hipStream_t stream)
|
hipError_t hipMemcpyToSymbolAsync(const void* symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind, hipStream_t stream)
|
||||||
{
|
{
|
||||||
HIP_INIT_CMD_API(symbolName, src, count, offset, kind, stream);
|
HIP_INIT_CMD_API(symbolName, src, count, offset, kind, stream);
|
||||||
|
|
||||||
@@ -557,7 +557,7 @@ hipError_t hipMemcpyToSymbolAsync(const char* symbolName, const void *src, size_
|
|||||||
|
|
||||||
hc::accelerator acc = ctx->getDevice()->_acc;
|
hc::accelerator acc = ctx->getDevice()->_acc;
|
||||||
|
|
||||||
void *dst = acc.get_symbol_address(symbolName);
|
void *dst = acc.get_symbol_address((const char*) symbolName);
|
||||||
tprintf(DB_MEM, " symbol '%s' resolved to address:%p\n", symbolName, dst);
|
tprintf(DB_MEM, " symbol '%s' resolved to address:%p\n", symbolName, dst);
|
||||||
|
|
||||||
if(dst == nullptr)
|
if(dst == nullptr)
|
||||||
@@ -580,7 +580,7 @@ hipError_t hipMemcpyToSymbolAsync(const char* symbolName, const void *src, size_
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
hipError_t hipMemcpyFromSymbolAsync(void* dst, const char* symbolName, size_t count, size_t offset, hipMemcpyKind kind, hipStream_t stream)
|
hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbolName, size_t count, size_t offset, hipMemcpyKind kind, hipStream_t stream)
|
||||||
{
|
{
|
||||||
HIP_INIT_CMD_API(symbolName, dst, count, offset, kind, stream);
|
HIP_INIT_CMD_API(symbolName, dst, count, offset, kind, stream);
|
||||||
|
|
||||||
@@ -595,7 +595,7 @@ hipError_t hipMemcpyFromSymbolAsync(void* dst, const char* symbolName, size_t co
|
|||||||
|
|
||||||
hc::accelerator acc = ctx->getDevice()->_acc;
|
hc::accelerator acc = ctx->getDevice()->_acc;
|
||||||
|
|
||||||
void *src = acc.get_symbol_address(symbolName);
|
void *src = acc.get_symbol_address((const char*) symbolName);
|
||||||
tprintf(DB_MEM, " symbol '%s' resolved to address:%p\n", symbolName, src);
|
tprintf(DB_MEM, " symbol '%s' resolved to address:%p\n", symbolName, src);
|
||||||
|
|
||||||
if(src == nullptr || dst == nullptr)
|
if(src == nullptr || dst == nullptr)
|
||||||
|
|||||||
مرجع در شماره جدید
Block a user