Graf commitů

165 Commity

Autor SHA1 Zpráva Datum
German Andryeyev 9a9d10a10b SWDEV-296301 - Avoid deadlocks in the hostcall path
Change the scope of hostcall buffer access lock during destruction.
Make sure wait() returns the signal value after timeout. That
matches ROCr behaviour for HSA signal wait.

Change-Id: I3df34207e0c2e21972ec8052777e5742bda1dca0
2021-10-04 15:00:44 -04:00
German Andryeyev 51556711dc SWDEV-292408 - Don't force high clock for HIP
Change-Id: I501f4e5272124025068b1d3cb637ee8061b06467
2021-09-20 18:44:11 -04:00
Jason Tang 73967c3b17 SWDEV-1 - Some 'delete' clean up
Change-Id: I02564f0f0e349375bde1471e9f82df268703367b
2021-09-09 12:12:40 -04:00
Saleel Kudchadker 21ba34d0fe SWDEV-297448 - Add 64bit and 16bit write support
For the fillBuffer shader, if there are two 32bit writes to a MMIO
register, it can get dropped. It has to be a single 64bit write.
Add optimization to fillBuffer to write 64bit and 16bit writes.

Change-Id: I3aa78e027898f8ae01e9c8f09004615673720c2b
2021-09-08 12:30:04 -04:00
jujiang f63115cec6 SWDEV-286322 - clean up trailing white space
Change-Id: I01f3a559cbd1835aa2fdad7abe2bd685d90fc6a8
2021-09-01 11:45:47 -04:00
Jason Tang 1d0364e590 SWDEV-294768 - Fix PCMark10 performance drop
PCMark10 counts the time spent in clCreateKernel as part of execution
time, so as workaround for the PAL path, move code object loading
back to clBuildProgram.

Change-Id: I3b9cf1879ece08ab59f447ec165b0525bc8593a4
2021-09-01 09:25:40 -04:00
Saleel Kudchadker 24442be35a SWDEV-297448 - Refactor streamOperations code
Reuse FillMemory function, that should fix the cache syncs from the host

Change-Id: Ieebec5fc3ed3a322b88d5187c8dca4805ec6f84b
2021-08-25 12:33:02 -04:00
Todd tiantuo Li ec411737aa SWDEV-1 - Rembrandt support
Change-Id: Id5c37e130fb2c0bdc01b84997c85324121ec4df9
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 2f00782829 SWDEV-292408 - [PAL] Always force high clocks for HIP
Redshift sees around a 3x performance uplift this change.

Turning this on for OpenCL might cause unwanted behaviour, due to
apps like RSX running in the background all the time.

Change-Id: I9f32d5f2e05b6697a8aaa9ddf74474b5531bb7e1
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 4171e9e0a3 SWDEV-283981 - [PAL] Support hostcall SQ interrupt
Note that this requires base driver CL#2340320+ to have SQ interrupt
functionality enabled by default.

Change-Id: I04b936819ebe1eb7cf5de1db4fafe83af3a1b5f6
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko ffbf368f4c SWDEV-293519 - [PAL] Limit mgpu SVM logic only to mgpu cases
Below logic allocates the host buffer whenever a subbuffer is created
from a SVM allocation. This is only needed for multi-device contexts.

HIP does not support multi-device contexts, hence this logic just ends
up performing unnecessary system allocations.

Change-Id: I8eae635f7c5289c52ef73434218c1658b788a456
2021-08-22 23:56:08 -07:00
Satyanvesh Dittakavi 924695fb5e SWDEV-292021 - Fix Device Reset
- Device Reset should not purge the allocations that were not by the user
- Addresses QMCPack Test abort due to the removal of all the mem objects during reset

Change-Id: I7b7a123e72bcc985d7e51d17c2382bc618d3e041
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 6566361144 SWDEV-283981 - Revert "SWDEV-283981 - [PAL] Support hostcall SQ interrupt"
This reverts commit 9df70fa03ce60d47247eb0e8f278e1f8dbd33d6e.

