P4 to Git Change 2010058 by kjayapra@0_HIPWS_LNX1_ROCM on 2019/10/08 14:44:53

SWDEV-144570 - Implementation of APIs hipMemsetD8Async, hipMemAllocPitch, hipMemAllocHost and template for hipMemsetD16, hipMemsetD16Async.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.def.in#30 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.map.in#29 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#75 edit
Dieser Commit ist enthalten in:
foreman
2019-10-08 14:55:27 -04:00
Ursprung 88f0064461
Commit 250ecb0bdb
3 geänderte Dateien mit 56 neuen und 6 gelöschten Zeilen
+5
Datei anzeigen
@@ -60,6 +60,7 @@ hipGetDeviceProperties
hipGetErrorName
hipGetErrorString
hipGetLastError
hipMemAllocHost
hipHostAlloc
hipHostFree
hipHostGetDevicePointer
@@ -77,6 +78,7 @@ hipMalloc3DArray
hipArrayCreate
hipArray3DCreate
hipMallocArray
hipMemAllocPitch
hipMallocPitch
hipMemcpy
hipMemcpyParam2D
@@ -105,9 +107,12 @@ hipGetSymbolSize
hipMemGetInfo
hipMemPtrGetInfo
hipMemset
hipMemsetD16
hipMemsetD32
hipMemset2D
hipMemsetAsync
hipMemsetD8Async
hipMemsetD16Async
hipMemsetD32Async
hipMemset2DAsync
hipMemsetD8
+5
Datei anzeigen
@@ -61,6 +61,7 @@ global:
hipGetErrorName;
hipGetErrorString;
hipGetLastError;
hipMemAllocHost;
hipHostAlloc;
hipHostFree;
hipHostGetDevicePointer;
@@ -79,6 +80,7 @@ global:
hipArray3DCreate;
hipMallocArray;
hipMallocPitch;
hipMemAllocPitch;
hipMemcpy;
hipMemcpyParam2D;
hipMemcpy2D;
@@ -106,9 +108,12 @@ global:
hipMemGetInfo;
hipMemPtrGetInfo;
hipMemset;
hipMemsetD16;
hipMemsetD32;
hipMemset2D;
hipMemsetAsync;
hipMemsetD8Async;
hipMemsetD16Async;
hipMemsetD32Async;
hipMemset2DAsync;
hipMemsetD8;
+46 -6
Datei anzeigen
@@ -269,6 +269,14 @@ hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t st
HIP_RETURN(ihipMemset(dst, value, sizeof(char), sizeBytes, stream, true));
}
hipError_t hipMemsetD16Async(hipDeviceptr_t dst, unsigned short value, size_t count, hipStream_t stream){
HIP_INIT_API(hipMemsetD16Async, dst, value, count, stream);
assert(0 && "Unimplemented");
HIP_RETURN(hipErrorUnknown);
}
hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count, hipStream_t stream) {
HIP_INIT_API(hipMemsetD32Async, dst, value, count, stream);
@@ -281,6 +289,14 @@ hipError_t hipMemset(void* dst, int value, size_t sizeBytes) {
HIP_RETURN(ihipMemset(dst, value, sizeof(char), sizeBytes, nullptr));
}
hipError_t hipMemsetD16(hipDeviceptr_t dst, unsigned short value, size_t count){
HIP_INIT_API(hipMemsetD16, dst, value, count);
assert(0 && "Unimplemented");
HIP_RETURN(hipErrorUnknown);
}
hipError_t hipMemsetD32(hipDeviceptr_t dst, int value, size_t count) {
HIP_INIT_API(hipMemsetD32, dst, value, count);
@@ -1341,16 +1357,14 @@ hipError_t hipMemset2DAsync(void* dst, size_t pitch, int value,
HIP_RETURN(ihipMemset2D(dst, pitch, value, width, height, *queue, true));
}
hipError_t hipMemsetD8(hipDeviceptr_t dst, unsigned char value, size_t sizeBytes) {
HIP_INIT_API(hipMemsetD8, dst, value, sizeBytes);
hipError_t ihipMemsetD8(hipDeviceptr_t dst, unsigned char value, size_t sizeBytes, hipStream_t stream) {
if (dst == nullptr) {
HIP_RETURN(hipErrorInvalidValue);
return hipErrorInvalidValue;
}
hip::syncStreams();
amd::HostQueue* queue = hip::getNullStream();
size_t offset = 0;
amd::HostQueue* queue = hip::getQueue(stream);
amd::Command::EventWaitList waitList;
amd::Memory* memory = getMemoryObject(dst, offset);
if (memory != nullptr) {
@@ -1373,7 +1387,33 @@ hipError_t hipMemsetD8(hipDeviceptr_t dst, unsigned char value, size_t sizeBytes
memset(dst, value, sizeBytes);
}
HIP_RETURN(hipSuccess);
return hipSuccess;
}
hipError_t hipMemsetD8(hipDeviceptr_t dst, unsigned char value, size_t sizeBytes) {
HIP_INIT_API(hipMemsetD8, dst, value, sizeBytes);
HIP_RETURN(ihipMemsetD8(dst, value, sizeBytes, nullptr));
}
hipError_t hipMemsetD8Async(hipDeviceptr_t dst, unsigned char value, size_t sizeBytes,
hipStream_t stream) {
HIP_INIT_API(hipMemsetD8Async, dst, value, sizeBytes, stream);
HIP_RETURN(ihipMemsetD8(dst, value, sizeBytes, stream));
}
hipError_t hipMemAllocPitch(hipDeviceptr_t* dptr, size_t* pitch, size_t widthInBytes,
size_t height, unsigned int elementSizeBytes) {
HIP_INIT_API(hipMemAllocPitch, dptr, pitch, widthInBytes, height, elementSizeBytes);
HIP_RETURN(hipMallocPitch(dptr, pitch, widthInBytes, height));
}
hipError_t hipMemAllocHost(void** ptr, size_t size) {
HIP_INIT_API(hipMemAllocHost, ptr, size);
HIP_RETURN(hipHostMalloc(ptr, size, 0));
}
hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t* handle, void* dev_ptr) {