SWDEV-2 - Change OpenCL version number from 1914 to 1915.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1661 edit
[ROCm/clr commit: 108aa6e8ee]
SWDEV-2 - Change OpenCL version number from 1914 to 1915.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1661 edit
Kernel ioctl AMDKFD_IOC_GET_PROCESS_APERTURES returns process apertures
only for GPU nodes. The current implementation assumed that this list of
GPU nodes returned by the ioctl has one to one correpondence to sysfs
topology nodes. This fails when non-GPU nodes exist in topology as in
case of Intel + gfx802
Fix this by using gpu_id (./sys/.../kfd/topology/nodes/1/gpu_id) to map
information obtained from kernel ioctl call.
Change-Id: I4ab8ae5354f12cf0b6609fc4b24182b82eb3677f
Kernel ioctl AMDKFD_IOC_GET_PROCESS_APERTURES returns process apertures
only for GPU nodes. The current implementation assumed that this list of
GPU nodes returned by the ioctl has one to one correpondence to sysfs
topology nodes. This fails when non-GPU nodes exist in topology as in
case of Intel + gfx802
Fix this by using gpu_id (./sys/.../kfd/topology/nodes/1/gpu_id) to map
information obtained from kernel ioctl call.
Change-Id: I4ab8ae5354f12cf0b6609fc4b24182b82eb3677f
[ROCm/ROCR-Runtime commit: 5cc56a2647]
SWDEV-2 - Change OpenCL version number from 1913 to 1914.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1660 edit
[ROCm/clr commit: 4996170c79]
SWDEV-2 - Change OpenCL version number from 1913 to 1914.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1660 edit
SWDEV-2 - Change OpenCL version number from 1912 to 1913.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1659 edit
[ROCm/clr commit: 9e6ad02828]
SWDEV-2 - Change OpenCL version number from 1912 to 1913.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1659 edit
Fix TONGA_PAGE_SIZE value and move it to libhsakmt.h for usiing it
consistently in all places that require the same alignment for the
same reason. Create a generic alignment helper macro to replace some
incorrect hand-coded size alignments.
Move virtual address and size alignments down into aperture management
functions. Alignment is a per-aperture property that is set during
fmm_init_process_apertures. Doing the alignment there ensures that
all allocations in the same aperture are aligned the same way. Finding
objects by size and address can take the alignment into account.
Also align the size of physical allocations to back aligned virtual
address allocations. CPU mappings do not need to be aligned.
Map anonymous pages over released memory mappings to allow the
backing pages to be released, while keeping the address space
reserved.
Add alignment parameter to free_exec_aligned_memory_gpu to match the
interface of allocate_exec_aligned_memory_cpu. It doesn't make sense
to allow an alignment parameter in one but assume a specific
alignment in the other.
Change-Id: I74226ca6938f4948f643e5aee1d474720cd89e78
Fix TONGA_PAGE_SIZE value and move it to libhsakmt.h for usiing it
consistently in all places that require the same alignment for the
same reason. Create a generic alignment helper macro to replace some
incorrect hand-coded size alignments.
Move virtual address and size alignments down into aperture management
functions. Alignment is a per-aperture property that is set during
fmm_init_process_apertures. Doing the alignment there ensures that
all allocations in the same aperture are aligned the same way. Finding
objects by size and address can take the alignment into account.
Also align the size of physical allocations to back aligned virtual
address allocations. CPU mappings do not need to be aligned.
Map anonymous pages over released memory mappings to allow the
backing pages to be released, while keeping the address space
reserved.
Add alignment parameter to free_exec_aligned_memory_gpu to match the
interface of allocate_exec_aligned_memory_cpu. It doesn't make sense
to allow an alignment parameter in one but assume a specific
alignment in the other.
Change-Id: I74226ca6938f4948f643e5aee1d474720cd89e78
[ROCm/ROCR-Runtime commit: 6a5ca4bc5a]
SWDEV-2 - Change OpenCL version number from 1911 to 1912.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1658 edit
[ROCm/clr commit: 042540f231]
SWDEV-2 - Change OpenCL version number from 1911 to 1912.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1658 edit
SWDEV-2 - Change OpenCL version number from 1910 to 1911.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1657 edit
[ROCm/clr commit: bb8e739493]
SWDEV-2 - Change OpenCL version number from 1910 to 1911.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1657 edit
SWDEV-2 - Change OpenCL version number from 1909 to 1910.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1656 edit
[ROCm/clr commit: 9cc03f252a]
SWDEV-2 - Change OpenCL version number from 1909 to 1910.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1656 edit
SWDEV-2 - Change OpenCL version number from 1908 to 1909.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1655 edit
[ROCm/clr commit: 63583a8877]
SWDEV-2 - Change OpenCL version number from 1908 to 1909.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1655 edit
Create new device_info and add device ID. Add helper macros to
identify chip families (VI, discrete). For now gfx803 behaves like
gfx802. But if necessary we can have gfx802 or gfx803-specific
code paths or workarounds in the future.
Change-Id: I61b4ffef7dd7796bb34cb01fbff0089bd49507bb
Create new device_info and add device ID. Add helper macros to
identify chip families (VI, discrete). For now gfx803 behaves like
gfx802. But if necessary we can have gfx802 or gfx803-specific
code paths or workarounds in the future.
Change-Id: I61b4ffef7dd7796bb34cb01fbff0089bd49507bb
[ROCm/ROCR-Runtime commit: 0fc0a5b526]
SWDEV-2 - Change OpenCL version number from 1907 to 1908.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1654 edit
[ROCm/clr commit: 5205fd633d]
SWDEV-2 - Change OpenCL version number from 1907 to 1908.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1654 edit
hsa_gfxip_table lists only (supported) GPUs. So assert fail only when a
non-supported GPU is detected.
Change-Id: I6207dc7cd55860c8b3348b6a4ca6102131975722
hsa_gfxip_table lists only (supported) GPUs. So assert fail only when a
non-supported GPU is detected.
Change-Id: I6207dc7cd55860c8b3348b6a4ca6102131975722
[ROCm/ROCR-Runtime commit: 758824db17]
SWDEV-77522 - fix for erroneous CL_DEVICE_VERSION reporting by RT for HSAIL.
[Synopsis]
On a CI+ Device (KV, for example) if GPU_HSAIL_ENABLE=1 (which forcing HSAIL) CL_DEVICE_VERSION reported by RT is 1.2; if GPU_HSAIL_ENABLE=0 (default for now), then CL_DEVICE_VERSION = 2.0. It looks like this behaviour exists since then HSAIL was based on EDG, which supports only OpenCL 1.2. Now when HSAIL is based on Clang and supports OpenCL 2.0, there is no need in lowering CL Device Version at all for all CI+ devices nomatter the default path is (HSAIL or AMDIL).
This bug is a stopper for enabling HSAIL by default for OpenCL 1.2. Actually the problem occurs with OpenCL 2.0 programs when forcing them on HSAIL but with -cl-std=CL2.0 option, since they couldn't be executed on 1.2 device.
Testing: Pre check-in.
Reviewer: German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#330 edit
[ROCm/clr commit: 3e0185a205]
SWDEV-77522 - fix for erroneous CL_DEVICE_VERSION reporting by RT for HSAIL.
[Synopsis]
On a CI+ Device (KV, for example) if GPU_HSAIL_ENABLE=1 (which forcing HSAIL) CL_DEVICE_VERSION reported by RT is 1.2; if GPU_HSAIL_ENABLE=0 (default for now), then CL_DEVICE_VERSION = 2.0. It looks like this behaviour exists since then HSAIL was based on EDG, which supports only OpenCL 1.2. Now when HSAIL is based on Clang and supports OpenCL 2.0, there is no need in lowering CL Device Version at all for all CI+ devices nomatter the default path is (HSAIL or AMDIL).
This bug is a stopper for enabling HSAIL by default for OpenCL 1.2. Actually the problem occurs with OpenCL 2.0 programs when forcing them on HSAIL but with -cl-std=CL2.0 option, since they couldn't be executed on 1.2 device.
Testing: Pre check-in.
Reviewer: German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#330 edit
SWDEV-2 - Change OpenCL version number from 1906 to 1907.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1653 edit
[ROCm/clr commit: 74b1183f97]
SWDEV-2 - Change OpenCL version number from 1906 to 1907.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1653 edit
SWDEV-59579 - using existing function to simplify the code.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#301 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#385 edit
SWDEV-2 - Change OpenCL version number from 1905 to 1906.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1652 edit
[ROCm/clr commit: 66a50cca4a]
SWDEV-2 - Change OpenCL version number from 1905 to 1906.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1652 edit
SWDEV-78052 - [CQE-OCL][DTB][QR][LNX]RQ conf test "Multiple device context" fails in few asics due to CL#1196902
- Restore synchronization on the DMA engine. OCL doesn't require a sync, because resource isn't busy on the CAL device. However without sync there are less CBs available. Conformanace multidevice test will create around 60 queues, instead of 70
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#147 edit
[ROCm/clr commit: 86bc25cad2]
SWDEV-78052 - [CQE-OCL][DTB][QR][LNX]RQ conf test "Multiple device context" fails in few asics due to CL#1196902
- Restore synchronization on the DMA engine. OCL doesn't require a sync, because resource isn't busy on the CAL device. However without sync there are less CBs available. Conformanace multidevice test will create around 60 queues, instead of 70
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#147 edit
SWDEV-78024 - SYCL - Issue with printf when printing a string without format specifier - removed the condition to expand printf only if it has more than one arguemnt.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Target/AMDIL/AMDILPrintfConvert.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/test/CodeGen/AMDIL/printf_without_format_specifier.ll#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprintf.cpp#39 edit
[ROCm/clr commit: cb963bf9eb]
SWDEV-78024 - SYCL - Issue with printf when printing a string without format specifier - removed the condition to expand printf only if it has more than one arguemnt.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Target/AMDIL/AMDILPrintfConvert.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/test/CodeGen/AMDIL/printf_without_format_specifier.ll#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprintf.cpp#39 edit