3115 Tiomáintí

Údar SHA1 Teachtaireacht Dáta
Freddy Paul 8d550d9cbe Cleanup symlink to header files and folders
Due to a CPACK bug the package needs to remove header file
symlinks.  Cleanup is required for uninstall and upgrade
since each release installs to a different folder.

Change-Id: I5ec378b21e69235404781c7bce3c0203eb38eed1


[ROCm/ROCR-Runtime commit: ca899ea429]
2021-10-12 14:56:02 -05:00
Sean Keely f19e8c43d2 Remove io_link workarounds.
KFD topology has been corrected and the defaults used by this
workaround are no longer true for all chips.

Change-Id: I0242d8077e9666ed1cf0dc3985244258ae5c0924


[ROCm/ROCR-Runtime commit: 19c1e92b4c]
2021-10-11 19:15:07 -05:00
Xiaomeng Hou d64a353ea0 Adjust the passing value for GPU agent when do max single allocation test
For APU asics, the default configuration size of video memory is
relatively small, plus the reserved region, ratio of max alloc size to
the pool size may below the expected value, so adjust it.

Change-Id: I798b44d9532aa6a381a1cc19faa5a46110bf0ad6


[ROCm/ROCR-Runtime commit: df59bfd57b]
2021-10-11 02:32:09 -04:00
Xiaomeng Hou a29a2e96e5 Add gfx1035 to rocrtst.
Change-Id: I276942b8badfd5ee2914e78c6c140d80d7cf4b2d


[ROCm/ROCR-Runtime commit: 9597fe3ae5]
2021-10-11 02:31:45 -04:00
Kent Russell 11cc6f4f79 kfdtest.exclude: Add KFDEvictTest.Queuetest back to gfx1030's blacklist
The shader is incompatible with gfx1030, so blacklist it there until we get
to some more ASIC-agnostic shader generation

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: I71f362a80e6e8f87ecece6afa6b34a5f02bc56bf


[ROCm/ROCR-Runtime commit: 5a8c9a54f1]
2021-10-08 13:09:01 -04:00
Sean Keely d72b8ef7d3 Check errno for error type in hsaKmtAllocQueueGWS.
Check errno rather than err and drop negation.

Change-Id: I1804d67292c3b054eab8fc077c8e9b22a8cdcc9f


[ROCm/ROCR-Runtime commit: 5e3983cb93]
2021-10-06 15:08:28 -04:00
Sean Keely fe5fee87f3 Check errno rather than return from kmtIoctl in hsaKmtRuntimeEnable.
The return code is just -1 if any error occurs.  To detect debugger
unavailable we need to check the actual ioctl error code.

Change-Id: I8a294c754196aec916809497ec8e810da2f072b8
Signed-off-by: Sean Keely <Sean.Keely@amd.com>


[ROCm/ROCR-Runtime commit: b67bc6fcc9]
2021-10-06 15:07:22 -04:00
Sean Keely 1d060cbb9e Correct GetSvmAttrib coherency query.
Early exit if the range is found to be fine grain.  Indeterminate
should only apply if the range is neither coarse nor fine.

Change-Id: I54133e14f4e8cfa53e2d612f6112cdcdb5a47dfa


[ROCm/ROCR-Runtime commit: a2fb1cbfbc]
2021-10-03 12:29:12 -04:00
Sean Keely 32af428b24 Fix queue leak in Enqueue Latency test.
Change-Id: I50d17fb23d772ae8b966207f4af038ca538dcbb8


[ROCm/ROCR-Runtime commit: c9440e7b11]
2021-10-03 12:27:49 -04:00
Sean Keely 94352f3e24 Close KFD when failing due to debugger state.
Change-Id: I6a6890fd9e86d27f87ae96de1c47c89d40a4e010


[ROCm/ROCR-Runtime commit: 234ef77e32]
2021-10-03 12:27:49 -04:00
Philip Yang 098ce2acb4 libhsakmt: register and deregister userptr in parallel
For userptr, after taking aperture lock, decrease registration_count and
ensure object registration_count equal to 0 to release KFD and thunk
object.

Move decrementing of registration count from fmm_deregister_memory into
__fmm_release to avoid a race condition when dropping the aperture lock
in fmm_deregister_memory.