Reason for revert: need SWDEV-294782 to be resolved before we can enable SQ interrupt support.

Change-Id: I328170b60f1a3aab28c0b1fd3191297a1a51ecb7
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 0a59c9c4c3 SWDEV-291787 - Fix Windows build
Change-Id: I1b97a1100e4c498f53aaad7157f21d0c5f8a130d
2021-08-22 23:56:08 -07:00
jujiang 84b971c7c1 SWDEV-291787 - Fix persistent direct map
Change-Id: Ic1507cc6d63e9ed574e8e169bce7bf56f4792c19
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 4589343c3e SWDEV-283981 - [PAL] Support hostcall SQ interrupt
Change-Id: Ic6f0ad384404712d5eeb1eaf600e231a8f8631f7
2021-08-22 23:56:08 -07:00
agunashe d96481fb36 SWDEV-293742 - Update copyright end year VDI repo
Change-Id: I69d2fea4a7a43adf96ccea794270e4af991c5261
2021-08-22 23:56:07 -07:00
pvellien c11c02f2c7 SWDEV-285333 - Introduce Address sanitizer hostcall service
Change-Id: Id29aacd09d0a9934a027446c57c7095804e1a454
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko f6c00765e7 SWDEV-274815 - [PAL] Navi24 support
Change-Id: I934797bda471618c3f69484a1552b37345ae638b
2021-08-22 23:56:07 -07:00
Jason Tang b793811ef6 SWDEV-287088 - Workaround VM page fault on Windows
Some chunk memory are not guaranteed to be resident during
initial allocation. Use CPDMA to force resident.

Change-Id: If1a2da3e75f136caaa4c7a29d8f604d6af2639fa
2021-08-22 23:56:07 -07:00
Alex Xie b5b1ccc990 SWDEV-290122 - OpenGL tests fails with CL_MEM_ALLOCATION_ERROR
Change-Id: I34d7063f05dd46c32cf59a88c455691ba5099679
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko 0b1481d4f1 SWDEV-289548 - [PAL] Revive Raven 2 support
Revert back to using the Raven (gfx902) target ID for Raven 2 (gfx909).
This is due to the HSAIL compiler not supporting gfx909.

In theory there should be no issue with running Raven isa on Raven 2.

Change-Id: I425edebc99075799eda5522fad231b8fb3184873
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko 7f0c18457d SWDEV-273235 - Initial support for Windows CMake
This change refactors the current ROCclr cmake build to accomodate a
more modular approach. This allows easier support for multiple compiler
and/or multiple runtime backends.

Currently supported compilers:
    HSAIL - enabled by ROCCLR_ENABLE_HSAIL (defaults to OFF)
    LC    - enabled by ROCCLR_ENABLE_LC    (defaults to ON)

Currently supported runtimes:
    HSA - enabled by ROCCLR_ENABLE_HSA (defaults to ON)
    PAL - enabled by ROCCLR_ENABLE_PAL (defaults to OFF)

Any configuration is supported as long as at least one compiler and one
runtime is enabled.

Since ROCclr clients can configure it differently, one cannot reuse the
same ROCclr build artifacts between different clients. To assure this,
this patch assumes that ROCclr will be built as part of the clients
project.

Change-Id: Id4a5c43634296802b8ae87d1ad5984968391ccaf
2021-08-22 23:56:00 -07:00
Jason Tang 8cac880779 SWDEV-277566 - HSAIL: put back the original setKernels logic for now
In HSAIL path, kernel akc info is obtained after code object
loading, and kernel signature creation requires the akc info
when one of the kernel argument is a reference object.

