SWDEV-198194 - Making some code common between static and dynamically created module handling.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_internal.hpp#37 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#34 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#38 edit
[ROCm/hip commit: 15685fcc88]
SWDEV-198556 - [HIP] Use src/dstMemory->getContext instead of host_context.
Also relax the check for P2P copies in case of hipMemcpy(hostMalloced, hipMalloced(dev1), dev0)
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#67 edit
[ROCm/hip commit: 867d521a08]
SWDEV-196326 - [hipclang-vdi-rocm]: [FBA-80]: Runtime error when all GPUs are hidden by ROCR_VISIBLE_DEVICES
- Adjusted hipGetDeviceCount to return "hipErrorNoDevice".
- This was done to match the same behaviour as HIP-HCC, and API spec for when no devices are found. Rather then return "count = 0" as it did.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/17789/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_device.cpp#22 edit
[ROCm/hip commit: 7f0373f2e3]
SWDEV-198556 - [HIP] Gnarly bug due to macros:
HIP_RETURN(ret) duplicates ret twice first by setting the last error
then via LogDebugInfo. So if HIP_RETURN has a function as a parameter,
the function would get called twice. So ihipMalloc and ihipMemcpy were
being called twice (and perhaps more functions).
Also logging the pointer returned by ihipMalloc so we can track memory
in logs more easily.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_internal.hpp#33 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#65 edit
[ROCm/hip commit: adf865621c]
SWDEV-180872 - Runtime support changes for Cooperative Group Features
- Taking into account of SGPRs usage to determine the block size
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#35 edit
[ROCm/hip commit: 99d54cb7bd]
SWDEV-189500 - [HIP] Have to force async=false for host to device case as well
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#61 edit
[ROCm/hip commit: 763c294441]
SWDEV-193938 - [HIP] RCCL test fails
Set default stream to null-stream
In hipStreamWaitEvent if event_ is null, get the last queued command instead.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_event.cpp#12 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_event.hpp#4 edit
[ROCm/hip commit: e9f58233e1]
SWDEV-145570 - Fix device name mismatch.
Not only gfx906 can have device name with +xnack etc.
Other devices e.g. gfx900 could have that too.
Make the previous fix more generic.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#33 edit
[ROCm/hip commit: 97a079826e]
SWDEV-184710 - Support hipLaunchCooperativeKernelMultiDevice()
- Clean-up the loop for the launch on each device
- Add hipExtLaunchMultiKernelMultiDevice()
http://ocltc.amd.com/reviews/r/17573/
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#29 edit
[ROCm/hip commit: fd634d58f1]
SWDEV-192384 - [HIP] Fixed case where start and stop events are the same for ElapsedTime.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_event.cpp#11 edit
[ROCm/hip commit: 975d4b53f7]
SWDEV-180872 - Runtime support changes for Cooperative Group Features
- Correct the name in the def files
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.def.in#17 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.map.in#19 edit
[ROCm/hip commit: 4e8767e7f5]
SWDEV-180872 - Runtime support changes for Cooperative Group Features
- Initial implementation of the core functionality. Disabled by default. Use GPU_ENABLE_COOP_GROUPS=1 to enable the feature.
- Runtime uses device queue for cooperative executions with a synchronization on the launched queue.
- The current implementation is pure runtime change and it can work if only one app uses this feature. No ROCr/KFD support was added or tested
- Only inline assembler was tested
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_device.cpp#20 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_device_runtime.cpp#15 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.def.in#15 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.map.in#17 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#28 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#338 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#606 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#171 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.hpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#142 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.hpp#39 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palschedcl.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#135 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#61 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.hpp#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#127 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#37 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocschedcl.cpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#75 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.hpp#23 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.cpp#94 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.hpp#92 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#311 edit
[ROCm/hip commit: 17943639e4]
SWDEV-189383 - [HIP CQE][HIPonPAL][WIN] hipDeviceMalloc, hip_test_ldg, hipHostRegister, hipModule, hipStreamSync2 tests failed on VEGA10.
1. For pinned memory allocations add the host pointer and all of its respective device pointers to the memory object map.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#57 edit
[ROCm/hip commit: 0e11975282]
SWDEV-190565 - [HIP] Don't use clSetEventWaitList and just add the event to the list in HIP.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_event.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_common.hpp#24 edit
[ROCm/hip commit: 78905ef7e9]
SWDEV-145570 - Support loading fat binary generated through --genco by hipModuleLoad.
hip-clang --genco generates fat binary instead of code object. To support that
we need to extract code object from fat binary in hipModuleLoadData. This is
needed for hipRTC since multiple GPU archs may be passed.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#27 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/devprogram.cpp#42 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#308 edit
[ROCm/hip commit: 37cbce4df7]
SWDEV-189488 - [HIP] Caffe2 TensorTest.TensorSerializationMultiDevices fails
1. Make sure to set attributes->device to current device for host malloc'd
2. Return hipSuccess for hipDeviceCanAccessPeer
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#56 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_peer.cpp#4 edit
[ROCm/hip commit: 15d1df9255]
SWDEV-145570 - Fix device name mismatch for gfx906.
For now hip-clang can only emits gfx906 ISA with conservative configurations, i.e. with ecc on and xnack on, therefore it is always gfx906. It is still under discussion how to encode the target id for xnack off or ecc off.
Therefore, the reasonable solution for now is just allow code object marked as gfx906 to be loaded on any device name that starts with gfx906. We will have more detailed control once hip-clang is able to emit code object for gfx906 with ecc off or xnack off.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#30 edit
[ROCm/hip commit: 1d60371d01]