Change-Id: I5381fa6b8a77a1516af2554e5174e91969c338c4
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: f82927ad65]
2021-10-01 15:56:38 -04:00
Philip Yang f2d3dbb28e kfdtest.exclude: KFDSVMRangeTest.ReadOnlyRangeTest to blacklist
This test requires KFD patch "drm/amdkfd: SVM map to gpus check vma
boundary" to pass, the patch is on staging-dkms branch, not land on
mainline branch. Temporary blacklist this to unblock QA, as QA reports
kfdtest failure.

Change-Id: I00515cd5d5d1c5612f4f8d48605d86f4a7e62ce2
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: 5adb142dc7]
2021-10-01 15:56:38 -04:00
Sean Keely e0ebcb9cc3 Workaround gfx90a SDMA0 quirk.
Because of sharing ports with other engines, the
hardware design team has advised that SDMA0 on gfx90a
should only be used for host-to-device data transfers.
The recommendation is to use SDMA1 for any device-to-device
or device-to-host data transfers.

A driver change will ensure that, for each gfx90a
device, only the first PCIe SDMA queue a process
requests will possibly be from SDMA0. This patch ensures
that the first PCIe queue requested (which may be from
SDMA0) is always set up for host-to-device.

Change-Id: I6793ca95596dedaed9d5be1dbd9469ceef2a5c33


[ROCm/ROCR-Runtime commit: 280a458d0c]
2021-09-30 05:53:49 -04:00
Kent Russell 8cfbef3cd7 kfdtest.exclude: Re-enable KFDEvictTests that were blacklisted
After adjusting the memory usage, re-enable KFDEvictTest.BasicTest on
gfx906 and KFDEvictTest.QueueTest on GFX10

Change-Id: I401e679e447f3150241078154635f0b30692513d
Signed-off-by: Kent Russell <kent.russell@amd.com>


[ROCm/ROCR-Runtime commit: 392e0e2afc]
2021-09-29 13:57:17 -04:00
Kent Russell 29a10ec919 kfdtest: Adjust KFDEvictTest memory size
We were hitting memory map errors and segfaults when trying to use 7/8
VRAM on certain cards (dmesg showing "Failed to map to gpu 0/1"), as the
original check didn't see if this would exceed the GTT size.
Allocate the smaller of 1/3 of SRAM or 7/16 of VRAM (7/8 / 2) for the
tests

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: Ic11a5cee058535418eef903a28846e00e1839969


[ROCm/ROCR-Runtime commit: d5d8c022f1]
2021-09-29 13:56:54 -04:00
Yifan Zhang 66e9054dce kfdtest.exclude: blacklist several tests case for gfx902
SDMA firmware of gfx902 has a regression which causes cp hang
in kfdtest, blacklist related test cases.

Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Change-Id: Ie75b72a952a29d6b1394c5fcb67ff9a5143b3b07


[ROCm/ROCR-Runtime commit: 04b149b7fd]
2021-09-24 21:57:54 -04:00
Aakash Sudhanwa 2948c1f2cc Revert "CMakeLists: Make libdrm-amdgpu1 a suggestion"
This reverts commit 919cd43da5.

Reason for revert: Breaking on Centos7

Change-Id: Ibd5a7c5d4e8c07defec45821ae1faa525cfc916d


[ROCm/ROCR-Runtime commit: 06b1f25172]
2021-09-24 16:35:53 -04:00
Sean Keely 3e062a0424 Correct typo in package dependencies.
Change-Id: I3c378479ceb822e55168517e041a48fa8a2d3d98


[ROCm/ROCR-Runtime commit: e0224ad89f]
2021-09-20 21:00:15 -05:00
Sean Keely 7226c26b43 Correct Clang version detection and support for multiple prefix paths.
Bumps cmake minimum version to 3.7 for version comparison operator.

Previously the Clang cmake project version strings were used.  These
are not defined if the clang cmake project has not been loaded.
We should use CMAKE_CXX_COMPILER_VERSION to check the version when
only the compiler binary is redirected and the project files are
not available.

Also adjust device libs lookup logic to handle multiple paths in
CMAKE_PREFIX_PATH.

Change-Id: I67b6958d8241685cd6c3a0af68507c9fdc6331ef


[ROCm/ROCR-Runtime commit: 2e9a9f7c7a]
2021-09-20 19:23:04 -05:00
Kent Russell 919cd43da5 CMakeLists: Make libdrm-amdgpu1 a suggestion
This is required for Marketing Name, but Marketing Name isn't a hard
requirement for ROCT, so make it a Suggested package

