Commit Graph

620 Commits

Author SHA1 Message Date
Sourabh Betigeri c3be453fe6 SWDEV-290685 - Dispatch a barrier packet with acquire system scope to ensure ordering before a hipStreamWrite()
Change-Id: I8853ad86a6634d55a98173ca3f79d93b85c08f85


[ROCm/clr commit: e4ddb5e08a]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko 4def94c516 SWDEV-273235 - Remove dependency on ADL
Currently ADL is only being included if we build HSAIL and not LC. The
only configuration that does this is Ellesmere on Linux.

As the appprofile logic doesn't do anything right now, it should be
safe to remove it.

Change-Id: I13ce8c27af08c25b95edcbfd2ee1ce447b0bfd39


[ROCm/clr commit: 6ff4839d76]
2021-08-22 23:56:07 -07:00
agunashe 49f0546637 SWDEV-293742 - Update copyright end year VDI repo
Change-Id: I69d2fea4a7a43adf96ccea794270e4af991c5261


[ROCm/clr commit: d96481fb36]
2021-08-22 23:56:07 -07:00
Saleel Kudchadker ce26a73ca9 SWDEV-260448 - Honor NUMACTL for Direct Dispatch
Setting AMD_CPU_AFFINITY=1 will keep Async Handler thread within the
bounds set by numactl.

Change-Id: Id01b30df5127d65c29ac072bf74a04986b7128de


[ROCm/clr commit: cd21af757e]
2021-08-22 23:56:07 -07:00
German Andryeyev e58a6f3502 SWDEV-289378 - Avoid CPU TS overwrite if GPU TS is available
Change-Id: I444ec284669b6a6fff31182e213b47c562c90192


[ROCm/clr commit: f4032401cf]
2021-08-22 23:56:07 -07:00
German Andryeyev b5c9af9b52 SWDEV-289378 - Avoid CPU TS overwrite if GPU TS is available
Change-Id: I2fc1a43c048b4fa1e42f27c4cf5c72fc7ae84e9c


[ROCm/clr commit: 4fd506cfe1]
2021-08-22 23:56:07 -07:00
pvellien e23597d4a4 SWDEV-285333 - Introduce Address sanitizer hostcall service
Change-Id: Id29aacd09d0a9934a027446c57c7095804e1a454


[ROCm/clr commit: c11c02f2c7]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko 6c612d8ce7 SWDEV-274815 - [PAL] Navi24 support
Change-Id: I934797bda471618c3f69484a1552b37345ae638b


[ROCm/clr commit: f6c00765e7]
2021-08-22 23:56:07 -07:00
Jason Tang f63a008110 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


[ROCm/clr commit: b793811ef6]
2021-08-22 23:56:07 -07:00
German Andryeyev 9f03f68a8a SWDEV-290160 - Switch to global HSA signals
Runtime can't assign internal HSA signals for HIP events, because
HIP application can destroy the HIP stream or signal reuse may
occur internally. Switch to global HSA signals for HIP events.

Change-Id: Ieaea2d6b039e492b2e7c5112782a8f4e601e50a1


[ROCm/clr commit: ce8dad2ecc]
2021-08-22 23:56:07 -07:00
Alex Xie bfc21e4a59 SWDEV-290122 - OpenGL tests fails with CL_MEM_ALLOCATION_ERROR
Change-Id: I34d7063f05dd46c32cf59a88c455691ba5099679


[ROCm/clr commit: b5b1ccc990]
2021-08-22 23:56:07 -07:00
Saleel Kudchadker 14a113f69d SWDEV-247372 - Add logging for debug
Change-Id: Id5a27034005a7deba37072d8a4c6f250104a96c8


[ROCm/clr commit: 8e08880cc3]
2021-08-22 23:56:07 -07:00
German Andryeyev 863a43abfc SWDEV-290160 - Don't send notification for batch markers
Batch marker already has a barrier with HSA signal callback

