Commit Graph

8920 Commits

Author SHA1 Message Date
Kent Russell 92ad039915 kfdtest: Add sanitizer flags after C flags are set
Otherwise they get overwritten

Change-Id: I9042422d4515e7ac812ed34779906b0b2c44545c
2020-12-24 10:32:01 -08:00
Kent Russell f6f47aa43d Remove address-sanitizer debug messages
Change-Id: I08509aaed36459329f0a65264e42f287c27f4a18
2020-12-24 10:32:01 -08:00
Kent Russell 9cca1216e9 kfdtest: Support address sanitizer in KFDTest
Change-Id: Iee1182608ddc9896c82feb5004b3fe078d3d3223
2020-12-24 10:32:01 -08:00
Kent Russell 8e0a9aa417 Set -no-undefined properly if it's CC
Address-sanitizer doesn't like it at all. And it's called differently
under clang than gcc, so adjust accordingly

Change-Id: Iebe8cd68618d3f7a4c310419c64b4f73d7ecfda4
2020-12-24 10:32:01 -08:00
Kent Russell 3d9f60d7fe CMakeLists: Address-sanitizer fix and cleanup
Move all the logic into 1 spot, and make sure -fsanitize=address is also
passed to the library flags

Change-Id: I7b60629d32df6436b5c7ad37997fe14ea48f5d72
2020-12-24 10:32:01 -08:00
Gefei Jiang d3bc75d229 CMakeLists.txt: Address Sanitizer Support
1. add sanitize flag to link flags
  2. use ${ADDRESS_SANITIZER} as a condition to turn on/off
     instead of (DEFINED ADDRESS_SANITIZER).
     The latter will always turn the feature on regardless of
     the value as long as there is "-DADDRESS_SANITIZER in
     cmake command line,which will be an issue when merging to
     the mainline
Amended: put -fsanitize=address at the begining in link flags

Change-Id: I84df0e5b6d7fb8f02f18bf7961f25f15cac10443
Signed-off-by: Gefei Jiang <gefei.jiang@amd.com>
2020-12-24 10:32:01 -08:00
Gefei Jiang b92d28bd71 CMakeLists.txt: Address Sanitize Support
ROCMOPS-1249
	correct if statement and -f flag name

Change-Id: I92e9aa30b1c81f855ad269c0c686ec1e136a85fd
Signed-off-by: Gefei Jiang <gefei.jiang@amd.com>
2020-12-24 10:32:01 -08:00
Gefei Jiang f0e6e7ae17 CMakeList.txt -- Support Address Sanitize
ROCMOPS-1249
	append address sanitize flag

Change-Id: Ie5d1e5b8b93022b80e0ca74106a16d53d52e41af
Signed-off-by: Gefei Jiang <gefei.jiang@amd.com>
2020-12-24 10:32:01 -08:00
Evgeny 99eee45546 SWDEV-251491 : disabling tracing on exit
Change-Id: Ifd5f0fbad70afa1e79da8b4b9aa639d899cbea76
2020-12-22 04:55:07 -05:00
Chen Gong 4cf50fdeaa libhsakmt: enhancing support to gfx1033
This patch make get_block_properties() function work on gfx1033 platform

Change-Id: Ie5be7dfb38575eec8b39b91f3ee5b3a31abe8bd1
Signed-off-by: Chen Gong <curry.gong@amd.com>
2020-12-22 14:15:23 +08:00
Ori Messinger 3b52c895cc ROCm SMI Python CLI: Fix --showclkfrq/--showclocks Failure
The purpose of this patch is to check if each valid clock is supported
on the GPU before attempting to retrieve its value.

The valid clocks are: dcefclk, fclk, mclk, pcie, sclk, socclk.

This should get rid of the 'one or more commands failed' message when
running --showclkfrq or --showclocks on a machine that doesn't support
all the possible valid clocks.

Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
Change-Id: I1fb10989fc1a36f38b68a23e17e6e600ed0ac85b
2020-12-18 17:46:23 -05:00
Divya Shikre efd234c9e3 Fix for error while reading gpu_metrics sysfs file
Signed-off-by: Divya Shikre <DivyaUday.Shikre@amd.com>
Change-Id: If69b7eeb3573ebece9ed0cb539f5ddffbe3c2f09
2020-12-18 15:31:16 -05:00
Ori Messinger d9da490214 ROCm SMI Python CLI: Add Json Functionality to showPids
The purpose of this patch is to add Json functionality to showPids
by modifying the print2DArray function to use printSysLog.