Change-Id: Ibafcce2c59dc8bdba90c171e766122bebf548a48
Signed-off-by: Kent Russell <kent.russell@amd.com>


[ROCm/ROCR-Runtime commit: 4144a0d2a4]
2021-09-17 10:11:45 -04:00
Sean Keely 10a8c8b556 Add debug option to skip setting the initial cu mask.
Adds debug variable HSA_CU_MASK_SKIP_INIT.

Change-Id: I5c742d1184a36fdef818bc50c3b780b859b68560


[ROCm/ROCR-Runtime commit: a8c3ea82a4]
2021-09-16 23:43:49 -05:00
Sean Keely a02b318a7e Correct fast f16 capability reporting.
Was hard coded to false.  Updated to reflect f16 availablity since
gfx8.

Change-Id: I7d5b9792c8e0163199c421a61b5d49b25cd98645


[ROCm/ROCR-Runtime commit: 5535b1f86f]
2021-09-16 21:15:52 -05:00
Philip Yang c90f3f2648 kfdtest: MigrateFileBackedRangeTest address sanitizer builds failing
Use alloca to replace variable size array.



Change-Id: I81e5a7d8f6ace203b81f5f5a651b2a6aa948821c
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: 88e6921d45]
2021-09-16 10:51:56 -04:00
Kent Russell e9a71840e8 kfdtest.exclude: Remove KFDSVMEvict from GFX10
This was never validated on GFX10, so remove it for now until it's
either validated and confirmed, or move the check to the test itself

Change-Id: Ie4d8b31885fbe6e5ed84b7b174c0bfed60879741


[ROCm/ROCR-Runtime commit: f2f86591b6]
2021-09-15 11:34:05 -04:00
Yifan Zhang cb379004ea libhsakmt: dump errno the queue destroy fails.
to faciliate debugging, print errno when queue destroy fail
current log give very little information when fail:

[ RUN      ] KFDQMTest.AllSdmaQueues
 [          ] Regular SDMA engines number: 1 SDMA queues per engine: 2
 [       OK ] KFDQMTest.AllSdmaQueues (11 ms)
 [ RUN      ] KFDQMTest.AllXgmiSdmaQueues
 [          ] XGMI SDMA engines number: 0 SDMA queues per engine: 2
 [       OK ] KFDQMTest.AllXgmiSdmaQueues (6 ms)
 [ RUN      ] KFDQMTest.AllQueues
 /home/foreman/build/hsakmt-roct-amdgpu-1.0.9.40500/sources/libhsakmt/tests/kfdtest/src/KFDQMTest.cpp:381: Failure
 Value of: (cpQueues[i].Destroy())
   Actual: 1
 Expected: HSAKMT_STATUS_SUCCESS
 Which is: 0

Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Change-Id: I5b1b5b616a5fd7ff198360c893a7aeed685022bd


[ROCm/ROCR-Runtime commit: db1d6d92ab]
2021-09-15 04:34:58 -04:00
Oak Zeng f590465aa3 Add gfx1013 support
Change-Id: I7122caea3ef2254b50bde25ec545116685452116
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: 80206af91e]
2021-09-15 01:10:20 -04:00
Sean Keely b1fb887b40 Add gfx1013 to rocrtst.
Change-Id: I49c4aafc661d7c2ba6fd6baa006bf698b0af5274


[ROCm/ROCR-Runtime commit: 8d789461bf]
2021-09-14 22:55:43 -04:00
Sean Keely 2537a8b1c2 Place GPU local resources in nearest NUMA node.
For minimal latency we should place command queues and blit code
in the nearest numa node to each GPU.  Add an allocator matching
the current runtime default allocator interface to each GpuAgent
that allocates on the closest numa node as represented by kfd
topology.  Use this allocator for queue ring buffers and blit
objects.

Change-Id: I181127f9c27bafe68976312963146616e3f58369


[ROCm/ROCR-Runtime commit: 5af558f739]
2021-09-14 17:49:24 -04:00
Philip Yang a6335e1ae2 libhsakmt: fix multiple threads register userptr race v2
After calling ioctl to create userptr obj, take aperture lock, check if
there is same userptr obj created after finding object, to catch the
race that multiple threads register same userptr to multiple GPUs.

If same userptr obj exist, then increase userptr registeration_count,
and free the newly create obj.