Change-Id: I69fc63d72320c2e9cc2d2e59ebd3f07c0bd0e3b5


[ROCm/clr commit: c49f1069ab]
2021-08-22 23:56:07 -07:00
Sourabh Betigeri cb9ec048f5 SWDEV-286446 - This patch enables stream operations on vega10, vega20, MI100 and MI200
Change-Id: I6f07036d8ee6e4c6b55196a13288f8107488d824


[ROCm/clr commit: b2a1dc26ba]
2021-08-22 23:56:07 -07:00
Saleel Kudchadker 8436f3ff1b SWDEV-247372 - Reset hasPendingDispatch
Reset hasPendingDispatch_ if we insert barrier for time marker.

Change-Id: Id038fd4e1c910c0a657978fee00630e49c372321


[ROCm/clr commit: d3213eca90]
2021-08-22 23:56:07 -07:00
Aaron Liu e1b277f4ce SWDEV-290474 - [Lnx][VanGogh] Add VanGogh support
Signed-off-by: Aaron Liu <aaron.liu@amd.com>
Reviewed-by: Christophe Paquot <christophe.paquot@amd.com>
Change-Id: Iff0253a181bbfc1984304014a9e3b542b2556635


[ROCm/clr commit: fe2d7424e5]
2021-08-22 23:56:07 -07:00
German Andryeyev 9da54443dd SWDEV-290371 - Add lock protection for signal
Add lock protection for signal processing
If signal is reused, then disable reference to it from HIP
Increase the pool signal size to 32

Change-Id: I7d529b35910f83ce577c9eca6d3386759611ccc0


[ROCm/clr commit: a1629cad26]
2021-08-22 23:56:07 -07:00
Saleel Kudchadker 8919f9f434 SWDEV-286092 - Use Barrier Header for event
Change-Id: I9701fbab587e2ea31e58449e8c8b07341a7aa161


[ROCm/clr commit: 0af6ba9428]
2021-08-22 23:56:07 -07:00
Alex Xie 5e002ce6f0 SWDEV-290306 - [LNX][Navi24][mainline]clinfo test failed on Navi24
Add Navi 24 support

Change-Id: I7343384cf6fb8c532321e57e202c196ef054f459


[ROCm/clr commit: b818301d53]
2021-08-22 23:56:07 -07:00
Saleel Kudchadker 9a3e9c9ad3 SWDEV-247372 - Active wait timeout env var
- Create an env var ROC_ACTIVE_WAIT_TIMEOUT to set active wait timeout
- Record profiling informaion if marker_ts_ property is valid.

Change-Id: If0d8aec8d9b0715027cf0f7c3dc8a4c722a6bae6


[ROCm/clr commit: b416ad7b9d]
2021-08-22 23:56:07 -07:00
Arya.Rafii 4f76f0293d SWDEV-289250 - Should return a nullptr for PAL so we can assume it's a host ptr
Change-Id: I530eb39104bbe727c3e38186f6db4e64285b3fc8


[ROCm/clr commit: 8b22111f4b]
2021-08-22 23:56:07 -07:00
Christophe Paquot b8de199652 SWDEV-276396 - Implement hipDeviceReset
Add a Purge function to MemObjMap

Change-Id: Iac51dfda9a7b7c45f2f4a0dc35f7a623121aba1a


[ROCm/clr commit: d13581efa7]
2021-08-22 23:56:07 -07:00
German Andryeyev a9abd850ea SWDEV-284671 - Add HW event wait to improve hipDeviceSynchronize
If AMD event contains a reference to a HW event, then runtime
could check/wait for HW event. CPU status update will occur later
after HSA signal callback, but it's not important for the result.

Change-Id: I591391a953bbdba6a25ac07e2cd98aeb17cd4596


[ROCm/clr commit: 85c70a7495]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko de280603a7 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


[ROCm/clr commit: 0b1481d4f1]
2021-08-22 23:56:07 -07:00
kjayapra-amd 8f1e9bb054 SWDEV-288690 - Updating the return value with roc::Device::init
Change-Id: I132fa424cf9bec608e5c8429e93d20e78b76c6f0


