Commit Graph

8920 Commits

Author SHA1 Message Date
Sean Keely 402eae11b6 Correct rocrtst cmake.
Generates symlinks exactly once.
Admits parallelism to code object compilation.
Adds proper dependency tracking.
Adds code object files to the packages.

Change-Id: If471961906f16a2ffdc6bf5f682a4e322fb38f3e
2021-10-18 11:10:50 -04:00
Sean Keely 534dc3f60c Correct rocrtst pool iterator.
GetGlobalMemoryPool had improper return codes for an iterator callback
and did not properly order the APU pool selection path.

Change-Id: I01ab9d23e2352be98d9718bc25889ad4f779d3ca
2021-10-16 05:02:05 -04:00
Sean Keely 4b0c94cfe8 Silence Clang warning.
Clang warns about bitwise operators on bools.  Cast to int silences
the warning without introducing short circut logic.

Change-Id: I6e25138e1acf4a5562d3925ea5b2fcef3addb783
2021-10-14 23:56:58 -05:00
Sean Keely efeee734db Drop -Werror.
Would be nice to get warning count changes highlighted in CI though.

Clang's increasingly suspect diagnostics has caused multiple build
breaks without highlighting any actual issues.
Also: https://embeddedartistry.com/blog/2017/05/22/werror-is-not-your-friend/

Change-Id: I7dc82da58cd86f7b4f1a9fb511c4c039419271d4
2021-10-14 23:54:45 -05:00
Kent Russell f7e90798a0 CMakeLists: Refer to libdrm-amdgpu1 for DEB
This is required for Marketing Name, but Marketing Name isn't a hard
requirement for ROCT, so make it a Suggested package for DEBs.

Adding a commented-out possible solution for RPM-based distros, as
unfortunately SLE <10 and CentOS/RHEL <8 don't know what "SUGGESTS"
means. Potentially we will add a check that the build environment
that determines if we require the REQUIRES field to be used.
Hopefully we can work out the RPM side quickly, but for now enable
SUGGESTS on DEB as a start

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: Icea689a14c185964e7f47fb23ee432f9b35ccb03
2021-10-14 13:20:29 -04:00
Ori Messinger e2d9a37e5f ROCm SMI CLI: Add --showtopoaccess Functionality
The purpose of this patch is to implement --showtopoaccess
functionality in the CLI, which shows True or False if P2P is
possible between two given GPUs.

Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
Change-Id: I07d70d80ae7b484136b31d5d22780c4990029391
2021-10-14 11:06:05 -04:00
Ori Messinger ff02042c64 ROCm SMI LIB: Add rsmi_is_P2P_accessible() API
Implements rsmi_is_p2p_accessible API.
The function returns True if P2P is possible between two nodes.

Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
Change-Id: Ic7316eebcec4480175c7ad04c21a42b2e1a4c454
2021-10-13 22:01:33 -04:00
Sean Keely 5e8d261352 Skip inital CU mask setup unless HSA_CU_MASK is defined for the GPU.
Limits CU masking application to cases where it is explicitly requested.

Change-Id: Ib65ad0ac98f86d840c0328fa15ce40c05cd4bfae
2021-10-12 20:31:56 -05:00
Freddy Paul ca899ea429 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
2021-10-12 14:56:02 -05:00
Sean Keely 19c1e92b4c 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
2021-10-11 19:15:07 -05:00
Xiaomeng Hou df59bfd57b 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
2021-10-11 02:32:09 -04:00
Xiaomeng Hou 9597fe3ae5 Add gfx1035 to rocrtst.
Change-Id: I276942b8badfd5ee2914e78c6c140d80d7cf4b2d
2021-10-11 02:31:45 -04:00
Ammar ELWazir aa41554130 SWDEV-275232: Replaced the use of on_exit()
on_exit() registered exit_handler function, but in the case of OpenMP applications the registered exit func exit_handler was called after the dlclose of the library. So we removed exit_handler from roctracer as it is already handled in both rocprofiler and rocprof script.

Change-Id: I7c3d42e6ccc282e713b48b4a7faec4935e7a2600
2021-10-09 17:36:36 -04:00
Kent Russell 5a8c9a54f1 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
2021-10-08 13:09:01 -04:00
Sean Keely 5e3983cb93 Check errno for error type in hsaKmtAllocQueueGWS.
Check errno rather than err and drop negation.

