ECR #333753 - Compiler Lib/aoc2/devloader: move devloader functionality into aoc2
[Purpose] To get rid of obsolete runtimenew dependency in compiler
1. Devloader functionality moved into aoc2;
2. Devloader is removed from the tree & make system;
3. Related changes in test_driver.pl;
4. Functions alignedMalloc & alignedFree are moved to libUtils.h;
5. Function aclHsaLoader is renamed to _aclHsaLoader to indicate that it is not a Compiler Lib API's function.
[Testing] make smoke, pre check-in
[Reviewers] Nikolay Haustov, Brian Sumner
Affected files ...
... //depot/stg/opencl/drivers/opencl/Makefile#48 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/amdocl.def.in#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/amdocl.map.in#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/amdoclcl.def.in#8 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/amdoclcl.map.in#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/brig_loader.cpp#15 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/scClientAPI.cpp#20 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#13 edit
... //depot/stg/opencl/drivers/opencl/compiler/loader/devloader/Makefile#8 delete
... //depot/stg/opencl/drivers/opencl/compiler/loader/devloader/build/Makefile#3 delete
... //depot/stg/opencl/drivers/opencl/compiler/loader/devloader/build/Makefile.devloader#11 delete
... //depot/stg/opencl/drivers/opencl/compiler/loader/devloader/devloader.cpp#6 delete
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/aoc2.cpp#61 edit
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/build/Makefile.aoc2#20 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#185 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/bin/test_driver.pl#5 edit
[ROCm/clr commit: 6244599f99]
ECR #333753 - Compiler Lib/aoc2/devloader: move devloader functionality into aoc2
[Purpose] To get rid of obsolete runtimenew dependency in compiler
1. Devloader functionality moved into aoc2;
2. Devloader is removed from the tree & make system;
3. Related changes in test_driver.pl;
4. Functions alignedMalloc & alignedFree are moved to libUtils.h;
5. Function aclHsaLoader is renamed to _aclHsaLoader to indicate that it is not a Compiler Lib API's function.
[Testing] make smoke, pre check-in
[Reviewers] Nikolay Haustov, Brian Sumner
Affected files ...
... //depot/stg/opencl/drivers/opencl/Makefile#48 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/amdocl.def.in#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/amdocl.map.in#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/amdoclcl.def.in#8 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/amdoclcl.map.in#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/brig_loader.cpp#15 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/scClientAPI.cpp#20 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#13 edit
... //depot/stg/opencl/drivers/opencl/compiler/loader/devloader/Makefile#8 delete
... //depot/stg/opencl/drivers/opencl/compiler/loader/devloader/build/Makefile#3 delete
... //depot/stg/opencl/drivers/opencl/compiler/loader/devloader/build/Makefile.devloader#11 delete
... //depot/stg/opencl/drivers/opencl/compiler/loader/devloader/devloader.cpp#6 delete
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/aoc2.cpp#61 edit
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/build/Makefile.aoc2#20 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#185 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/bin/test_driver.pl#5 edit
EPR #409798 - clCompileProgram and clLinkProgram regression for SPIR - set the correct IR type while extracting from binary (aclSPIR, aclLLVMIR) for single SPIR module for CPU.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#62 edit
[ROCm/clr commit: 57a45f9066]
EPR #409798 - clCompileProgram and clLinkProgram regression for SPIR - set the correct IR type while extracting from binary (aclSPIR, aclLLVMIR) for single SPIR module for CPU.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#62 edit
EPR #409840 - [CQE OCL][LNX][QR] OpenCL SPIR Conf test "Compile_and_link" failed in all Asics due to CL#1098110 - Set the IR type to SPIR only for single SPIR modules.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#184 edit
[ROCm/clr commit: f324bf5f80]
EPR #409840 - [CQE OCL][LNX][QR] OpenCL SPIR Conf test "Compile_and_link" failed in all Asics due to CL#1098110 - Set the IR type to SPIR only for single SPIR modules.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#184 edit
EPR #010002 - Change OpenCL version number from 1686 to 1687.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1433 edit
[ROCm/clr commit: 5573f4f56b]
EPR #010002 - Change OpenCL version number from 1686 to 1687.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1433 edit
EPR #409798 - clCompileProgram and clLinkProgram regression for SPIR - set the correct IR type while extracting from binary (aclSPIR, aclLLVMIR)
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#183 edit
[ROCm/clr commit: d604c03916]
EPR #409798 - clCompileProgram and clLinkProgram regression for SPIR - set the correct IR type while extracting from binary (aclSPIR, aclLLVMIR)
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#183 edit
EPR #010002 - Change OpenCL version number from 1685 to 1686.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1432 edit
[ROCm/clr commit: 1b0c2439f2]
EPR #010002 - Change OpenCL version number from 1685 to 1686.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1432 edit
EPR #010002 - Change OpenCL version number from 1684 to 1685.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1431 edit
[ROCm/clr commit: fca0dee30a]
EPR #010002 - Change OpenCL version number from 1684 to 1685.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1431 edit
ECR #304775 - Optimize oclBandwidthTest from nVidia SDK
- Cache pinned memory, since the benchmark sends the same transfer in a single batch. Thus we could avoid pin/unpin
- Swap SDMA engine allocation order. Blit manager allocates a queue on device, thus the first app queue was getting the paging second SDMA.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#112 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.hpp#37 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#339 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#121 edit
[ROCm/clr commit: dc8a3205ce]
ECR #304775 - Optimize oclBandwidthTest from nVidia SDK
- Cache pinned memory, since the benchmark sends the same transfer in a single batch. Thus we could avoid pin/unpin
- Swap SDMA engine allocation order. Blit manager allocates a queue on device, thus the first app queue was getting the paging second SDMA.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#112 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.hpp#37 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#339 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#121 edit
EPR #010002 - Change OpenCL version number from 1683 to 1684.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1430 edit
[ROCm/clr commit: ab2a9ee5fc]
EPR #010002 - Change OpenCL version number from 1683 to 1684.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1430 edit
EPR #407215 - reset host memory pointer of a image view based on original image
ReviewBoard #6301
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#480 edit
EPR #010002 - Change OpenCL version number from 1682 to 1683.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1429 edit
[ROCm/clr commit: 3f1af9d6c4]
EPR #010002 - Change OpenCL version number from 1682 to 1683.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1429 edit
EPR #010002 - Change OpenCL version number from 1681 to 1682.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1428 edit
[ROCm/clr commit: 5658b6a1b4]
EPR #010002 - Change OpenCL version number from 1681 to 1682.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1428 edit
ECR #333755 - Part 2- Update to foundation spec 1.0 20141019:
- hsa_dispatch_packet_t now becomes hsa_kernel_dispatch_packet_t
- all bit mask in a struct are removed and replaced by enums that indicates the bit position and width.
Test: TC precheckin
Review: Hari, Fan, Shucai, German, Yunjun.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#268 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#103 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#338 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.cpp#25 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.hpp#12 edit
[ROCm/clr commit: c7988f7209]
ECR #333755 - Part 2- Update to foundation spec 1.0 20141019:
- hsa_dispatch_packet_t now becomes hsa_kernel_dispatch_packet_t
- all bit mask in a struct are removed and replaced by enums that indicates the bit position and width.
Test: TC precheckin
Review: Hari, Fan, Shucai, German, Yunjun.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#268 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#103 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#338 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.cpp#25 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.hpp#12 edit
EPR #010002 - Change OpenCL version number from 1680 to 1681.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1427 edit
[ROCm/clr commit: 381e955dbf]
EPR #010002 - Change OpenCL version number from 1680 to 1681.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1427 edit
ECR #333753 - hsa_foundation RT/Compiler Lib: recompilation algorithm rework
1. Recompilation algorithm rework in order to avoid superfluous recompilations.
2. Replace aclExtractSymbol/Section with aclQueryInfo for symbol/section detection.
The replaced calls in RT previously performed actual extraction of the sections from the BIF with memory allocation and copying. But what is needed in fact is only to determine whether the section exists in BIF or not to make a further decision on needed recompilations. With aclQueryInfo and new added enums RT_CONTAINS_LLVMIR, RT_CONTAINS_OPTIONS, RT_CONTAINS_BRIG, RT_CONTAINS_HSAIL, RT_CONTAINS_ISA Runtime starts querying not the whole sections but the bool flag which indicates the existence of the corresponding section(s) without any memory allocations. Every compilation on RT starting from LLVMIR is affected by the change including compilation of blit kernels.
3. Fix in Compiler Lib for correct ACL_INVALID_ARG detection (for wrong/unsupported compilations).
[Side Effects] performance improvement, memory consumption reduction
[ToDo] Do not finalize program if ISA is already provided in BIF and options are unchanged.
[Testing] pre check-in, ocltst complib, ocl conformance 2.0 compiler & api
[Reviewers] German Andryeyev, Brian Sumner
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#56 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprogram.cpp#8 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprogram.hpp#3 edit
[ROCm/clr commit: 9c4a22118e]
ECR #333753 - hsa_foundation RT/Compiler Lib: recompilation algorithm rework
1. Recompilation algorithm rework in order to avoid superfluous recompilations.
2. Replace aclExtractSymbol/Section with aclQueryInfo for symbol/section detection.
The replaced calls in RT previously performed actual extraction of the sections from the BIF with memory allocation and copying. But what is needed in fact is only to determine whether the section exists in BIF or not to make a further decision on needed recompilations. With aclQueryInfo and new added enums RT_CONTAINS_LLVMIR, RT_CONTAINS_OPTIONS, RT_CONTAINS_BRIG, RT_CONTAINS_HSAIL, RT_CONTAINS_ISA Runtime starts querying not the whole sections but the bool flag which indicates the existence of the corresponding section(s) without any memory allocations. Every compilation on RT starting from LLVMIR is affected by the change including compilation of blit kernels.
3. Fix in Compiler Lib for correct ACL_INVALID_ARG detection (for wrong/unsupported compilations).
[Side Effects] performance improvement, memory consumption reduction
[ToDo] Do not finalize program if ISA is already provided in BIF and options are unchanged.
[Testing] pre check-in, ocltst complib, ocl conformance 2.0 compiler & api
[Reviewers] German Andryeyev, Brian Sumner
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#56 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprogram.cpp#8 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprogram.hpp#3 edit
EPR #010002 - Change OpenCL version number from 1679 to 1680.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1426 edit
[ROCm/clr commit: f858ed6336]
EPR #010002 - Change OpenCL version number from 1679 to 1680.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1426 edit
EPR #408459 - changed the implementation of svmAlloc, so that the first device can create amd::Memory object, and the rest of devices only added gpu memory to it. This is part of changes for mgpu support for svmalloc
code review:
http://ocltc.amd.com/reviews/r/6245/
precheckin testing results:
http://ocltc.amd.com:8111/viewModification.html?modId=43136&personal=true&buildTypeId=&tab=vcsModificationTests
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.hpp#88 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#233 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#479 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#133 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsadevice.cpp#87 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsadevice.hpp#44 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.cpp#19 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.hpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/context.cpp#34 edit
[ROCm/clr commit: efbedb25be]
EPR #408459 - changed the implementation of svmAlloc, so that the first device can create amd::Memory object, and the rest of devices only added gpu memory to it. This is part of changes for mgpu support for svmalloc
code review:
http://ocltc.amd.com/reviews/r/6245/
precheckin testing results:
http://ocltc.amd.com:8111/viewModification.html?modId=43136&personal=true&buildTypeId=&tab=vcsModificationTests
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.hpp#88 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#233 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#479 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#133 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsadevice.cpp#87 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsadevice.hpp#44 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.cpp#19 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.hpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/context.cpp#34 edit
EPR #408185 - Use pinned memory if directaccess is true and remoteAlloc is used.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#478 edit
[ROCm/clr commit: c24b46e708]
EPR #408185 - Use pinned memory if directaccess is true and remoteAlloc is used.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#478 edit