Grafico dei commit

261 Commit

Autore SHA1 Messaggio Data
Felix Kuehling c5c5622c4b Prepare for hsakmt build system cleanup
These fixes are needed to find the hsakmt headers and libraries with
an upcoming hsakmt build system cleanup. It should continue to work
with the original hsakmt build system.

Change-Id: I6b3fcea8f2588698c130c9ec50952c66712afa6c
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: 5f25d024a8]
2018-06-05 16:01:03 -04:00
Sean Keely 2a9f433d26 Move SDMA dependencies back to hardware.
SDMA poll packet preemption has been fixed.

Change-Id: I3da878c433d4594a169e3bc8f173d3651448fd2d


[ROCm/ROCR-Runtime commit: f09eb2e8c7]
2018-05-29 23:32:47 -04:00
Sean Keely 897666b665 Enable SDMA conditionally based on link atomic suport.
Avoids using non-atomic SDMA fences by default since that path can duplicate fences.
If HSA_ENABLE_SDMA is set this will override copy path selection and may use
non-atomic fences.

Change-Id: I4747e9a766f7f649d21ddf6bfded047ac26fd60e


[ROCm/ROCR-Runtime commit: c593dfc6bf]
2018-05-29 23:32:34 -04:00
Jay Cornwall 3dc3806ab2 Handle llvm.trap only in gfx9 trap handler
llvm.debugtrap and other trap IDs are reserved and should not place
the queue into an error state.

Change-Id: I98193a35ac7da94c4a42ee75d87754ee552ebea0


[ROCm/ROCR-Runtime commit: 536823482b]
2018-05-04 13:15:23 -05:00
Evgeny dd69a5edb6 Tool load failure report changing to unconditional print bcos it's already is controlled with the env var
Change-Id: I91b400ba94575a32005e825e6b41bda05c55b357


[ROCm/ROCR-Runtime commit: 0e0be791ec]
2018-05-03 22:31:17 -05:00
Sean Keely dec51d2db4 Relax large scratch cutoff.
Optimize for few queues rather than max.

Change-Id: I6531427319d3b2109b70d98fdb51daee7ffe4403


[ROCm/ROCR-Runtime commit: a20cceb425]
2018-04-30 07:25:22 -04:00
Sean Keely 57cbf865ce Enable large scratch on GFX8.
Ensure system release fence is set on GFX8 large scratch using packets.

Change-Id: I13cfdcd35969482ea6e95e0b352f5cb3a0454b86


[ROCm/ROCR-Runtime commit: 5f25619bb7]
2018-04-30 07:24:53 -04:00
Evgeny e3f55212ed aqlprofile: get version API
Change-Id: I3a85c088bfff3f54d8829e17cdafd7dfcdfb0c1d


[ROCm/ROCR-Runtime commit: 0fcd2fa56e]
2018-04-27 23:11:16 -04:00
Evgeny cbc3c97252 aqlprofile: read API
Change-Id: I896b1fbf1c19608197ac0a99b9d467d8c1bee775


[ROCm/ROCR-Runtime commit: b37027e347]
2018-04-27 11:00:08 -05:00
Sean Keely 950dd4d89c Workaround SDMA poll packet preemption.
Use async. signal handler to satisfy dependencies for SDMA blits.

Change-Id: Ifa8d3ee6810509f400a568ca2387ac6ab3ab7c36


[ROCm/ROCR-Runtime commit: 7cd6e366ed]
2018-04-26 02:00:33 -05:00
Qingchuan Shi 286ca924f3 debug suport for queue error.
1/ Revised debug event handler to handle different events.
2/ Added queue error handler using the callback in queue create, which will print out wave info when queue in error state.
3/ Preempt queue instead of destory queue when queue error state.

Change-Id: Ib727d208de9caf1c72c76d42268483b24aaebde8


[ROCm/ROCR-Runtime commit: 49d2175c74]
2018-04-20 14:25:16 -04:00
Sean Keely 7c4cf726f7 Disable large scratch on GFX8.
Temporary pending firmware fix.

Change-Id: Id1b1ecef421bc97327fd0d2e6225549a6e81dba0


