Sean Keely
9ba83d83f7
Release cached memory blocks when memory allocation fails and retry.
...
Change-Id: I6d96e136e147d8ffe9ff7baec26b4b5a678b739f
2017-10-03 20:12:05 -04:00
Sean Keely
e9a6f2c3e6
Support hsa_amd_agents_allow_access on page fragments.
...
Since access may only be manipulated on whole pages, suballocator fragments must cooperate to set the page's access.
Since the KFD does not migrate memory on access changes this implementation makes agent access sticky across the requests in a fragmented page.
Change-Id: I88479ed45fb40e9782b704526a7b8ffb22e7bd76
2017-09-27 19:04:04 -05:00
Evgeny
0e88414f5c
removing graphics specific block RMI, ennabling memory related blocks
...
Change-Id: I477adc49b9ee3c8593c193bdc69c0deb4a9726e1
2017-09-25 10:49:22 -05:00
Sean Keely
476c8e36bf
Fix assert in simple_heap.
...
Also add comments to clarify pointer info constraints.
Change-Id: I8d07831a0e953d667c84c96fe53ed07c18ba115c
2017-09-21 00:47:18 -04:00
Evgeny
fcaecfee80
adding hsa_ven_amd_aqlprofile.h to the packaging
...
Change-Id: I3b69396e3cea129106d47be53218213e29de9843
2017-09-20 14:40:49 -04:00
Sean Keely
30fce248c6
Enable use of CLOCK_MONOTONIC_RAW for post 4.4 kernels.
...
Change-Id: I3c1f27c7e639df5128c36d81f715fa16e6c1cf13
2017-09-20 14:28:23 -04:00
Sean Keely
9dfdce5b3c
Improve branch elimination in ScopedAcquire.
...
GCC can't reasonably be told that the lock ptr isn't null. Adding a private bool
allows the branch to be eliminated, along with the bool.
Change-Id: I0605d69474d6a6e6951be93c0af1d8caf3f77124
2017-09-19 06:08:36 -04:00
Sean Keely
4275661682
Add env key to disable 2MB suballocation.
...
Change-Id: Icca3041c3578aa180a656c01aae62f2ad6e8b583
2017-09-19 06:08:36 -04:00
Sean Keely
117be0b55a
Add suballocator for ordinary VRAM allocations smaller than 2MB.
...
Track pointer info for sub 2MB fragment allocations in allocation_map_.
Add fragment support to IPC.
Change-Id: I00cfc2e2fa289aac90a4718c392f9bb056a61a87
2017-09-19 06:08:36 -04:00
hthangir
87d2df3da3
Use non-RAW version in clock_getres to workaround bug in older kernels
...
Change-Id: Ice0606a42cd7054f0804baf4af3521ffae3b7d50
2017-09-14 13:56:15 -05:00
Sean Keely
f1a661dedb
Report tools library load failures in debug builds.
...
Change-Id: Ie1ff313e929fc46134e58730a1d370c5d7ace8db
2017-08-31 21:32:48 -04:00
Laurent Morichetti
0f05ef73ac
Include <errno.h> for EBUSY
...
Change-Id: I9fa3417445866f3ce37af2169f623afa8e92e873
2017-08-31 07:32:51 -07:00
Evgeny
09c732c2f9
aqlprofile api: adding gfx8 mc counters
...
Change-Id: I84dc06c24b7961dfe665cf7e2ae6cc9ae3b7326b
2017-08-23 15:23:05 -05:00
Sean Keely
0cb1e8cb35
Correct vm_fault signal cleanup.
...
Change-Id: Id2f14b911e3991a76771425bc09f38a613280e6b
2017-08-18 22:12:38 -04:00
Evgeny
fb4afca8c3
AqlProfile API, commenting out hanging GFX9 blocks, ATC, GCEA, RPB
...
Change-Id: I411fb33f77c9538ca236b9b6b09c7dfe75220c02
2017-08-15 12:44:00 -05:00
Sean Keely
dec5c52e07
Simplify pointer info version check.
...
Change-Id: I0ed363f1261ffc041547f313970ca67298ace56c
2017-08-12 03:14:39 -04:00
Sean Keely
c9642cf7af
Initial IPC signal support.
...
Added an API for creating signals with attributes.
Added two APIs for IPC operations on signals.
Initial use of exceptions for error handling.
Add ref counting to signals.
Removed spin loops from signal destructors.
Signals are no longer to be destroyed with delete, use DeleteSignal instead.
Added delete safety to doorbells.
Added secondary hsa_signal_t -> Signal* translation path for IPC enabled signals.
Change-Id: Id59065d002f0c2566b0a9425694da2ed27cb7d7f
2017-08-11 18:41:34 -05:00
Sean Keely
2732b18092
Initial exception support for signals.
...
Also separate signal ABI block allocations from the runtime interface object.
Change-Id: If16763338db664f29163a1348f8f4c38cf0597b2
2017-08-11 18:41:34 -05:00
Evgeny
287afd3a52
adding aqlprofile member to HsaApiTable
...
Change-Id: Id674186dfa2e83295a51f770ccc0400f1cb51a98
2017-08-09 16:09:39 -05:00
Evgeny
4824a2db0b
Adding HSA_API macro to the API method declarations to be consistent with other HSA header files, TCS removing
...
Change-Id: Ic217d3b2bdbb22d3600c5ecaacb7ab53bf26096a
2017-08-08 10:46:12 -04:00
Evgeny
47322942b3
aqlprofile block list, explicit numbers assigned, IA removed
...
Change-Id: I9f9358f8e03e13eb81845de2e33dd5f3da27811a
2017-08-03 11:39:21 -04:00
Evgeny
c66f68041c
aql-profile api: reducing blocks list to compute only and new gfx9 blocks
...
Change-Id: Ib506b82ea407afec4f5d4bcad755d4d57b92e34b
2017-08-02 12:21:24 -04:00
hthangir
9ee0108e58
Fix compilation issue reported with GLIBC 2.12 (RHEL 6.9)
...
Change-Id: I770b72ba1d61475a76aa72d0c52ebfb380db6019
2017-07-28 11:11:01 -04:00
Evgeny
08d5efe29d
moving hsa-amd-aqlprofile to ssh://gerritgit/hsa/ec/aqlprofile
...
Change-Id: Ic42752ca41f877db02aa5a5d8d617cd67cce8956
2017-07-14 14:59:42 -05:00
Evgeny
ab67b8511b
hsa_ven_amd_aqlprofile.h: include <hsa.h> fix
...
Change-Id: Idfd2fdde112d502d4b4a3365512ec601f7e56a5b
2017-07-12 15:43:58 -05:00
Sean Keely
a0a3587345
Remove use of anonymous member in C builds.
...
Tools/CodeXL will retain older versions of structs if them need them.
Change-Id: I568d7b445778dd575ef71000b4b839300572288e
2017-07-12 16:40:00 -04:00
Sean Keely
bc0bd00746
Fix queue interception in tools.
...
1. Correct amd::AqlQueue::ExecutePM4 to support interception.
2. Minor fixes to AqlPacket and SoftCP.
3. Minimal change to disable interception of runtime internal queues.
Change-Id: I103fece2ebf9a188d27f01e61221c737405d7253
2017-07-12 16:39:43 -04:00
Sean Keely
29b5b5c029
Correct handling of slow clocks under linux.
...
Change-Id: I9a1b08d5457caa6739220603bbd37b00febc64d7
2017-07-12 12:49:49 -04:00
Sean Keely
3e50adc7ce
Properly order signal copy agent tagging with copy operation.
...
Change-Id: Ic428c958551279fbea1b2449afba930b82804ede
2017-07-11 13:10:00 -04:00
Sean Keely
c9f0427cb0
Decrement hsa_init ref counter when init fails.
...
Change-Id: If9376344d4b559e601932d070731132c8450104e
2017-07-07 21:21:03 -05:00
Evgeny
4174f07fd1
hsa-runtime integration
...
Change-Id: I48968966ffe164218ebff88d0e3a1268e96bf1dd
2017-07-05 10:55:30 -04:00
Evgeny
c533229bc1
Block list extending
...
Change-Id: Id17efde25fce287296e80f2b37c77b15aa59b561
2017-06-23 16:37:02 -04:00
Evgeny
8618bf7e2c
minor fixes, debug output, comments, using env vars, dead code
...
Change-Id: I08ad73b561709c1818d78a9191c96d6ad141a609
2017-06-22 18:04:26 -04:00
Ramesh Errabolu
08e0bca567
Support Perf Cntrs (PMC) and Thread Trace (SQTT) over AQL queues
...
Change-Id: I716b722895d90b46914c31377e791ad602acecc1
2017-06-15 12:58:31 -04:00
Kenny Ho
5b4df54b10
Revert "Implement memory fault analysis through context save area"
...
This reverts commit 75c9506f9d .
Change-Id: Ibf11b764b383b9be291f3009a30550e1a1e2d115
2017-06-14 14:21:53 -04:00
Evgeny
35b376e2ee
GFX8 API
...
Change-Id: I9d0c430e4199f043226c8897f3320a7973cbdeda
2017-06-14 12:24:28 -04:00
Jay Cornwall
75c9506f9d
Implement memory fault analysis through context save area
...
When a fatal memory fault occurs the scheduler context-saves all queues
in the process and notifies the runtime through the memory event. The
saved state contains all GPR/LDS data at the moment of the fault.
Retrieve this state and present it to the user if HSA_DEBUG_FAULT is set
to "analyze" and the wavefront caused the fault. If amdgcn-capable objdump
is in the PATH invoke this to disassemble code around the PC.
Queue lifetime is now managed by the runtime to allow querying the
context save state for all active queues.
Change-Id: I6fee662fad1c4f9aa125bf5c53d7d0ea1ab32f95
2017-06-13 23:12:28 -04:00
Evgeny
25035b8d09
Adding HSA extension AMD AQL profile library, see Readme.txt
...
Change-Id: Icbc1e0fb0185642eabbab411a2138ea030d22be8
2017-06-13 16:18:06 -04:00
Evgeny
da831502ab
Adding GFXIP and kernel code object
...
Change-Id: Ieb2dfea8d9e909efac583f541730d77b7d0c9679
2017-06-13 14:58:29 -05:00
Konstantin Zhuravlyov
d98e99949a
Update hsa_isa_t entries
...
- Add 7.0.2 (consumer hawaii)
- Add 9.0.1 (gfx900 with xnack)
- Add 9.0.2
- Add 9.0.3
Change-Id: I6a07797027c4eaf47038837c5ae51e05b2aba0e4
2017-06-12 14:34:11 -04:00
hthangir
a0957bc679
The fallback path covers not just ARM64, need this for Power as well.
...
Change-Id: I7bbf76f77bd3ac47a0a0987c1e880e23834588e2
2017-06-07 14:45:29 -05:00
Qingchuan Shi
cd35fb280a
Patch target name in code object for future-proof
...
Change-Id: I6f12b5e5791bd1745ec3ab76d382fad50282e733
2017-06-05 19:08:27 -04:00
Jay Cornwall
5db53ceda1
Enable SDMA on gfx9, disable on gfx8
...
gfx9 has passed qualification. gfx8 stability is under investigation.
Change-Id: Ia72211d47756399ecdfceafeb67c2ab34ebda834
2017-06-02 15:14:14 -05:00
Sean Keely
c3e2a88ade
Add preferred agent info to pointer info struct.
...
Lookup blit agent via pointer info in memory_fill.
Change-Id: I02feaf68bb9726858e8cb0ede6bc5f2b3707f5af
2017-05-31 05:16:05 -04:00
Qingchuan Shi
77e5b30c41
remove finalizer usage from image ext
...
Change-Id: I282f02cedce790bf42f07c588fd50e346b9ba665
2017-05-29 20:44:52 -04:00
Sean Keely
e38ff18990
Unmap GPUs when allow_access removes them from system pools.
...
Change-Id: Ib9eb88622fded43ebd9eddbf78ad6771a5b91e77
2017-05-17 20:58:05 -04:00
Konstantin Zhuravlyov
a777413400
Purge warning in amd_hsa_code.cpp
...
Change-Id: Iaa5d7af183af5e8c069365a1f0410365b46d53d5
2017-05-08 19:39:49 -04:00
James Edwards
001d43ce56
Change rpm preinstall script to post install
...
Change-Id: Iccc04902699bf0ba8b5269e1129b72cf69ef7f00
2017-05-07 14:02:54 -05:00
hthangir
8aa19388a9
On GFX9+ amd_queue_t.scratch_backing_memory_location must store the queue's scratch backing store VA, not the offset.
...
Also fix permission in couple files.
Change-Id: I4203f8e5a36406b20562d8943ea5c341847f039a
2017-04-18 22:37:56 -05:00
Christophe Paquot
617b6fa987
Separate gfx700 and AI architectures
...
Registers are different and it's cleaner to do as such
Change-Id: I36eee4c9c74deb43ca4666baa87894765a5f27b8
2017-04-07 00:14:22 -04:00