EPR #397491 - Disabling 32 bit generic address space temporarily because of bug 10841.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#121 edit
EPR #010002 - Change OpenCL version number from 1818 to 1819.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1565 edit
[ROCm/clr commit: 7096244ea8]
EPR #010002 - Change OpenCL version number from 1818 to 1819.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1565 edit
EPR #010002 - Change OpenCL version number from 1817 to 1818.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1564 edit
[ROCm/clr commit: 441942cc25]
EPR #010002 - Change OpenCL version number from 1817 to 1818.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1564 edit
ECR #333753 - HSA HLC: fix for cannot select __hsail_memfence intrinsic under -O0
Fix for bug 10808.
We have missed always inliner pass on runtime only for -O0 build. aoc2 and opt.exe run it, but conformance binary itself does not.
As a result a set of always_inline functions was not inlined and we cannot lower __hsail_memfence call which should accept only immediate arguments,
where we are passing call arguments if it is not inlined.
The fix ensures we are running at either of two inliner always if building for GPU. Under -O0 that is always inliner pass.
In addition three helper functions in the library were marked as always_inline to ensure these are also inlined into atomic_work_item_fence() and thus
supply immediate arguments into __hsail_memfence call. The dialect we are using in clang to build the library does not provide inlining of a "static inline"
functions, so an additional attribute was needed.
Also the fix unifies -O0 inliner invocation code for offline opt.exe and complib.
Additionally fixed the complib bug, under -O0 OptLevel::setup() extis early, so does not change HLC_Disable_Amd_Inline_All variable.
This variable contains the value left after blit kernels compilation. Added corresponding setup code to GPUO0OptLevel::optimize().
In a long run we should call AMDPassManagerBuilder under -O0 as well and handle all that logic there.
Testing: test_c11_atomics atomic_fence -O0, pipes -O0, smoke, precheckin, ocl_features
Reviewed by Brian Sumner, Matthew Arsenalut and Evgeny Mankov
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/opt_level.cpp#27 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/tools/opt/opt.cpp#70 edit
... //depot/stg/opencl/drivers/opencl/library/hsa/hsail/src/misc/atomicWorkItemFence.cl#9 edit
[ROCm/clr commit: b49c9b62b0]
ECR #333753 - HSA HLC: fix for cannot select __hsail_memfence intrinsic under -O0
Fix for bug 10808.
We have missed always inliner pass on runtime only for -O0 build. aoc2 and opt.exe run it, but conformance binary itself does not.
As a result a set of always_inline functions was not inlined and we cannot lower __hsail_memfence call which should accept only immediate arguments,
where we are passing call arguments if it is not inlined.
The fix ensures we are running at either of two inliner always if building for GPU. Under -O0 that is always inliner pass.
In addition three helper functions in the library were marked as always_inline to ensure these are also inlined into atomic_work_item_fence() and thus
supply immediate arguments into __hsail_memfence call. The dialect we are using in clang to build the library does not provide inlining of a "static inline"
functions, so an additional attribute was needed.
Also the fix unifies -O0 inliner invocation code for offline opt.exe and complib.
Additionally fixed the complib bug, under -O0 OptLevel::setup() extis early, so does not change HLC_Disable_Amd_Inline_All variable.
This variable contains the value left after blit kernels compilation. Added corresponding setup code to GPUO0OptLevel::optimize().
In a long run we should call AMDPassManagerBuilder under -O0 as well and handle all that logic there.
Testing: test_c11_atomics atomic_fence -O0, pipes -O0, smoke, precheckin, ocl_features
Reviewed by Brian Sumner, Matthew Arsenalut and Evgeny Mankov
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/opt_level.cpp#27 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/tools/opt/opt.cpp#70 edit
... //depot/stg/opencl/drivers/opencl/library/hsa/hsail/src/misc/atomicWorkItemFence.cl#9 edit
EPR #010002 - Change OpenCL version number from 1816 to 1817.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1563 edit
[ROCm/clr commit: e1a230b826]
EPR #010002 - Change OpenCL version number from 1816 to 1817.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1563 edit
ECR #304775 - Mipmaps support in OpenCL
- Keep mipmaps in staging only
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#233 edit
ECR #304775 - Fix for a memory "leak" in one GEHC sample
- The app builds a dependency graph when the new command waits for the previous one. Our runtime couldn't release wait commands in this situation, because release is done in the command destructor. Release the events from the wait list when the command is done.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.cpp#71 edit
[ROCm/clr commit: e0b2a44b3f]
ECR #304775 - Fix for a memory "leak" in one GEHC sample
- The app builds a dependency graph when the new command waits for the previous one. Our runtime couldn't release wait commands in this situation, because release is done in the command destructor. Release the events from the wait list when the command is done.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.cpp#71 edit
EPR #396242 - Update to HCtoDCmapping: Adding guards for HCtoDCmapping in mapping parameters from LLVM to MVSC. New struct packing rule for doubles in Windows added. Use dc_alignment and hc_alignment to track parameter alignment on device and host compilers respectively.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpumapping.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpumapping.hpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#66 edit
[ROCm/clr commit: 51d7e63f11]
EPR #396242 - Update to HCtoDCmapping: Adding guards for HCtoDCmapping in mapping parameters from LLVM to MVSC. New struct packing rule for doubles in Windows added. Use dc_alignment and hc_alignment to track parameter alignment on device and host compilers respectively.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpumapping.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpumapping.hpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#66 edit
EPR #420344 - Forum [180211]: enqueueNDRangeKernel crashes to execute device binary if it contains printf statements
This is a temporary workaround to avoid app crash when a kernel has pritntf but the program object is built from a binary (i.e., the printf info is not propagated if the program object is built from a binary).
ReviewBoardURL = http://ocltc.amd.com/reviews/r/7676/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprintf.cpp#36 edit
[ROCm/clr commit: a53e6a74a4]
EPR #420344 - Forum [180211]: enqueueNDRangeKernel crashes to execute device binary if it contains printf statements
This is a temporary workaround to avoid app crash when a kernel has pritntf but the program object is built from a binary (i.e., the printf info is not propagated if the program object is built from a binary).
ReviewBoardURL = http://ocltc.amd.com/reviews/r/7676/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprintf.cpp#36 edit
EPR #010002 - Change OpenCL version number from 1815 to 1816.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1562 edit
[ROCm/clr commit: 59acc67b52]
EPR #010002 - Change OpenCL version number from 1815 to 1816.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1562 edit
EPR #010002 - Change OpenCL version number from 1814 to 1815.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1561 edit
[ROCm/clr commit: 6cffb032b1]
EPR #010002 - Change OpenCL version number from 1814 to 1815.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1561 edit
EPR #010002 - Change OpenCL version number from 1813 to 1814.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1560 edit
[ROCm/clr commit: 4b6532c7d0]
EPR #010002 - Change OpenCL version number from 1813 to 1814.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1560 edit
EPR #420584 - [CQE OCL][ISV][QR][SI] FAHBenchmark application is crashing on all SI cards.
Wave limiter causes FAH crash on SI. Disable wave limiter for SI as a workaround.
Opened bug #10817 to track this issue.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#6 edit
[ROCm/clr commit: 79b758537c]
EPR #420584 - [CQE OCL][ISV][QR][SI] FAHBenchmark application is crashing on all SI cards.
Wave limiter causes FAH crash on SI. Disable wave limiter for SI as a workaround.
Opened bug #10817 to track this issue.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#6 edit
EPR #010002 - Change OpenCL version number from 1812 to 1813.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1559 edit
[ROCm/clr commit: 51b3851007]
EPR #010002 - Change OpenCL version number from 1812 to 1813.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1559 edit
EPR #010002 - Change OpenCL version number from 1811 to 1812.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1558 edit
[ROCm/clr commit: 9795320da5]
EPR #010002 - Change OpenCL version number from 1811 to 1812.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1558 edit
EPR #010002 - Change OpenCL version number from 1810 to 1811.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1557 edit
[ROCm/clr commit: 2b7be4d803]