SWDEV-79445 - Add logic to handle persistent memory separately from the host memory path
- Some of the optimizations applied to the host memory can't be used for persistent
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.cpp#20 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmemory.cpp#30 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmemory.hpp#10 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#45 edit
SWDEV-102726 - [OCL-LC-ROCm] Open source OpenCL Runtime
- Initialize spirVersions_ even if we do not report the extension.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#72 edit
SWDEV-135933 - Use the same device driver version format for all device backends
- Report "####.# (HSA#.#,{HSAIL|LC})"
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#71 edit
SWDEV-132888 - OCL kernel execution time is long at the first run on Linux, Vega, HSAIL (ProRender unit test)
Don't finalize ISA binaries if recompilation is not requested.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#74 edit
SWDEV-133886 - [Linux-Pro][VEGA ][Nuke]OpenCL kernel compilation failed" error is observed with Nuke on Vega10
- Port CL#1116855 to OCL/ROCm.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#73 edit
SWDEV-120036 - Supporting the cl_amd_device_attribute_query on the ROC device
- divided the query of HSA_AMD_AGENT_INFO_MEMORY_WIDTH by 32 to obtained the globale memory channels as done in ORCA and PAL
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#69 edit
SWDEV-134554 - OCLPerfConcurrency is failed on Vega10 Lnx Pro after CL#1465654
- fixed the issue by limit the number of asyn queues to 8, which matches the number of pipes.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdefs.hpp#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#68 edit
SWDEV-126904 - rocm Pipe: fill device info for Pipe, and initialize Pipe memory object according to clk_pipe_t structure
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#67 edit
SWDEV-120036 - Supporting the cl_amd_device_attribute_query on the ROC device
- resubmit the codes with the addition of global free memory query support
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#66 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmemory.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#27 edit
SWDEV-134228 - Remove dead code.
hsa_memory_assign_agent is not needed with pool memory APIs and has been superceded by hsa_amd_agents_allow_access.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#65 edit
SWDEV-118564 - [OCL-LC-ROCm] Remove options, which have already been moved to AMDGPUToolChain by https://reviews.llvm.org/rL312524
In order to have similar set of optipons for online and offline compilation a mechanism of setting default options in AMDGPUToolChain was implemented by https://reviews.llvm.org/rL312524. That commit also sets two default options in AMDGPUToolChain: -m64 and -O3 (the latter only set if there is no -O{N} option in the args). The commit has already reached amd-common.
The current change relates to LC only and removes setting of -m64 from compileImpl_LC() as it is set later in TranslateArgs(); for online -O{N} is set as before by RT and stays unchanged in AMDGPUToolChain; for offline it is set to -O3 by TranslateArgs() if no -O{N} is passed through args.
Also remove comments regarding "-x cl" as it is now correctly set in OpenCL driver.
Review: http://ocltc.amd.com/reviews/r/13454/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palcompiler.cpp#18 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompiler.cpp#36 edit
SWDEV-120036 - Supporting the cl_amd_device_attribute_query on the ROC device - Back out changelist 1459984
- not all device attributes are supported, will re-submit the changes when every attribute is supported.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#64 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#26 edit
SWDEV-111439 - Add query for preferred constant size
- fixed a mistake of using 64KiB for the size, which should be 16KiB.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#576 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#62 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#63 edit
SWDEV-130808 - set the local sizes to preferredWorkGroupSize_ when clEnqueueNDRange is not given and the kernel does not have required workgroup sizes.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#320 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#411 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#56 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#43 edit
SWDEV-130808 - Add support of two new queries: CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD, CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD.
- Restore the original behavior when setting GPU_MAX_WORKGROUP_SIZE.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#356 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#279 edit
SWDEV-124331 - Follow HSA loader spec.
Extend lifetime of loaded ELF and code reader to the lifetime of the loaded executable.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#69 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#27 edit
SWDEV-102733 - [OCL-LC-ROCm] Cmake build Write CMakeLists.txt to enable building with and without the DK environment
- Disable LLVM object compression. Allows closed source LLVM binaries to run with the open source runtime
- Define the DEBUG macro for Debug build types
- Use the prepared amdgcn lib instead of the static lib when generating the .bc includes for the runtime.
Affected files ...
... //depot/stg/opencl/drivers/opencl/CMakeLists.txt#14 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/CMakeLists.txt#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/CMakeLists.txt#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/CMakeLists.txt#8 edit
SWDEV-102733 - [OCL-LC-ROCm] Cmake build Write CMakeLists.txt to enable building with and without the DK environment
- Use the internal libelf instead of the system's when building with cmake.
- Don't include codecvt if WITH_LIQUID_FLASH is not defined
- Don't memset the device::Kernel::workGroupInfo_, there's a std::string in it. The constructor already zeroes all the fields.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/CMakeLists.txt#8 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_lqdflash_amd.cpp#21 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#25 edit
SWDEV-121486 - Clean up sampler list if we run out of memory.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#42 edit
SWDEV-127280 - Expose CL_DEVICE_GFXIP_MINOR_AMD/CL_DEVICE_GFXIP_MAJOR_AMD even though cl_amd_device_attribute_query is not yet supported on OpenCL/ROCm.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#57 edit
SWDEV-102733 - Use the embedded compiler library for OCL/ROCm/HSAIL when BUILD_HSA_TARGET != yes
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompilerlib.cpp#7 edit
SWDEV-102733 - Remove an old instance var that was used by the finalizer path.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#23 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#66 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.hpp#13 edit
SWDEV-126057 - Fix a segfault of libamdocl-rocr64.so when there's no vega10 is in the system.
When there's no supported device, Device::devices_ is not created. So we add a check.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#56 edit
SWDEV-124720 - Observed "Memory access fault by GPU node-1" while running few of OpenCL - ISV apps
- Change to use system scope on acquire fence for dispatch packet
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#41 edit