Change-Id: I63ae3a4f54da8aedd11c124d8d53ebe727b8203a
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: 8f7443494a]
2021-09-14 12:36:36 -04:00
Philip Yang 35f00d04ff Revert "libhsakmt: fix multiple threads register userptr race"
This reverts commit f94be2078c.

Change-Id: I954326d9a291280de7c9b7ef49a8cce0cd9dd9ad
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: a809a5bf32]
2021-09-14 12:36:36 -04:00
Philip Yang 84c5489f39 Revert "libhsakmt: Fix deadlock in map_mmio"
This reverts commit 559bb50c6a.

Change-Id: Ibd32ac36bcb9ee418957d25b240ef9dd9172fbd3
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: 91b0fce535]
2021-09-14 12:36:36 -04:00
Philip Yang 7f7a7dfd3d Revert "libhsakmt: Fix deadlocks in __fmm_release"
This reverts commit 14d821391e.

Change-Id: Idf636655ac01f569d8e92e9c0e100e5db7d1cb61
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: 445fcd803b]
2021-09-14 12:36:36 -04:00
Philip Yang 6e0aa72a89 kfdtest: add KFDSVMRangeTest ReadOnlyRangeTest
Map readonly range to GPU, test GPU can read range but write to
range trigger GPU vm fault.

Change-Id: Id2ce106055a353f21f4c34fa7f562d546523bc49
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: f9648c5014]
2021-09-14 12:36:35 -04:00
Philip Yang 2d80a00201 kfdtest: add KFDSVMRangeTest MigrateFileBackedRangeTest
To test if SVM support address mmap on file backed memory.

Change-Id: I227cc0b44d167c4fa2e63257e13a481aefa4f750
Signed-off-by: Philip Yang <Philip.Yang@amd.com>


[ROCm/ROCR-Runtime commit: d91f92669b]
2021-09-14 11:59:23 -04:00
Kent Russell fa6f6e94b4 Revert "Revert "Get Marketing name from libdrm-amdgpu""
This reverts commit 8f735fb9d5.

Reason for revert: aqlprofile has merged

Change-Id: Iee0fbe8ac1e475123273b328949f68f10490d3ca


[ROCm/ROCR-Runtime commit: 268bb1ae84]
2021-09-01 07:44:23 -04:00
changzhu 13c2ad6508 libhsakmt: fix KFDOpenCloseKFDTest.OpenAlreadyOpenedKFD Segmentation fault on gfx902
g_props is intialized in topology_take_snapshot which needs to call
hsaKmtAcquireSystemProperties. In hsaKmtOpenKFD, it doesn't call hsaKmtAcquireSystemProperties.
So it needs to change parameter of topology_is_svm_needed from node_id
to EngineId to avoid Segmentation fault on gfx902.

Signed-off-by: changzhu <Changfeng.Zhu@amd.com>
Change-Id: Iba8d20a9142510c70927454d26bdcaf579ad5574


[ROCm/ROCR-Runtime commit: 978028d3f6]
2021-08-31 22:57:24 -04:00
Kent Russell 8f735fb9d5 Revert "Get Marketing name from libdrm-amdgpu"
This reverts commit d919321fd4.

Reason for revert: aqlprofiler hasn't promoted yet

Change-Id: I9e6a4169f014a6181f43ee8ef4810be2667d98bd


[ROCm/ROCR-Runtime commit: 89c9d6a3b9]
2021-08-31 09:11:51 -04:00
Chengming Gui 5adfb1fe5e libhsakmt: Add new DIDs for gfx1030/gfx1031/gfx1032
Signed-off-by: Chengming Gui <Jack.Gui@amd.com>
Change-Id: Iddb27ce2bedda9a57944eca1e2bb93001e61f733


[ROCm/ROCR-Runtime commit: bcd49af8bb]
2021-08-30 23:17:45 -04:00
Jinzhou Su 79438fea3b libhsakmt: Add another gfx90c DID
Add pci device ID.

Signed-off-by: Jinzhou Su <Jinzhou.Su@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Change-Id: Idcf8e99583fc9991a0d71d1e0d7e741a132ed730


[ROCm/ROCR-Runtime commit: 294086096a]
2021-08-30 22:49:02 -04:00
Sean Keely f6dcfa4246 Register the default queue error handler for all internal queues.
Also make failure to handle queue errors fatal.

Motivation is to improve detection of queue error conditions
that currently appear as application hangs.

