EPR #403493 - Block index error for CI and VI, OCL code change
Problem description: The OCL implementation requires HSA to used different block index values for CI and VI. However, the same index value is used for the same counter block in both CI and VI, which in turn caused a segmentation fault.
Root cause: HSA implementation does not know this situation before hand.
Solution: Fix to use different counter block index in CI from that in VI
Functional area: HSA perf counter implementation...
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsacounters.cpp#4 edit
ECR #333756 - HSA Finalizer: added runtime option to force buffer instructions for global access
This can be used under ORCA RT.
Testing: smoke, smoke_clang, precheckin, clbas dgemm
Reviewed by Nikolay Haustov
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/SI/scStateSI.cpp#24 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#112 edit
[ROCm/clr commit: d35be99f01]
ECR #333756 - HSA Finalizer: added runtime option to force buffer instructions for global access
This can be used under ORCA RT.
Testing: smoke, smoke_clang, precheckin, clbas dgemm
Reviewed by Nikolay Haustov
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/SI/scStateSI.cpp#24 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#112 edit
EPR #010002 - Change OpenCL version number from 1630 to 1631.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1377 edit
[ROCm/clr commit: 612ed6149b]
EPR #010002 - Change OpenCL version number from 1630 to 1631.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1377 edit
EPR #397491 - only using OpenCL 1.2 onr multiple GPUs on mainline by default.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#460 edit
EPR #010002 - Change OpenCL version number from 1629 to 1630.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1376 edit
[ROCm/clr commit: 8751996be9]
EPR #010002 - Change OpenCL version number from 1629 to 1630.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1376 edit
EPR #400016 - Keep the path of temp folder if the app is WIndows app
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/os/os_win32.cpp#39 edit
[ROCm/clr commit: 8f5b43ffd1]
EPR #400016 - Keep the path of temp folder if the app is WIndows app
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/os/os_win32.cpp#39 edit
EPR #010002 - Change OpenCL version number from 1628 to 1629.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1375 edit
[ROCm/clr commit: c777c3e198]
EPR #010002 - Change OpenCL version number from 1628 to 1629.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1375 edit
EPR #405458 - clinfo segfaults when ENABLE_CAL_SHUTDOWN=1.
For the global variables of:
std::map <std::string, int> OptionNameMap[2];
std::map <std::string, int> NoneSeparatorOptionMap[2];
std::map <std::string, int> FOptionMap;
std::map <std::string, int> MOptionMap;
We don't need to call the clear() method explicitly, since the std::map destructor will clean things up (valgrind mem-check doesn't report any leak related to these global variables after this change). Besides, on Linux amd::option::teardown() is called after the global variables' destructors are called, and it will cause segfault.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#29 edit
[ROCm/clr commit: b9e695d254]
EPR #405458 - clinfo segfaults when ENABLE_CAL_SHUTDOWN=1.
For the global variables of:
std::map <std::string, int> OptionNameMap[2];
std::map <std::string, int> NoneSeparatorOptionMap[2];
std::map <std::string, int> FOptionMap;
std::map <std::string, int> MOptionMap;
We don't need to call the clear() method explicitly, since the std::map destructor will clean things up (valgrind mem-check doesn't report any leak related to these global variables after this change). Besides, on Linux amd::option::teardown() is called after the global variables' destructors are called, and it will cause segfault.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#29 edit
EPR #010002 - Change OpenCL version number from 1627 to 1628.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1374 edit
[ROCm/clr commit: 97c9f5611c]
EPR #010002 - Change OpenCL version number from 1627 to 1628.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1374 edit
EPR #010002 - Change OpenCL version number from 1626 to 1627.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1373 edit
[ROCm/clr commit: 126e8c33e1]
EPR #010002 - Change OpenCL version number from 1626 to 1627.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1373 edit
EPR #010002 - Change OpenCL version number from 1625 to 1626.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1372 edit
[ROCm/clr commit: 7bd8bf4f9c]
EPR #010002 - Change OpenCL version number from 1625 to 1626.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1372 edit
EPR #398128 - Windows 2015, WDDM2.0, New Residency Model
- Modify MarkUsedInCmdBuf in IOL to make sure that MakeResident is called for OpenCL (Part 2)
ReviewBoardURL = http://ocltc.amd.com/reviews/r/5684/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#99 edit
[ROCm/clr commit: ef1f9267eb]
EPR #398128 - Windows 2015, WDDM2.0, New Residency Model
- Modify MarkUsedInCmdBuf in IOL to make sure that MakeResident is called for OpenCL (Part 2)
ReviewBoardURL = http://ocltc.amd.com/reviews/r/5684/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#99 edit
ECR #304775 - Add batching to the device enqueue for possible asynchronous execution
- Increase the max device queue size to 512KB. That will allow to pass conformance tests that enqueue more jobs than the queue size.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#459 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#13 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#28 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#333 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#65 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#39 edit
[ROCm/clr commit: 2738b30287]
ECR #304775 - Add batching to the device enqueue for possible asynchronous execution
- Increase the max device queue size to 512KB. That will allow to pass conformance tests that enqueue more jobs than the queue size.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#459 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#13 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#28 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#333 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#65 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#39 edit
EPR #010002 - Change OpenCL version number from 1624 to 1625.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1371 edit
[ROCm/clr commit: b2cfd32629]
EPR #010002 - Change OpenCL version number from 1624 to 1625.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1371 edit
EPR #010002 - Change OpenCL version number from 1623 to 1624.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1370 edit
[ROCm/clr commit: 467ec09d69]
EPR #010002 - Change OpenCL version number from 1623 to 1624.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1370 edit
EPR #010002 - Change OpenCL version number from 1622 to 1623.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1369 edit
[ROCm/clr commit: 6f7a3b20f8]
EPR #010002 - Change OpenCL version number from 1622 to 1623.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1369 edit
EPR #010002 - Change OpenCL version number from 1621 to 1622.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1368 edit
[ROCm/clr commit: 17edecc562]
EPR #010002 - Change OpenCL version number from 1621 to 1622.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1368 edit
ECR #333753 - unify online/offline linkers
The code for "FixUpModule" from the online linker is now moved to
a common file under llvm/lib. This replaces the copy present in
llvm/tools/llvm-link, thus unifying the two linkers.
Reviewed by Stanislav Mekhanoshin, Yaxun Liu (Sam)
Passes smoke, smoke_clang and precheckin.
Also passes OpenCL 2.0 conformance tests.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#109 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/AMDFixupKernelModule.h#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/AMDUtils.h#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Linker/AMDFixupKernelModule.cpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/Utils/AMDUtils.cpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/tools/llvm-link/AMDFixUpModule.cpp#12 delete
... //depot/stg/opencl/drivers/opencl/compiler/llvm/tools/llvm-link/llvm-link.cpp#48 edit
[ROCm/clr commit: 7f55691ebc]
ECR #333753 - unify online/offline linkers
The code for "FixUpModule" from the online linker is now moved to
a common file under llvm/lib. This replaces the copy present in
llvm/tools/llvm-link, thus unifying the two linkers.
Reviewed by Stanislav Mekhanoshin, Yaxun Liu (Sam)
Passes smoke, smoke_clang and precheckin.
Also passes OpenCL 2.0 conformance tests.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#109 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/AMDFixupKernelModule.h#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/AMDUtils.h#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Linker/AMDFixupKernelModule.cpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/Utils/AMDUtils.cpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/tools/llvm-link/AMDFixUpModule.cpp#12 delete
... //depot/stg/opencl/drivers/opencl/compiler/llvm/tools/llvm-link/llvm-link.cpp#48 edit