Change-Id: I9cdb1dbf2c72f4620b0b6e46a88402a2473c3e97
2021-05-20 11:16:48 -04:00
Jason Tang 8aa89274c8 SWDEV-277566 - Fix LinuxPro build
Change-Id: I3e15ae55591d669a87ce0d69fecf9fa32b85b0a6
2021-05-17 15:18:40 -04:00
Jason Tang e1b226588f SWDEV-277566 - Fix HIP/PAL build
Change-Id: Ib460ac70423ebc3aceab22829cd2606d0db20f59
2021-05-15 12:24:18 -04:00
Saleel Kudchadker e5e635f9bf SWDEV-283726 - Workaround for rocprof hang
This addresses the rocprof hang seen with direct dispatch. The
workaround queues the handler back if any of the signal value in the batch
is not decremented. To rememmber the last position in the list, we save
the parsed command in the current timestamp struct.

Change-Id: I02959e463cfe3cee83c54808ffd6e6f48f43b4e8
2021-05-13 11:58:03 -04:00
Jason Tang 211ba25b4e SWDEV-277566 - Separate code object loading from building
Change-Id: I87b8178f55e8ef23762dfe11fab71665ba680f00
2021-05-13 08:41:35 -04:00
German Andryeyev 1b82ff6678 SWDEV-286150 - Fix compilation with PAL_GPUOPEN_OCL disabled
Change-Id: If6d77ecce7395023db4aa9cb1ff494bc64cb1f17
2021-05-12 22:48:45 -04:00
Vladislav Sytchenko bbe6246f19 SWDEV-273235 - Windows PAL/LC fixes
HIP should be built with HSAIL support disabled.

Currently HSAILProgram::info() and VirtualGPU::buildKernelInfo() expose
ACL interfaces directly. This should not be allowed.

Change-Id: Iae15d4f19be16806826f2f6cb600752c11f97fc1
2021-05-11 17:41:09 -04:00
Brian Sumner 6d09a83b2d SWDEV-285332 - move common context into parent
Change-Id: I99ceb62ad948e1fa9d1dcaa5ede98626cc95bea7
2021-05-09 09:18:39 -07:00
Vladislav Sytchenko ece83262de SWDEV-273235 - Minor build fixes for Windows CMake
Change-Id: Ia0631c8d6c2a58526b9938cfd141cbe64437f8fb
2021-05-05 14:32:47 -04:00
pghafari 89168d4812 SWDEV-245532 - HIP - Vulkan interop semaphores
linuxpro syntax update

Change-Id: Id77e0d82c504fb7a1bd8edfac7dc962e428c87b4
2021-04-28 13:48:25 -04:00
pghafari 6e69bcef9e SWDEV-245532 - HIP - Vulkan interop semaphores
linuxpro syntax update

Change-Id: I947f24f67ed59c15fe5047348b0c005e19e93544
2021-04-28 07:44:22 -04:00
German Andryeyev 6c5fe7feb5 SWDEV-86035 - Update PAL interface to 665
Change-Id: Ic38417ac5ff426119d721790a467552633110973
2021-04-27 18:10:32 -04:00
German Andryeyev cdccb6ebc9 SWDEV-86035 - Update the new DOPP flag in PAL interface
Change-Id: Ia3de452bf77220ae0403b3427e13c6ad26009128
2021-04-27 17:51:23 -04:00
pghafari 6e69864a0c SWDEV-245532 - HIP - Vulkan interop semaphores
linuxpro syntax update

Change-Id: I184e1293ff4b046c5f8376d06f1d8e9509cd7ba2
2021-04-27 13:28:49 -04:00
pghafari fe9dbf1ded SWDEV-245532 - HIP - Vulkan interop semaphores
syntax update

Change-Id: I1eefb8048adbe18c84276092520c1e0b01164e82
2021-04-27 07:11:58 -04:00
pghafari 582d12b32f SWDEV-245532 - HIP - Vulkan interop semaphores
Change-Id: Ib79328ce4ec2f8ac3aade59fde4fd30e2d6e5cba
2021-04-26 13:20:58 -04:00
German Andryeyev e553b2763a SWDEV-282397 - Alloc scratch memory on the current queue
Device enqueue has an option to execute scheduler on the current
queue and it's enabled by default. Make sure scratch is allocated
on the current queue for that case. Add max vgpr tracking per
program to adjust scratch size accordingly.