[ROCm/clr commit: d2bf9f9b58]
2021-08-22 23:56:07 -07:00
German Andryeyev 88b7c2b990 SWDEV-240804 - Update ReadMostly attribute
Switch HSA_AMD_SVM_ATTRIB_READ_ONLY to
HSA_AMD_SVM_ATTRIB_READ_MOSTLY to match Cuda. The new attribute
was just exposed in ROCr/KFD.

Change-Id: I2ee522d33c347ba52a4e272d2cd7f67960490cf7


[ROCm/clr commit: 89b69638d1]
2021-08-22 23:56:07 -07:00
cjatin 9587f79650 SWDEV-283267 - Fix a bug where rocclr appends compiler options twice
Change-Id: I54ca6e8458cf6414c263df7a8bf61f7ce39a64df


[ROCm/clr commit: 228662bf3f]
2021-08-22 23:56:07 -07:00
German Andryeyev c4ee688d6e SWDEV-240804 - Add coarse grain memory support
Add an extension to memory advise to disable cache coherency for
better performance

Change-Id: I283703d81d9c36ddfa2c8fffa15eef60e2195056


[ROCm/clr commit: a9a1e21445]
2021-08-22 23:56:07 -07:00
German Andryeyev a2248eca4c SWDEV-287137 - Add blocking signal logic
With HIP API callback runtime has to stall the queue until the
callback is done. Rocclr will introduce SW blocking HSA signal,
which will be released after the callback is done.

Change-Id: I6411f3efab31b468e3b87ebb5c8d155e116b613d


[ROCm/clr commit: d93df7037c]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko ed789dd3dc 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


[ROCm/clr commit: 7f0c18457d]
2021-08-22 23:56:00 -07:00
Jason Tang e24706f99d SWDEV-287945 - LinuxPro: Disable PAL for gfx9+
Change-Id: Ief81629e53a4c0ca529a510dac5063a8885257bf


[ROCm/clr commit: 1b832c0182]
2021-05-27 11:05:43 -04:00
German Andryeyev 1184f7af0b SWDEV-287137 - Fix regression with dependent signals
- Make sure barrier with dependent signals issues before queue
index reservation
- Don't issue extra barrier if it's already a barrier command
with dependent signals

Change-Id: I179a8b7adac79eed698f4a4d9eca2606d8e913aa


[ROCm/clr commit: 148a5cac39]
2021-05-26 12:36:56 -04:00
Jason Tang e8ca936563 SWDEV-287332 - Disable NullDevice in HIP
Change-Id: I45c6010d2a3fcd0576438e3c72fbed78dff09b6b


[ROCm/clr commit: 7932b5a562]
2021-05-26 09:27:59 -04:00
German Andryeyev 3e36acd579 SWDEV-278894 - Use GPU waits for HIP events
Save HW events in amd::Event.
Use HW events for synchronization

Change-Id: I98cf9c2d0ec3c7fcaf254b749ac6c568d7270ae0


[ROCm/clr commit: fa2e154a8b]
2021-05-25 13:41:15 -04:00
Jason Tang 5406cc5b42 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


[ROCm/clr commit: 8cac880779]
2021-05-20 11:16:48 -04:00
Ravi C Akkenapally 51663d1605 SWDEV-245531 - GLInterop: Add Buffer Interop support
Change-Id: I38326173475e84f8eca2605522542ef89a3cf524


[ROCm/clr commit: 0aa524363d]
2021-05-19 12:24:24 -07:00
kjayapra-amd aae0d4ca51 SWDEV-286346 - Implement Arena Memory Object for externally created memory.
Change-Id: I8530602d89edf83ad367c52167e48a1559ee1e18


