SWDEV-79445 - OCL generic changes and code clean-up
- Fix test_basic progvar_prog_scope_uninit with LC. Detect global variables usage in the program and add the code object allocation to the memory dependency tracking
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#70 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#27 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#123 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Don't call backing store destruction if segment wasn't created at all. It could occur during library link.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#26 edit
SWDEV-145570 - [HIP] - Enable largest possible allocation on HIP
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15803/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#56 edit
SWDEV-164509 - [Dassault][Catia] Adding 8-bits internal format support for sL8 format in OpenGL
For glTextureView support, GL_LUMINANCE8 internal format needs to return 8_BITS view compatibility class.
Add 3 new surface formats, CM_SURF_FMT_L8_SRGB, CM_SURF_FMT_R8_SRGB and CM_SURF_FMT_RG8_SRGB. For the moment, only L8_SRGB is supported by GLL.
Keep L8_X24_SRGB format because of side effects, especially outside the GL driver (CAL)
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15757/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDeviceGL.cpp#32 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Make a fallback to system memory without device access if USWC allocation failed
- Destroy the backing store after the load of all kernels
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#65 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#69 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#24 edit
SWDEV-79445 - Remove use of irif.
This is now directly linked in the library build and will be
removed as a standalone library.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#67 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#83 edit
SWDEV-126897 - Use the new __amd_scheduler_rocm.
It's only a name change.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocschedcl.cpp#2 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Use SDMA staging transfers for data upload if pinning fails. Fixes HIP failure in a test that uses the code segment data for uppload.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#26 edit
SWDEV-160377 - [OCL][ROCM] Add OpenCL Runtime Support for GFX10 in ROCm - disable XNACK for Navi10 and Ariel
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdefs.hpp#19 edit
SWDEV-159881 - [OCL][ROCm] Add SVM coarse-grain buffer support with device memory
1. Use the system memory pool for coarse grain allocations on APUs
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15671/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmemory.cpp#39 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#64 edit
SWDEV-161959 - [ROCm QA][RAVEN] QCDGPU-S test is having ERROR -61: (clCreateKernel failed) on RAVEN
SWDEV-161983 - [ROCm QA][RAVEN] Cachebench test is failing with CL_INVALID_BUFFER_SIZE issue
SWDEV-161978 - [ROCm QA][RAVEN] PCIeBW is failing on -with error : 61, OpenCL error creating buffer !
SWDEV-161962 - [ROCm QA][RAVEN] rodinia->nw test has ERROR: clCreateBuffer input_item_set (size:67125249) => -61
- We make the global memory size at least 1G byte. This is to avoid issue/regression if sysconf API misbehaves.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15660/
Tests:
1. ocltst -m oclruntime.so -A oclruntime.exclude - PASS except SVM test (non regression)
2. TeamCity presubmission test (OpenCL) - PASS
3. Run test qcdgpu-s.sh : PASS
4. Run test cachebench-ocl : PASS
5. Run test PCIeBandwidth -c 0 -g 0 : PASS
6. Run test Rodinia/opencl/nw/run : PASS
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#98 edit
SWDEV-161959 - [ROCm QA][RAVEN] QCDGPU-S test is having ERROR -61: (clCreateKernel failed) on RAVEN
SWDEV-161983 - [ROCm QA][RAVEN] Cachebench test is failing with CL_INVALID_BUFFER_SIZE issue
SWDEV-161978 - [ROCm QA][RAVEN] PCIeBW is failing on -with error : 61, OpenCL error creating buffer !
SWDEV-161962 - [ROCm QA][RAVEN] rodinia->nw test has ERROR: clCreateBuffer input_item_set (size:67125249) => -61
- Adjust Global memory size as half of the system physical memory size in APU for Rocm
- Similar to current DGPU calculation, environment GPU_SINGLE_ALLOC_PERCENT can be used to adjust max memory allocation size.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15659/
Tests:
1. ocltst -m oclruntime.so -A oclruntime.exclude - PASS except SVM test (non regression)
2. TeamCity presubmission test (OpenCL) - PASS
http://ocltc.amd.com:8111/viewModification.html?modId=106628&personal=true&init=1&tab=vcsModificationBuilds
3. Run test qcdgpu-s.sh : PASS
4. Run test cachebench-ocl : PASS
5. Run test PCIeBandwidth -c 0 -g 0 : PASS
6. Run test Rodinia/opencl/nw/run : PASS
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#97 edit
SWDEV-160930 - Back out CL1594730 as it is failing OCL/LC and HIP tests
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#59 edit
SWDEV-160930 - SPECworkstation 3 benchmark GPU Compute tests fail
Root cause: Caffe compute benchmark fails within SPECWorkstation app because one of the Caffe's OCL kernel tries to launch a kernel with the local_work_size of 1024 causing the clEnqueueNDRangeKernel API to return CL_INVALID_WORK_GROUP_SIZE (i.e., the maximum allowable number is 256)
Proposed workaround: In order to run a kernel with a local_work_size of 1024, we check the number of used VGPRs in the Kernel and if the Kernel is not using all the available VGPRs we let the Kernel to use 1024 as the local_work_size.
ReviewURLBoard = http://ocltc.amd.com/reviews/r/15638/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#58 edit
SWDEV-145570 - [HIP] Output Kernel name and mem arguments passed with LOG_LEVEL=3 for PAL and ROCm backends
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15617/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#120 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#62 edit
SWDEV-160552 - [CQE OCL][DTB][BD][Perf][QR][G] Soft hang is observed with ProRender after few subtests due to base driver.
- Reset the pointer to nullptr if PAL platform was destroyed
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#102 edit
SWDEV-160552 - [CQE OCL][DTB][BD][Perf][QR][G] Soft hang is observed with ProRender after few subtests due to base driver.
- Delete PAL platform object if runtime didn't find any supported device.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#101 edit
SWDEV-145570 - [HIP] Increase the default size for SVM to 16GB for HIP
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15578/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#100 edit
SWDEV-155434 - Add SQTT instrumentation tokens for OpenCL dispatches for RGP support
- Switch to the workgroup size report for the dispatch info.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#118 edit
SWDEV-132899 - [OCL][GFX10] removing gfx1001 (target for Navi10 Lite if xnack is enabled)
starting from gfx10, we will use the same target (e.g., gfx1000) no matter if xnack is enabled/disbaled and we pass "-xnack" option to Finalizer if xnack is enabled on the target
ReviewURLBoard = http://ocltc.amd.com/reviews/r/15492/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldefs.hpp#37 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#99 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#64 edit
SWDEV-79445 - OCL generic changes and code clean-up
1. In SvmCopyMemoryCommand handle the case when both src and dst pointer don't belong to the SVM space.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15481/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#424 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#117 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Reset memory dependency if runtime invalidated L1 for the profiling logic workaround. Profiling can be enabled for wave limiter, which could cause L1 invalidation twice.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#116 edit
SWDEV-155860 - [OCL][LC] 62 Failures running on OCL/LC Windows drivers
- Conformance test basic->vload_private was failing due to alignment assert check on akc->workitem_private_segment_byte_size.
- Determined needed to add alignment, so added alignment into the header file, and removed assert check (as alignment was done afterwards).
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15451/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#57 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#18 edit