Change-Id: I2a6d796913a4551a1e7f343a2465d589eec60d8a
2021-04-20 12:59:44 -04:00
German Andryeyev 57d668ab8f SWDEV-86035 - use the new field for SE mask
Change-Id: I51ed37f1194264876a3099189f35216d01988771
2021-04-16 11:10:34 -04:00
Sourabh Betigeri 70af4db3a6 SWDEV-279447 - Change to report 64kB of LDS for Windows as well to match the runtime behavior of HIP
Change-Id: I80b66346e17ba23766b7c9fe4e40ca94cb07f54b
2021-04-15 13:26:35 -04:00
Vladislav Sytchenko c7b50bb890 SWDEV-280473 - Support HSAIL shared library build
This change makes HSAIL usage similar to that of Comgr. By default, the
runtime will statically link against it, however if HSAIL_DYN_DLL is
defined, then the runtime will try to dynamically load HSAIL.

Currently stick to statically linking to HSAIL. In a feature patch the
dynamic loading behaviour will be enabled.

Change-Id: I6a78a4375975cf847f236b200404c8cf941d012b
2021-04-14 12:25:54 -04:00
Julia Jiang aef4ab1fc8 SWDEV-268186 - OCL ReBar optimization
Change-Id: I69d8bce8d48a5b6f94a05272c83ee91fbec1688c
2021-04-13 15:08:32 -04:00
Vladislav Sytchenko cbeb372e46 SWDEV-280473 - Remove HSAIL support from the ROCm backend
In adition to removing the HSAIL logic from the ROCm backend, guard all
of the HSAIL includes in the common layer behind the WITH_COMPILER_LIB
define. This is to avoid including HSAIL headers when building with
no support for it.

In common logic replace the use of the aclType enum with the new
Program::file_type_t enum. This is essentially a local copy of the HSAIL
enum to avoid including any HSAIL headers.

Change-Id: Ica0651d1b29dfccc255cc584eb82a5cb35e1b520
2021-04-12 14:55:06 -04:00
Jason Tang 1a38be8972 SWDEV-277559 - Remove AMDIL
The rest of AMDIL support will be removed along with orca backend.

Change-Id: I0462501e7147dc4b99870fd02034d0a4a0496e55
2021-04-09 14:15:15 -04:00
Sourabh Betigeri 48e470a14c SWDEV-273265 - Reverting wrong scope resolution operator VirtualGpu in the declaration releaseGpuMemoryFence()
Change-Id: Ia67ee1e4a3e86235caf8b7c585c65372f7d55426
2021-04-07 09:24:10 -07:00
Sourabh Betigeri 21ea81d5b9 SWDEV-273265 - Fix to wait on a pending dispatch in PAL.
Change-Id: I431cedfef5d5cb727c35ba8e294528017bfe2088
2021-04-06 13:13:07 -04:00
Julia Jiang f22ceb0fd8 SWDEV-272268, SWDEV-268186 - OCL change for Rebar optimization:fix regressions in OCLMemInfo and Conformance basic test
Change-Id: I3e709942b5f43ba52a4cb0824a2e6b3202d4b405
2021-04-06 10:53:12 -04:00
Alex Xie 0de4b2962c SWDEV-268914 - Linux, AMF, tests fail to scale images down
This is part 2 of the change. This is for PAL backend.
The parent buffer sometimes has newer data than the sub buffer or image.
We always need to copy the data into copybuffer in pitch workaround.

Tests:
clinfo
Conformance tests: all images test, info, API, basic.
Internal runtime tests

Change-Id: I97d876ac75b240e69b48244be4c9e522db24f8ac
2021-03-31 11:17:56 -04:00