Change-Id: I1804d67292c3b054eab8fc077c8e9b22a8cdcc9f
2021-10-06 15:08:28 -04:00
Sean Keely b67bc6fcc9 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>
2021-10-06 15:07:22 -04:00
Laurent Morichetti 63d20312ae Install merge_traces.sh in $prefix/bin
Change-Id: I6cea078e5b64a68d7bd269dc3aab976a7ab7b5c7
2021-10-05 21:29:53 -07:00
Chun Yang a8b5d6cf33 SWDEV-283942 SWDEV-292075
Fixed exception thrown when ROCP_HSA_INTERCEPT not set or set to 0;
Fixed ROCM hsa_init() failed with error 4096 when trying to read hardware performance counters;
Fixed LD_LIBRARY_PATH to include necessary library;

Change-Id: Idcb7ff807a79f4267374c34041d3bca33d85f532
2021-10-05 10:44:26 -04:00
Chun Yang 2519d00c17 Fixed corrupted multithread map handling
Change-Id: Ib7d33a4b7f3306b7195ff89c28b021fb1fa6bc88
2021-10-04 20:06:32 -04:00
Bill(Shuzhou) Liu e6692c08d3 Add cmake target for rocm_smi
rocm_smi will provide cmake files exporting the INCLUDE/LIBRARY targets.

Change-Id: I1943a3142bdc0abd8f03ff62e12e947aac835401
(cherry picked from commit 088fe48d12)
2021-10-04 11:09:31 -04:00
Bill(Shuzhou) Liu 088fe48d12 Add cmake target for rocm_smi
rocm_smi will provide cmake files exporting the INCLUDE/LIBRARY targets.

