SWDEV-2 - Change OpenCL version number from 2927 to 2928.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2675 edit
* [hip] implement the hipExtLaunchMultiKernelMultiDevice API
* add a guard to check the HCC version for acquire_locked_hsa_queue() API which was introdued in HCC for ROCm 2.5
* modified code based on the requested changes
* changes to lock all streams before launching kernels for each device and unlock them after the dispatches
* check each stream to be valid before starting to lock all the streams
* Implement the hipOccupancyMaxPotentialBlockSize function
* Replaced hipGetDeviceProperties() call by ihipGetDeviceProperties() in ihipOccupancyMaxPotentialBlockSize()
* Add test for hipOccupancyMaxPotentialBlockSize in Module API
* Added extern declaration for ihipGetDeviceProperties() to be accessed inside ihipOccupancyMaxPotentialBlockSize()
* fixed hipOccupancyMaxPotentialBlockSize test build issue
* Fix hipOccupancyMaxPotentialBlockSize dtest
* Add BUILD_CMD in hipOccupancyMaxPotentialBlockSize dtest
* Revert "Add BUILD_CMD in hipOccupancyMaxPotentialBlockSize dtest"
This reverts commit 0480ff56f1441fc515d2c26ce33783e303423938.
* Disable hipOccupancyMaxPotentialBlockSize dtest on NVCC
* move extern declaration of ihipGetDeviceProperties to hip_module.cpp
* Update the limiation of 32 wavefronts per CU and 800/512 SGPRs for VI/pre-VI chips to calculate the occupancy
SWDEV-2 - Change OpenCL version number from 2926 to 2927.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2674 edit
SWDEV-79445 - OCL generic changes and code clean-up
1. Don't modify user passed arguments that should be constant. This saves sanity when debugging.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/17567/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_program.cpp#52 edit
SWDEV-144570 - Adding entries on to P2P Access devices in RocM, to create deviceMemories_ for P2P devices too.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#129 edit
Convert python 2 constructs to python 3 compatible ones.
In python 3, print is a function, so use write methods (which are always functions) instead.
In python3 keys() returns an iterator, rather than a list. This means you can't change the data structure that is being iterated over. Converting this iterator into a list mimics the python 2 behavior.
SWDEV-2 - Change OpenCL version number from 2925 to 2926.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2673 edit
SWDEV-79445 - OCL generic changes and code clean-up
Align scratch buffer size to match the HW requirement. HSAIL path has an alignment in SC, but LC doesn't have any
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#79 edit
- Once HIP_VDI_HOME is defined but HIP_CLANG_INCLUDE_PATH is not,
calculate it directly without HIP_CLANG_PATH is defined or not;
Otherwise, we may leave HIP_CLANG_INCLUDE_PATH undefined, if clang is
not installed following the official way (so far, HIP-Clang breaks
that), we may leave HIP_CLANG_INCLUDE_PATH undefined before its uses.
SWDEV-2 - Change OpenCL version number from 2924 to 2925.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2672 edit
SWDEV-191674 - Handling cases where p2p memcpy is initiated from device 1. (No Large Bar/P2P staging).
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#136 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#77 edit
SWDEV-180872 - Runtime support changes for Cooperative Group Features
- Keep this feature for Linux only. Windows doesn't enable GWS by default
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#85 edit
SWDEV-2 - Change OpenCL version number from 2923 to 2924.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2671 edit
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
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
SWDEV-2 - Change OpenCL version number from 2922 to 2923.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2670 edit
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
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
SWDEV-189012 - Fix Reg entry from REG_MULTI_SZ to REG_SZ to conform to Khronos standard. The installer has to be fixed next
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/icd/icd_windows_dxgk.c#5 edit
SWDEV-187399 - Linux-Pro Pyro_Explosion.hip Image difference is observed specific to W9000 ASIC in OCL mode
The issue disappeared when we invalidate L1 cache after each dispatch.
This change also fix ocltst runtime OCLMultiQueue test in Tahiti Brahma driver.
Tests:
http://ocltc.amd.com:8111/viewModification.html?modId=121519&personal=true&tab=vcsModificationBuilds
Test in the Houdini app. The symptom disappeared.
This change also fix ocltst runtime OCLMultiQueue test in Tahiti Brahma driver.
ReviewBoard: http://ocltc.amd.com/reviews/r/17509/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#337 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Force LC for HIP, since it doesn't support HSAIL path
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#83 edit
SWDEV-2 - Change OpenCL version number from 2921 to 2922.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2669 edit
SWDEV-190922 - Revert CL 1785925.
CLOCK_MONOTONIC_RAW access latency is too large for high frequency use.
Note: Since clock use must be synchronized with ROCr this patch may cause apparent performance regressions when tested with the amd-master branch of ROCr until the corresponding ROCr patch passes through PSDB. There should be no conflict with the ROCr 2.5 release branch.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/os/os_posix.cpp#46 edit
SWDEV-2 - Change OpenCL version number from 2920 to 2921.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2668 edit
SWDEV-2 - Change OpenCL version number from 2919 to 2920.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2667 edit
SWDEV-2 - Change OpenCL version number from 2918 to 2919.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2666 edit
SWDEV-79445 - OCL generic changes and code clean-up
Optimize scratch buffer calculation in the preparation for coop group launch, since the current limit affects max waves calculation:
- Switch to 32 waves per CU as the max possible limit
- Use vgprs count for the waves limit calculation to avoid unconditional possible max
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#141 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.hpp#38 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#82 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Use PAL shader core properties instead of the local device info
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldefs.hpp#53 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#140 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#134 edit
SWDEV-2 - Change OpenCL version number from 2917 to 2918.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2665 edit