Change-Id: Ie834d209b29332777c3f13f776f81c37d94b01b6
Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
2020-12-18 02:16:04 -05:00
Yifan Zhang 742f718722 kfdtest: Take vram size into account when calculate buffer number.
Vram size is relatively smaller in APU, e.g. 512MB.
Current MMBench doesn't support small vram system.
Running MMBench may have below errors:

[ RUN      ] KFDMemoryTest.MMBench
[          ] Found VRAM of 512MB.
[          ] Test (avg. ns)        alloc   mapOne  umapOne   mapAll  umapAll     free
[          ] --------------------------------------------------------------------------
[          ]   4K-SysMem-noSDMA         4569    20098     1292    18835      926     2218
[          ]  64K-SysMem-noSDMA        12738    20469     1030    19201     1293     4560
[          ]   2M-SysMem-noSDMA       256384    21020     1022    20568     1196    36294
[          ]  32M-SysMem-noSDMA      4031812    83750     5406    61156     4312   535656
[          ]   1G-SysMem-noSDMA    129260000   427000    34000   390000    30000 18548000
[          ] --------------------------------------------------------------------------
[          ]   4K-VRAM-noSDMA         3594    19637      979    19624     1357     2829
[          ]  64K-VRAM-noSDMA         3540    21062     1407    19614     1654     3024
/home/foreman/build/hsakmt-roct-amdgpu-1.0.9/sources/libhsakmt/tests/kfdtest/src/KFDMemoryTest.cpp:1119: Failure
Value of: (hsaKmtAllocMemory(allocNode, bufSize, memFlags, &bufs[i]))
  Actual: 6
Expected: HSAKMT_STATUS_SUCCESS
Which is: 0
[  FAILED  ] KFDMemoryTest.MMBench (723 ms)

Fix this issue by changing buffer number calculation in MMBench.

Change-Id: I5cce95707a048248f1e825c807586818619eddaf
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
2020-12-17 07:41:24 -05:00
Ashutosh Mishra d097cb21e1 Standardizing Package name
Enables standards compliant package naming for debian and rpm

Signed-off-by: Ashutosh Mishra <ashutosh.mishra@amd.com>
Change-Id: Ib37d29aedc20b610619f6921f4147b41c0eaf134
2020-12-17 02:47:53 -05:00
Chris Freehill 7e17684532 Correct TestPerfLevelReadWrite test
Enums referenced in the test did not match what's in rocm_smi.h.
Added static assert to try to catch this. Also moved enum string
map to test_common.cc/h where other such maps are.

Also, fixed some cpplint issues.

Change-Id: I683553248ceb2fabb28ce1a1208bc9744aaf88d6
2020-12-16 17:12:04 -06:00
Rachida Kebichi 2d31848c44 SWDEV-259683 HIP API records filtering
Change-Id: I43ca5e022d2c055b6a9bc2c09b4276b490a4b986
2020-12-16 16:29:36 -05:00
Evgeny Shcherbakov 3e4539c95d Merge "calling python3 explictely" into amd-staging 2020-12-16 16:01:57 -05:00
Evgeny bb5f2231a1 calling python3 explictely
Change-Id: I3dda55865bafa41cc6670e414b213f13a2a2a7ac
2020-12-16 14:29:12 -05:00
Chengming Gui 3ed8b96bf0 kfdtest: remove unsupported modifier 'offset'
fix 
v2: fix VGPR conflict
v3: use s_addc_u32 to replace s_add_u32

Signed-off-by: Chengming Gui <Jack.Gui@amd.com>
Change-Id: I8fe6bf1f5bf99544038ad16128c2bebd559d3da9
2020-12-14 17:29:13 +08:00
Divya Shikre 47ca37aef7 Fix for inconsistent GPU indexing between rocm-smi and rbt/hip.
Signed-off-by: Divya Shikre <DivyaUday.Shikre@amd.com>
Change-Id: I0d966c91bfe0f0d51859ff098d15011a3e4e8b29
2020-12-11 15:11:21 -05:00
Chris Freehill db6d8d36ea Make rocm_smi.py handle disappearing PIDs
rocm_smi.py had an issue where it gets process information
in 2 different places. If the process disappears in between
those 2 places, a crash would occur.

This fix gracefully returns in this scenario.
Reading the file information from /proc instead of using
the python subProcess() call was considered, but it has the
drawback of not being able to read the process names of
processes not owned by the caller.

Change-Id: If812c4641f00da37e99defb0740f670107c8a797
2020-12-10 20:53:45 -06:00
Ashutosh Mishra 0054349862 Adapting to rocm_smi_lib changes
The name of rocm-smi-lib64 has been changed to rocm-smi-lib
Hence updating the requisite name here for resolving installation dependency