[ROCm/clr commit: 1c49d8816c]
2021-05-18 10:59:52 -04:00
Jason Tang c521759b09 SWDEV-269983 - Re-enable OpenCL Offline Compilation in ROCr path
Change-Id: I160c56a6964219c56c85ebeb5f475be535c39022


[ROCm/clr commit: ed923eb12e]
2021-05-18 10:46:46 -04:00
German Andryeyev 9d920e88f3 SWDEV-240804 - Switch SVM attribute for the first alloc
Use HSA_AMD_SVM_ATTRIB_AGENT_ACCESSIBLE flag for the initial
allocation instead of HSA_AMD_SVM_ATTRIB_AGENT_ACCESSIBLE_IN_PLACE.

Change-Id: Ia52fe205563df1ea916dc2dc81e749e11c16f83d


[ROCm/clr commit: 9b3072ae12]
2021-05-18 09:32:29 -04:00
Jason Tang af79937953 SWDEV-277566 - Fix LinuxPro build
Change-Id: I3e15ae55591d669a87ce0d69fecf9fa32b85b0a6


[ROCm/clr commit: 8aa89274c8]
2021-05-17 15:18:40 -04:00
Siu Chi Chan 1ded52c591 SWDEV-286082 - Fix C string processing in GPU printf
This fixes an issue in hostcall when processing printf of a C string.
The calculation to round-up the string size to the next data chunk
didn't include the extra byte for the null terminating character.

Change-Id: I4cf0c250fa4fda253b0db15be461819ffce76d32


[ROCm/clr commit: 8341fd31d1]
2021-05-17 12:41:19 -04:00
Jason Tang 6f2e1cec35 SWDEV-277566 - Fix HIP/PAL build
Change-Id: Ib460ac70423ebc3aceab22829cd2606d0db20f59


[ROCm/clr commit: e1b226588f]
2021-05-15 12:24:18 -04:00
German Andryeyev 2b409b7e57 SWDEV-240804 - Remove AMD_HMM_SUPPORT define
Use dynamic logic for HMM based on it's availability

Change-Id: I63751d94571d5af6eb57bef2cb0e071120bfa103


[ROCm/clr commit: 3f7a6b01e3]
2021-05-14 17:41:06 -04:00
Ravi C Akkenapally 6b6b4c0d57 SWDEV-286446 - StreamOperations: Enable for all gfx9
Change-Id: I913a31c8bfdf1031d4cd491f1c689aa4df05c02c


[ROCm/clr commit: 93ae30730a]
2021-05-14 16:15:27 -04:00
Vladislav Sytchenko 83bd216941 SWDEV-273235 - Fix Windows runtime error
Variables passed by reference need to be initialized beforehand.

Change-Id: Ic29e3b7f6e04ef5bb153a2e6bd81419e1955935b


[ROCm/clr commit: 73b833a741]
2021-05-14 15:03:10 -04:00
Saleel Kudchadker eeea586a2a 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


[ROCm/clr commit: e5e635f9bf]
2021-05-13 11:58:03 -04:00
Jason Tang 6cd1f5854e SWDEV-277566 - Separate code object loading from building
Change-Id: I87b8178f55e8ef23762dfe11fab71665ba680f00


[ROCm/clr commit: 211ba25b4e]
2021-05-13 08:41:35 -04:00
German Andryeyev c5aff0dea0 SWDEV-286150 - Fix compilation with PAL_GPUOPEN_OCL disabled
Change-Id: If6d77ecce7395023db4aa9cb1ff494bc64cb1f17


[ROCm/clr commit: 1b82ff6678]
2021-05-12 22:48:45 -04:00
Vladislav Sytchenko fde7c9072d 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


[ROCm/clr commit: bbe6246f19]
2021-05-11 17:41:09 -04:00
Brian Sumner 508e2606be SWDEV-285332 - add hostcall service to allocate and deallocate device...
Change-Id: Ia63c1d9bc65367837a5161c09d274c51aead8f8d


[ROCm/clr commit: c44c866cf6]
2021-05-11 07:30:37 -07:00