Change-Id: I1943a3142bdc0abd8f03ff62e12e947aac835401
2021-10-04 11:08:23 -04:00
Sean Keely a2fb1cbfbc 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
2021-10-03 12:29:12 -04:00
Sean Keely c9440e7b11 Fix queue leak in Enqueue Latency test.
Change-Id: I50d17fb23d772ae8b966207f4af038ca538dcbb8
2021-10-03 12:27:49 -04:00
Sean Keely 234ef77e32 Close KFD when failing due to debugger state.
Change-Id: I6a6890fd9e86d27f87ae96de1c47c89d40a4e010
2021-10-03 12:27:49 -04:00
Jonathan R. Madsen c56b49a0bd v0.0.3: MPI wrappers w/o full MPI support + setup-env.sh (#15)
* v0.0.3: MPI wrappers w/o full MPI support + setup-env.sh

- bumped to v0.0.3
- enabled gotcha wrapping of MPI functions w/o enabling MPI
- added setup-env.sh script
- minor updates to testing
- Update timemory submodule
- fixes tim::component::configure_mpip undefined symbol
- Script updates
2021-10-01 16:46:03 -05:00
Philip Yang f82927ad65 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>
2021-10-01 15:56:38 -04:00
Philip Yang 5adb142dc7 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>
2021-10-01 15:56:38 -04:00
Chun Yang 6820a07d1a Merge "Changed function param passing from ref to value" into amd-staging 2021-09-30 12:03:32 -04:00
Sean Keely 280a458d0c 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
2021-09-30 05:53:49 -04:00
Chun Yang d024c48c56 Changed function param passing from ref to value
Change-Id: I4e5feec09705e4e4bab5f9dcf320fc25a59c0762
2021-09-29 18:46:42 -07:00
Elena Sakhnovitch 2f84906cc2 [rocm_smi.py]: fix fan 255% error
signed-off-by: Elena Sakhnovitch
Change-Id: I265ba32bc3777db5f04f1924547fe432ba78c3d0
2021-09-29 21:11:06 -04:00
Jonathan R. Madsen 02f59ec9dc Release 0.0.2 (#14)
* Fixed Dyninst TBB symbolic links + bump to v0.0.2

* hosttrace exe and library updates + submodule updates

- Updated dyninst submodule with TBB build ORIGIN rpath
- Updated timemory submodule
- Dyninst build with shared libs
- Dockerfile for building packaging
- Disable hidden viz in examples
- parallel-overhead max parallelism
- query_instr in hosttrace
- different file-line info format
- full module names
- minor fix to MPI support
- disable instrumention stack frames by default
- disable trap instrumentation by default
- updated hosttrace output file dumps
- removed cstdlib option
- dyninst DebugParsing option
- improved instrument_module function
- fixed some MPI support
- tweaked some testing parameters
2021-09-29 18:16:13 -05:00
Kent Russell 392e0e2afc 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>
2021-09-29 13:57:17 -04:00
Kent Russell d5d8c022f1 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
2021-09-29 13:56:54 -04:00
Ammar ELWazir 99e2f37c81 SWDEV-298155: Fixing HSA-CLASS REV
Adding the latest commit to pull from the hsa-class git repo that includes the fix for SWDEV-298155
"Fixing the typo in evt_stats.h" https://github.com/ROCmSoftwarePlatform/hsa-class/commit/e6456a6d93cc6d8bcc59bd6ea24f27146f86ff4c

Change-Id: I9984de8ec9204a6cf47a25ce4ac42852473c56c9
2021-09-29 12:27:15 -04:00
Chun Yang ff43ca1542 SWDEV-296922 : Incorrect rounding due to integer division in rocprofiler metrics
Changed var_pattern in tblextr.py to include pattern like "name[0]"

Change-Id: Ibe1c512595cfbdcaca8fa5bddceb3f6a570caf43
2021-09-29 09:15:11 -07:00
Bill(Shuzhou) Liu a640e5c821 Add cmake target for RDC
RDC will provide cmake files exporting the INCLUDE/LIBRARY targets.

Change-Id: I8e8aeff426c45eae823d988f6473424ccf29687c
2021-09-28 13:53:44 -04:00
Yifan Zhang 04b149b7fd 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
2021-09-24 21:57:54 -04:00
Aakash Sudhanwa 06b1f25172 Revert "CMakeLists: Make libdrm-amdgpu1 a suggestion"
This reverts commit 4144a0d2a4.

Reason for revert: Breaking on Centos7

Change-Id: Ibd5a7c5d4e8c07defec45821ae1faa525cfc916d
2021-09-24 16:35:53 -04:00
Chun Yang f9017cbdc5 SWDEV-296922 : Incorrect rounding due to integer division in rocprofiler metrics
Changed derived metrics to double from int64.
Fixed standalone test due to int64 to float change
Fixed intercept test due to int64 to float change.

Change-Id: I49631c187406ae9dd94a869b3bb13772012e8cdf
2021-09-23 14:52:35 -07:00
Icarus Sparry 2a1a002f74 Add owner write to rcdi permissions
Needed to work around a debian packaging bug if debug information is
being produced in a separate package.

Signed-off-by: Icarus Sparry <icarus.sparry@amd.com>
Change-Id: Ieab3cc3515eeeb952159acea3dc1effd14613eeb
2021-09-22 18:11:50 +00:00
Sean Keely e0224ad89f Correct typo in package dependencies.
Change-Id: I3c378479ceb822e55168517e041a48fa8a2d3d98
2021-09-20 21:00:15 -05:00
Sean Keely 2e9a9f7c7a 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
2021-09-20 19:23:04 -05:00
Jonathan R. Madsen 6c93674f92 cmake-format + miscellaneous tweaks (#13)
* cmake-format + miscellaneous tweaks
* Formatted cmake in examples and tests
* Updated linux-ci.yml artifacts naming
* Updated clang-format
* Fixed submodule branches
2021-09-20 11:12:06 -05:00
Jonathan R. Madsen e6ead5ab3f Updates timemory and dyninst submodules (#12)
* Updates timemory and dyninst submodules
2021-09-17 21:02:30 -05:00
Bill(Shuzhou) Liu bd034263d4 Make RDC to respect the LD_LIBRARY_PATH pass by the cmake
The RDC override the LD_LIBRARY_PATH to force to use the current grpc
path. The change will also add original LD_LIBRARY_PATH to it.

Change-Id: I48da84c3135c6ede129c3cb9148dbb1896b652c3
2021-09-17 15:52:30 -04:00
Kent Russell 4144a0d2a4 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>
2021-09-17 10:11:45 -04:00
Sean Keely a8c3ea82a4 Add debug option to skip setting the initial cu mask.
Adds debug variable HSA_CU_MASK_SKIP_INIT.

Change-Id: I5c742d1184a36fdef818bc50c3b780b859b68560
2021-09-16 23:43:49 -05:00
Sean Keely 5535b1f86f Correct fast f16 capability reporting.
Was hard coded to false.  Updated to reflect f16 availablity since
gfx8.

Change-Id: I7d5b9792c8e0163199c421a61b5d49b25cd98645
2021-09-16 21:15:52 -05:00
Philip Yang 88e6921d45 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>
2021-09-16 10:51:56 -04:00