[ROCm/ROCR-Runtime commit: b66764e4c6]
2018-04-19 20:26:12 -05:00
Evgeny 94a6b2cd95 aqlprofile API: adding SQTT SE_MASK parameter
Change-Id: I0149692c2249c6d84ca710ce64e7346784ae593f


[ROCm/ROCR-Runtime commit: 5a6f47c475]
2018-04-16 16:39:42 -05:00
Hari Thangirala 28e79a42c2 Allow HSA_ENABLE_SDMA to override runtime defaults.
Change-Id: I2305304228010157bfb589c365f4a998577231cd


[ROCm/ROCR-Runtime commit: 3e0cd85d69]
2018-04-10 12:56:48 -04:00
Konstantin Zhuravlyov 683c95a3b7 Bring naming on par with the spec (hsa-runtime)
Change-Id: Ie1903c90a195cf95b186eb5552131a20af408adf


[ROCm/ROCR-Runtime commit: 7ef70f7eaa]
2018-04-10 09:15:02 -04:00
Ramesh Errabolu f081e81976 Compute size of command buffer based on support for HDP Flush
Change-Id: I4987a262c191a91cd845fe18002c314a95a9ed8c


[ROCm/ROCR-Runtime commit: f25d59cab2]
2018-04-07 13:36:09 -04:00
Sean Keely 2b15fedb50 Support large scratch allocations and reclaim.
Also improve small_heap used for scratch region allocation.

Change-Id: Ib7311b663b38968d88ebc355b81e12c0863dc541


[ROCm/ROCR-Runtime commit: 7caf9633f6]
2018-04-05 21:51:56 -04:00
Jay Cornwall 185c1a9544 Support new first-level trap handler ABI
- Ignore exceptions passed to the second-level handler
- Restore SQ_WAVE_IB_STS and SQ_WAVE_STATUS before exiting trap

Change-Id: I872c111c030d94eae644ae073df3c2e508f42f45


[ROCm/ROCR-Runtime commit: df964343a3]
2018-04-04 11:01:14 -05:00
Sean Keely 379b5579a9 Respect new memory model requirements at queue destroy.
Spec requires GPU release fences and CPU acquire fences at queue destroy.
Also update the recognized status codes.

Change-Id: If9166f5149f65417c7057ff7c0f69f6ac094d6ab


[ROCm/ROCR-Runtime commit: b6f0248f53]
2018-04-04 08:13:00 -04:00
Sean Keely acc31988f5 Sequence queue error callbacks with queue destroy.
HSA v1.2 update.

Change-Id: I13975e71b2c1ea5b7738236f5d02df84312ad00c


[ROCm/ROCR-Runtime commit: 6df9ba97ce]
2018-04-04 08:12:58 -04:00
Ramesh Errabolu de9064fc44 Enable sDMA packet HDP Flush on Gfx9 and later devices
Change-Id: I85922e5266883ef7e9eed3565e2c3b209009d294


[ROCm/ROCR-Runtime commit: 987f3f97aa]
2018-04-02 11:47:59 -04:00
Konstantin Zhuravlyov 696bb12601 Convert old target names to old new target names.
Change-Id: I701651d74f353e234556e4bf5d50d63c598e5f15


[ROCm/ROCR-Runtime commit: e4c6a3ae28]
2018-03-26 11:59:13 -04:00
Sean Keely 153cdb83d7 Cleanup in blit kernel management code.
Remove unused function (FenceRelease), add comments to barrier packet settings,
correct profiling controls to work with queue wrappers.

Change-Id: I45bb26227bcc2b78edb8ad5dc497603c33234e18


[ROCm/ROCR-Runtime commit: cd46954cc4]
2018-03-20 22:19:54 -04:00
Sean Keely 66d812d0ec Revert "Reduce to only one internal compute queue."
This reverts commit c1147397e0.

Change-Id: Ifcc5e148457243a6cf9ef277da7ab7c4e10f6fc9


[ROCm/ROCR-Runtime commit: f4521ce782]
2018-03-20 22:19:44 -04:00
Wilkin c7af4e8857 ROCm Runtime Support for respecting target xnack setting
This includes the changes provided by Konstantin, "Add xnack from elf header" (Change 136389).