Change-Id: I655643616dc0bd303d7df3ce8aca2c099bec3d46


[ROCm/ROCR-Runtime commit: 907679c989]
2021-08-27 20:11:58 -04:00
Sean Keely 2692cac562 Add check_required_components to end of cmake package file.
Sets package found and component lists.  ROCr does not have components
so this is mostly cosmetic.  It's part of maintaining a compliant
cmake project config file though.

Change-Id: Ida2ef746375143babd3a6f938727a47135606f01


[ROCm/ROCR-Runtime commit: 9e7d4629ca]
2021-08-27 20:07:26 -04:00
Sean Keely 9870e8b576 Correct queue exception hander termination.
Set handler state to terminated before exiting.
Also simplify scratch handler exit loop.

Change-Id: I0a80c8a1899e8b60a6e7aa6989ba28de42ba31e7


[ROCm/ROCR-Runtime commit: e06dd39d89]
2021-08-27 20:06:44 -04:00
Sean Keely bd71510eaa Minor spelling fix in comments.
Change-Id: Ia99ac3f75444675be48b3d965552fab79da37c92


[ROCm/ROCR-Runtime commit: 76e6ff0411]
2021-08-27 20:06:17 -04:00
Sean Keely 0ad218cbab Build fix for older clang compilers.
Per clang 13 option -Wno-error=unused-but-set-variable is not
recoginized nor is the diagnostic emitted.  Set this option
conditional to the clang compiler version.

Change-Id: I3c0958dffa985d53b641f9eff4e702988dffd033


[ROCm/ROCR-Runtime commit: eec545fd9f]
2021-08-27 20:06:10 -04:00
Sean Keely 07103a6b97 Allow passing zero bits into hsa_amd_queue_cu_set_mask.
Passing 0 into num_cu_mask_count used to be an implicit error.
This has been repurposed as a short hand for enabling all CUs.
Enabling all CUs when HSA_CU_MASK is set will cause the CU mask to
reset to whatever was set by HSA_CU_MASK which may then be queried.

Change-Id: I1d6bb2034595a78ee48fa72aa05563e8ea6c0fff


[ROCm/ROCR-Runtime commit: 02666ec0f1]
2021-08-27 20:05:24 -04:00
Sean Keely dbba14f823 Improve HSA_CU_MASK parsing efficiency.
Delay parsing until after GPU discovery.  Use the surfaced
GPU count and maximum phyiscal CU count to limit parsed bit masks.

This prevents pathological input such as
HSA_CU_MASK=0-8000000:0-8000000 from attempting to consume 7TiB.

Change-Id: I3773d2db3740c2023b0f6275d1818b69119b0495


[ROCm/ROCR-Runtime commit: 2aa0795b33]
2021-08-27 20:05:18 -04:00
Kent Russell 9a063d7e6e CMakeLists: Make sure package provides hsakmt-roct for RPM
RPMs were missed initially

Change-Id: Id9d3fdcb41a25db90c9de71e2035de61928e9a32


[ROCm/ROCR-Runtime commit: af31e9364a]
2021-08-27 07:47:20 -04:00
Mike Li d919321fd4 Get Marketing name from libdrm-amdgpu
Use the database provided by libdrm-amdgpu,as this is maintained by AMD

Signed-off-by: Mike Li <Tianxinmike.Li@amd.com>
Change-Id: I319a46d833cb23173a77fdff1deae69ea58588b8


[ROCm/ROCR-Runtime commit: cb1c84d99b]
2021-08-26 16:43:31 -04:00
Kent Russell eb7a1eea27 CMakeLists: Combine binary and devel packages
Consolidate all thunk components into a single development package
Also declare build dependencies via find_package/library and report the
location of said dependencies during build time

Change-Id: I8524ad1a2d9a664accd93471abacc4bac82b9a7c
Signed-off-by: Kent Russell <kent.russell@amd.com>


[ROCm/ROCR-Runtime commit: 79d00a35f9]
2021-08-26 14:38:10 -04:00
Tony Tye e173a57a05 Update HSA_RUNTIME_ENABLE_MIN_MAJOR to 10
The major version of the debug ioctl functions has been updated to 10.

Change-Id: Iddc8656ad07c92aa30c6a7a99add28ab3a3f5a80


[ROCm/ROCR-Runtime commit: d0ae4b1f3f]
2021-08-21 21:47:09 +00:00