Depends-On:  Ib37d29aedc20b610619f6921f4147b41c0eaf134
Change-Id: I4efd778b72d43ad8f0842410a94ac1e3d3b9192a
2020-12-10 11:05:20 -05:00
Chris Freehill 6377e0258d Show more info in stderr when rsmi_init() fails
Some rsmi apps fail without much explanation when
rsmi_init() fails. This patch hopes to provide some clues to
the reason for the failure.

Change-Id: Id51308dc327b9871d537dd3e709b677db4ef10bc
2020-12-10 07:32:03 -05:00
Evgeny 249b0c2b26 SWDEV-241265 : fixing scripts
Change-Id: Id7fcc309d0003bc72e972976e1944afd6488001d
2020-12-09 23:10:40 -05:00
Evgeny 4baffc8e53 SWDEV-264282 : fixing tracer_tool linking
Change-Id: I0fd78c01595bbd506f42cf9dfb45f62b2124f704
2020-12-09 22:18:22 -05:00
Huang Rui 9600760ff7 libhsakmt: add gfx1033 support
This patch is to add Van Gogh support on thunk.

Change-Id: I75819329b865e4c38c097e83e3a0cb4e4f566fa2
Signed-off-by: Huang Rui <ray.huang@amd.com>
2020-12-08 23:54:46 -05:00
Bill(Shuzhou) Liu 9bf6e630d6 rdci dmon Segmentation fault if fields do not contain events
Fix the core dump observed in dev test.

Change-Id: Ib008aeeee2f415174dbb0c4ba301b3f9d6d2d54b
2020-12-07 16:52:14 -05:00
Sean Keely bd63a2b690 Cleanup warnings when using clang.
Change-Id: I09f72831e29bccdb4170c54e203872412e2f0b59
2020-12-04 22:18:14 -06:00
Freddy Paul fe1593dda5 RDC:Move rdc deamon to rocm path.
Installing files to standard path across each version and using
ldconfig has issues with side-by-side install.

Usage of RUNPATH/RPATH for ROCm to ensure all ROCm libraries are
picked without the need for ldconfig.

For RDC server to be picked up by systemctl, service config file
shall be a symlink from /lib/systemctl/system/rdc.service to
corresponding RDC file path in a given version of ROCm

For side-by-side install packages of RDC post install scripts
will be removed. Hence Use will have to set the symlink explicitly
for now.

Change-Id: I916da7cf132f0f9c667e2470fac2b0875e3db9d0
2020-12-04 14:43:06 -05:00
Chris Freehill f4938b0ac9 Fix process killed while holding mutex
Previously, when a process holding a shared mutex was killed,
the next time an RSMI application was started, it would not be
able to obtain the mutex--the application would have to exit.
This fix uses pthread_mutexattr_setrobust() to detect this
situation and act accordingingly.

Also, add some missing, needed mutexes and move mutexes
closer to where the protect resource is used.

Change-Id: Icfdc3a246f4cfa3fd008e3f13472199abd76fd35
2020-12-04 12:59:55 -05:00
changzhu 39386c03bf Add distinguish for iommuv2/dgpu_fallback when getting gpuName
The memory tests between iommuv2 and dgpu_fallback are different.So it
needs to ditinguish them.

Change-Id: Icc64e9ae0fc1638c3d148795a5f247d9e5e8e503
Signed-off-by: changzhu <Changfeng.Zhu@amd.com>
2020-12-04 02:24:49 -05:00
Divya Shikre a0d10e021b Fix for syntax error caused due to performance determinism commit.
Signed-off-by: Divya Shikre <DivyaUday.Shikre@amd.com>
Change-Id: I02fbfec667e7f96ab0d0662036cf339a56025ba6
2020-12-02 16:31:01 -05:00
Evgeny b83ffeeab8 SWDEV-258731 : cleanup
Change-Id: Iabcc81576eb8b6c0484eae820c3e25a896da6c5b
2020-12-02 13:52:57 -06:00
Evgeny 7e60bf163e SWDEV-255662 : spm kfd mode support
Change-Id: I840c7e92d3d5a59d8e5402c4d8ef86bc123dd07c
2020-12-02 13:02:45 -06:00
Divya Shikre 60d0f3052f Adding Performance Determinism Mode to rocm_smi lib, CLI & gtest.
A special mode of operation to achieve minimal performance variation by letting
the user have the ability to provide the desired frequency to be set as the soft limit.
The user can control the entry and exit to the mode via rocm-smi a mechanism to
enter / exit performance determinism mode as below.

Enter performance determinism mode:
- hold a lock
- write performance_determinism to power_dpm_force_performance_level
- write input clk_freq to pp_dpm_sclk
- release lock

Exit performance determinism_mode:
- hold a lock
- write auto to power_dpm_force_performance_level
- release lock