Change-Id: I95e51141caa0d7c21903b09212c02e4906ec54a3


[ROCm/ROCR-Runtime commit: 8e3d26c617]
2018-03-20 16:57:15 -04:00
Konstantin Zhuravlyov 544b3a88ec Bring loader in sync with stg sc.
Change-Id: Ib4d9231ca61048557acdad8eb8f632688c4aadd8


[ROCm/ROCR-Runtime commit: b7915e9248]
2018-03-12 15:00:50 -04:00
Sean Keely 3f4f6f778a Use atomic variable for Runtime ref_count_.
Change-Id: Ic4d0ad9ff93d0cc52cfe2df006ee3436d5960b07


[ROCm/ROCR-Runtime commit: ac5ccb45b7]
2018-03-06 03:45:14 -06:00
Sean Keely 282dba1036 Add exception safety to Runtime::Acquire.
Change-Id: Ia2a9baf08bb56971412f1ac3914592612de5f134


[ROCm/ROCR-Runtime commit: 31c05d2fc7]
2018-02-28 05:21:07 -06:00
Sean Keely f64d45a66d Improve fragment map reporting format.
Change-Id: I85d09d085b08de46271ec902c766a8609a4b921a


[ROCm/ROCR-Runtime commit: 95c926059d]
2018-02-09 14:03:03 -05:00
Sean Keely de3912dae4 Emit fragment map and thunk ptr info with VM faults.
Change-Id: If1302f674df7a636529c64bf66dfdda755a70c32


[ROCm/ROCR-Runtime commit: 9212e7a09f]
2018-02-09 14:02:26 -05:00
Sean Keely c1147397e0 Reduce to only one internal compute queue.
Change-Id: Ie42ecb3b242077624d74caeabfcd418dbbd9ff3e


[ROCm/ROCR-Runtime commit: 0eb534e3cf]
2018-02-09 14:02:15 -05:00
Sean Keely e844aa939d Defer creation of internal queues and blits until first needed.
Change-Id: I2e61d7e102f38389d806d9eb24beda910573157b


[ROCm/ROCR-Runtime commit: bd5dd47ca1]
2018-02-09 14:02:07 -05:00
James Edwards 27ce54a0aa : Fix compilation errors with gcc 7.2.1 for hsa runtime.
Change-Id: I3356388753ca78cc0f1e0c3188220d7f3f60283d


[ROCm/ROCR-Runtime commit: b913795c31]
2018-02-07 09:22:39 -06:00
Evgeny f22fab8263 ExecutePM4 queue full check fix
Change-Id: Id56ece6d3f5eab1ef3a2758922022f0996c1efe4


[ROCm/ROCR-Runtime commit: 8a8d7ad814]
2018-02-05 19:35:39 -06:00
Chris Freehill 67598cc036 Don't support platform atomics for gfx9XX
Change-Id: I302c862494e221ae2b6b3e1a843f06586b0b28ba


[ROCm/ROCR-Runtime commit: 3449f7dea6]
2018-02-02 18:21:16 -05:00
Sean Keely 00b5aec5d4 Guard against IPC signal use of when profiling copy APIs.
Also update IPC signal API text to allow single process profiling with IPC signals.

Change-Id: I90b246623129d57183acb4ba1789beec360547c3


[ROCm/ROCR-Runtime commit: f59b001c75]
2018-01-31 19:05:32 -05:00
Sean Keely 9c247a4c6b Revert CRAT table workaround.
Change-Id: Ic2bf9e1fb1d00c5a31d52560e0eb37e0ae1ab08a


[ROCm/ROCR-Runtime commit: 91f559802d]
2018-01-30 18:26:53 -06:00
Tony Tye ab3c53761b Add support for R_AMDGPU_RELATIVE64
- Add support for R_AMDGPU_RELATIVE64 relocation record.
- Return status error if any unsupported relocation record encountered.

Change-Id: Icbb5dcb81109a70c1f2195412a0df58a11be9da1


[ROCm/ROCR-Runtime commit: d472b24d05]
2018-01-30 18:20:26 -05:00
Chris Freehill f113a2dadc Report physical memory instead of virtual memory
Change-Id: I18105e3982a96aea40e05cd78521c0c3acf75de4


[ROCm/ROCR-Runtime commit: 563581223c]
2017-12-20 22:11:50 -04:00
Sean Keely 640ca3ba4f Merge system heap info.
Workaround pending thunk spec clarification.

Change-Id: I9d96227efde3a551157733cf4050d474d1e658f2


[ROCm/ROCR-Runtime commit: fe1763848a]
2017-12-19 18:57:29 -06:00
Sean Keely ecbd2eb820 Remove region/pool size limits for 902.
Temporary measure. Must be reverted once CRAT tables have been fixed.

Change-Id: Id2f2673edbf7b6fc5752f8d871042b4bf4de653c


[ROCm/ROCR-Runtime commit: b49e5b4917]
2017-12-14 16:02:05 -05:00
Sean Keely b8934623ee Don't use double mappings on GFX9 APUs.
Change-Id: I1225696211d4eac9ce982243ea0a1a9e8b2a318f


[ROCm/ROCR-Runtime commit: 1addb5e684]
2017-12-08 20:18:02 -05:00
Sean Keely e155bd0cb1 Report library load errors in debug builds.
Change-Id: I24e63b15ad74fb86ecfe839f543800c2140c09d9


[ROCm/ROCR-Runtime commit: ca4c884306]
2017-12-05 18:49:33 -05:00
Sean Keely a427fde26a Cleanup Signal interfaces for doorbells.
Create an interface for doorbell signals to reduce code duplication.
No functional changes.

Change-Id: I101a8997dd582ff99e1537758c804b21fe3bb6af


[ROCm/ROCR-Runtime commit: d2e70bb999]
2017-11-28 22:12:19 -06:00
Sean Keely 495c1da5f3 Pull from github (tstellar):
Prefer using memfd_create() for the ring buffer.

We were using /dev/shm, but this won't work on systems that
either don't have /dev/shm or have mounted it with noexec, because
for everything other than gfx700 we map the ring buffer with PROT_EXEC.

memfd_create() is Linux specific and was added in Linux 3.17, so we
will fallback to using /dev/shm on systems where memfd_create() is
not available.

Change-Id: I58fb533eebc362f6d29dc3e316a80801014d50e8


[ROCm/ROCR-Runtime commit: b93ffafdc7]
2017-11-28 20:47:12 -05:00
Sean Keely 37132e4a21 Improve loop variables.
Derived from github pull request by folklore1984.

Change-Id: I70cd3da131691543fed8bf913d6245d41c49280d


[ROCm/ROCR-Runtime commit: 4b603e803d]
2017-11-28 20:36:22 -05:00
Sean Keely 7ed62f815f Pull from github (pmargheritta):
Corrected semantics used in hsa_queue_load_write_index_relaxed.

The semantics that was used in hsa_queue_load_write_index_relaxed
didn't seem to match the name of the function.
I also removed a useless return keyword.

Change-Id: If3819d38fb367f122fc382edf8ee3771a23279ae


[ROCm/ROCR-Runtime commit: 5872b618de]
2017-11-28 20:35:50 -05:00
Evgeny acce35d21f _aqlprofile_start() API migration
Change-Id: I7c8c7a6fc6f9b20cc2e4074dde38fb19440927f1


[ROCm/ROCR-Runtime commit: 86939368d1]
2017-11-20 17:32:19 -05:00
Chris Freehill ed0537ed67 Device ID/family corrections for gfx9xx
Change-Id: Icb25fbbaeb99ce886a2852b48d02875ee0f197a2


[ROCm/ROCR-Runtime commit: 651ae1bf70]
2017-11-16 07:27:54 -05:00
Evgeny acaf0d0aac aqlprofil API: removing from HSA hsa_api_trace/hsa_ext_interface
Change-Id: I12fac55ea9ccfdb119899bf9d000e3c8b0bf4bbb


[ROCm/ROCR-Runtime commit: 6e1b9288f6]
2017-11-11 10:01:12 -06:00