Signed-off-by: Divya Shikre <DivyaUday.Shikre@amd.com>
Change-Id: Ia24e27954cdf1c4337ffc83d8948fbdfaf4552d2
2020-12-02 11:11:00 -05:00
Evgeny Shcherbakov 6a59675f01 Merge "Adding dumping of HSA handles" into amd-staging 2020-12-02 06:35:04 -05:00
Evgeny f2c9980647 fixing sqtt trace for zero size case
Change-Id: I75712485f518725af46a3b419339a212d1e762a0
2020-12-01 18:19:51 -05:00
Evgeny 7d8fd0606d Adding dumping of HSA handles
Change-Id: I18e2cfdf2574110bffa09d30c7ac1d3941252939
2020-12-01 16:45:33 -05:00
Bill(Shuzhou) Liu 81ad23343c Add raslib fields to RDC
The new raslib fields are added to RDC for dmon.
* The rdc_field.data, rdc.h and rdc_bootstrap.py are changed
  for new fields.
* The RDC_FI_ECC_CORRECT_TOTAL and RDC_FI_ECC_UNCORRECT_TOTAL are
  removed from RdcSmiLib.cc, and will be gotten from raslib.

Change-Id: I4ee016e3d52e9d38b54406ca129da511f741c6d6
2020-12-01 10:56:36 -05:00
Bill(Shuzhou) Liu 4b3dbc4697 Use relative path to find librdc_bootstrap.so
The python script will search list of the installation folders to
find the librdc_bootstrap.so.

Change-Id: I52e444e6d153c318c731c4b2cd0d8e39b0fd31ca
2020-11-30 13:46:15 -05:00
Philip Cox 4bbfbe7789 kfdtest: increase default timeout to 10,000
The default kfdtest timeout is not enough for certain platforms, and
tests are failing.

Change-Id: I2027eadcbeb12a2fbbc9c55f92f31869fa13dbcb
Signed-off-by: Philip Cox <Philip.Cox@amd.com>
2020-11-27 15:06:41 -05:00
Gang Ba 8e94dde685 kfdtest: check peer accessible with new function
check GPU peer accessible with p2p_links in system

Signed-off-by: Gang Ba <gaba@amd.com>
Change-Id: I026f16564303b687811d6648f0b7f84be6819979
2020-11-26 10:34:06 -05:00
Ori Messinger c0c1fd2098 ROCm SMI Python CLI: Fix --gpureset Bug
The purpose of this patch is to fix a bug present when using the
--gpureset option on a machine that has both an AMD GPU and a
non-AMD GPU (such as a motherboard's integrated graphics).

This bug occurs due to non-AMD GPUs being ignored by the LIB when
enumerating a list of valid AMD GPUs, causing the gpuReset method
to attempt a reset on the integrated graphics.

Change-Id: I1c03a3c41f905786e3c8246ec0c2b42786ff1770
Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
2020-11-25 11:21:36 -05:00
Evgeny Shcherbakov 20f3103b72 Merge "adding tests dry run to check if platform is in working state" into amd-staging 2020-11-24 14:00:31 -05:00
Tony b443397bcc Make supported targets consistent
Add missing target names and make all parts consistent with which
targets are supported.

- Add gfx805 as a supported target.

- Add all ELF targets to genric code.

- Make offline loader match supported targets.

Change-Id: Idab4d69edc71645aecaa83aa55e29c1aeee4c1d6
2020-11-24 03:14:31 +00:00
Evgeny 6aa28d511f adding tests dry run to check if platform is in working state
Change-Id: Ic430e3f959119983a65929fc70332e293cc3448d
2020-11-23 13:09:46 -06:00
Kent Russell 2651ce37d8 Look in /opt/rocm* for SMI for setting clocks to high
Now that symlinks aren't necessarily guaranteed, use "find" to try to
find the rocm-smi, and clarify the error message if it is not found

Also tie in a fix for parsing the output now that the output has changed

Change-Id: I2081442a71731c186c3ad00585a2ba6e8a8e5a28
2020-11-23 14:05:10 -05:00
Mukul Joshi 446ab5c8c7 Update Event Notification test for GPU Reset event
Update the event notification tests to handle both GPU pre reset
and GPU post reset events. GPU post reset event takes sometime to
be generated after the pre reset event, so issue another
notification read to wait for post reset event.

Change-Id: I2812760b184d5357130e478cc35d27b14592abb3
2020-11-23 10:53:23 -05:00
Rachida Kebichi 03fecd0645 Merge "SWDEV-255543 Hsa memcopy info csv gen" into amd-staging 2020-11-23 09:59:04 -05:00