Commit Graph

93 Commits

Author SHA1 Message Date
Emily Deng 46bb10ff2d kfdtest: Fix DeviceSnapshot return fail error for KFDDBGTest.HitMemoryViolation
For the case that the child goes to the second raise(SIGSTOP),
and parent sends PTRACE_CONT, than child exits. Parent will assert at
DeviceSnapshot, as in kfd_ioctl, couldn't get the mm from child pid.

Signed-off-by: Emily Deng <Emily.Deng@amd.com>


[ROCm/ROCR-Runtime commit: 91ef44d3ec]
2025-03-13 13:38:46 +08:00
Apurv Mishra 1e279a19c3 kfdtest: limit GFX VRAM allocation to 1/4 sys mem
reduce the allocated memory for GFX VRAM as
KFD Evict test faced intermittent page faults,
which can be due to larger GFX CS BO size


[ROCm/ROCR-Runtime commit: 85c4b0020a]
2025-03-12 13:54:04 -04:00
Apurv Mishra 77f4bbfdf1 kfdtest: add blacklist for RHEL9 system
add tests for exclusion when running kfdtest
on RHEL9 system, tested with Navi 31

Signed-off-by: Apurv Mishra <apurv.mishra@amd.com>


[ROCm/ROCR-Runtime commit: de8f8f076d]
2025-03-11 16:40:25 -04:00
Amber Lin fffdffc3ce kfdtest: Temporarily blacklist KFDNegativeTest
Blacklist KFDNegativeTest.BasicPipeReset from gfx950 until MEC can
support pipe reset on GC 9.5.0.

Signed-off-by: Amber Lin <Amber.Lin@amd.com>


[ROCm/ROCR-Runtime commit: fcf3f91379]
2025-03-10 10:37:19 -07:00
Jonathan Kim 8cbb23183c kfdtest: Add KFD SDMA queue reset testing
The KFD can per-SDMA queue reset similar to compute queue reset.
Add test.


[ROCm/ROCR-Runtime commit: c879fdefcf]
2025-03-06 14:04:42 -05:00
Jonathan Kim 36c69a6cff kfdtest: Add KFD SDMA queue reset testing
The KFD can per-SDMA queue reset similar to compute queue reset.
Add test.


[ROCm/ROCR-Runtime commit: ee890e7d2b]
2025-03-06 14:04:42 -05:00
Jonathan Kim 06b2c3aeb6 kfdtest: Allow user to modify packet size for SDMA write packets
This is primarily used for debug and negative testing for SDMA queue
reset and shouldn't be used for normal run cases.


[ROCm/ROCR-Runtime commit: d047708317]
2025-03-06 14:04:42 -05:00
Jonathan Kim 297e8f729e kfdtest: Add create SDMA queue by target engine
KFD supports SDMA queue creation by target engine.
Enable this for testing.


[ROCm/ROCR-Runtime commit: 9e57ce48e8]
2025-03-06 14:04:42 -05:00
Jonathan Kim 303cdb8f7e kfdtest: Add SDMA poll memory register packet support
The SDMA can wait on poll user memory.  This is being added to
support per-SDMA queue reset testing.


[ROCm/ROCR-Runtime commit: a957b24153]
2025-03-06 14:04:42 -05:00
David Belanger 2c11a41adc kfdtest: Fix ExtendedCuMasking test case
Modify test case to support XL cards.

Change-Id: I6ad45a290d50a5238804ce7417bcdb33a3912872
Signed-off-by: David Belanger <david.belanger@amd.com>


[ROCm/ROCR-Runtime commit: 3ceb131df5]
2025-02-27 21:25:19 -05:00
James Zhu b42578b070 kfdtest: fix resource leakage
Resource allocated in SetUp/HsaNodeInfo::Init,
needs be delete in TearDown/HsaNodeInfo::Delete.

Signed-off-by: James Zhu <James.Zhu@amd.com>


[ROCm/ROCR-Runtime commit: f8d8b8011f]
2025-02-24 19:38:59 -05:00
David Belanger 75a060fc53 kfdtest: Convert ExtendedCuMask test to multi-GPU framework
Convert test to use multi-GPU framework.

Add mutex to fix intermixed log issue and annotate logging with
gpu node number.

Signed-off-by: David Belanger <david.belanger@amd.com>
Change-Id: Ic2beeadb1eb4b5a9a0710ac1dbd60b9bf1d84c33


[ROCm/ROCR-Runtime commit: f24d789dee]
2025-01-30 11:41:00 -05:00
Sv. Lockal d1507361ec Fix build issues for musl libc (#267)
Change-Id: Ia31330b0f96669966712b58986abeca754c2cbb9


[ROCm/ROCR-Runtime commit: 5d04bd42f3]
2025-01-29 14:31:05 +00:00
Lang Yu 85125b1054 kfdtest: update AtomicIncIsa for gfx12
"s_waitcnt 0" (deprecated in gfx12) is redundant here.

s_endpgm will wait for all outstanding instructions
to complete before executing.

Change-Id: Ia8b4dd0fd8dd713e7ba2cba9db85b7b12cee1dd4
Signed-off-by: Lang Yu <lang.yu@amd.com>


[ROCm/ROCR-Runtime commit: d159b29dc6]
2025-01-28 20:32:41 -05:00
Amber Lin e262729f6f kfdtest: Create gfx950 blacklist
This patch creates the blacklist for gfx950 by copying gfx942 but adding
KFDGWSTest.Semaphore as GWS support is completely removed from gfx950.

Change-Id: I5d7c17e57b8cfd9fae63780ecc9dd55662cfdade
Signed-off-by: Amber Lin <Amber.Lin@amd.com>


[ROCm/ROCR-Runtime commit: 0b6e457201]
2025-01-28 08:26:44 -05:00
Alex Sierra da483d7588 kfdtest: add support for gfx9.5.0 in shader store
Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Change-Id: I48b98ff631bd1aa1a044b60583ff256e43b17423


[ROCm/ROCR-Runtime commit: 268054cd28]
2025-01-26 21:45:07 -05:00
Alex Sierra 840a613723 kfdtest: Add gfx 9.5 as FAMILY_AV
Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Change-Id: Ib5696eee1d4f64c9c87d714eae7c80fbbd1e2b23


[ROCm/ROCR-Runtime commit: e94ff8a36c]
2025-01-26 21:43:55 -05:00
Harish Kasiviswanathan e004ab79f5 kfdtest: Fix KFDASMTest failure on older ASICs
HW_REG_HW_ID1 is only available from gfx12 onwards

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: Ibf4bd62e01ada3dee6dd88762ccb853bab63ff87


[ROCm/ROCR-Runtime commit: 1d71975fcc]
2025-01-13 15:22:20 -05:00
Harish Kasiviswanathan 0c461ee74a kfdtest: Add gfx12 to TargetList for AssembleShaders
Add gfx12 so that it gets tested when KFDASMTest.AssembleShaders is run.
GWS support has been removed for gfx12. Modify shaders to take that into
account.

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I70e87febb6388852ea54d69cf9201339a7910581


[ROCm/ROCR-Runtime commit: f8ae5c47ba]
2025-01-13 15:22:15 -05:00
Lang Yu 6c18e6188d kfdtest: consolidate LoopIsa
1, Initialize the registers before using them is the best practice.
Though the use case here doesn't care whether the registers are
initialized or not, some emulators complain the "read_before_write"
behavior. Initialize the registers used to silence these complaints.

2, Update s_wait stuff for gfx12.

Change-Id: I462b2b0b5017dd2876a5954169d3b6b2f1c2a75b
Signed-off-by: Lang Yu <lang.yu@amd.com>


[ROCm/ROCR-Runtime commit: fe5f12342d]
2025-01-10 21:27:23 -05:00
Kent Russell f256811bab kfdtest: Can't initialize variable-sized objects
Do a memset, since we can't initialize variable-sized objects

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


[ROCm/ROCR-Runtime commit: cc7ff73e7f]
2025-01-09 10:36:06 -05:00
Tim Huang 910ccbbd32 kfdtest: add blacklist for gfx1153
Change-Id: I1f132858cb79c6d0561477fe8ce69aafd93ad351
Signed-off-by: Tim Huang <tim.huang@amd.com>


[ROCm/ROCR-Runtime commit: 7bad0cb4a1]
2025-01-08 21:20:17 -05:00
David Belanger 80523eef97 kfdtest: Add ExtendedCuMasking test case
New implementation of CU mask testing that focuses on correctness of
masking.  Unlike previous implementations, this new implementation does not
rely on performance measurements to decide on the results of the test.
Instead, this implementation checks if waves were executed on all the CUs
enabled and only the CUs enabled.

Test case initially supported on GFX12.

Signed-off-by: David Belanger <david.belanger@amd.com>
Change-Id: I5af8b890179bc9a415fc7f47e736f4971fc40c4a


[ROCm/ROCR-Runtime commit: 9667af97d9]
2025-01-08 17:36:59 -05:00
Kent Russell fba20de05e kfdtest: Explicitly include tuple in KFDCWSR
We can inherit it from gtest, but not in ASAN builds. And we should be
including what we use, instead of hoping to inherit it through other
headers

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


[ROCm/ROCR-Runtime commit: eda54222ea]
2025-01-07 13:57:36 -05:00
Xiaogang Chen 6c592fa29e kfdtest: fix a regession on KFDEvictTest test case
The kfdtest multi-gpu extension only allows using the first gpu(in topology
order) as default gpu for KFDEvictTest test case. We should allow user
to select any gpu in system as default gpu to run KFDEvictTest test case.

Signed-off-by: Xiaogang Chen<Xiaogang.Chen@amd.com>
Change-Id: I8848771d92ae2812fbb96e917454ab3b4a71a2fa


[ROCm/ROCR-Runtime commit: eafa929520]
2024-12-18 10:13:54 -06:00
Xiaogang Chen c1158a6c76 kfdtest: update run_kfdtest.sh when HSA_TEST_GPUS_NUM is enable
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I68e4f4f8fd7397d3b39b3473638836e4531bef2b


[ROCm/ROCR-Runtime commit: ec457752dc]
2024-12-16 12:47:50 -05:00
Xiaogang Chen 2c102990ae kfdtest: Convert KFDSVMRangeTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: Ia4d55c38576c39b3768a847c60d70bda88f65740


[ROCm/ROCR-Runtime commit: cbb38606e3]
2024-12-16 12:47:44 -05:00
Xiaogang Chen bebd577f6a kfdtest: Convert KFDLocalMemoryTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: Iaf20ec15e85ed10998e9735881d3c029abedd3a4


[ROCm/ROCR-Runtime commit: 641f1f797d]
2024-12-16 12:47:39 -05:00
Xiaogang Chen efa2d187f1 kfdtest: Convert KFDMemoryTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I29d7fbb156a88b4df5be5f2fa0c20fbc47b108ed


[ROCm/ROCR-Runtime commit: 10c9b98f6e]
2024-12-16 12:47:34 -05:00
Xiaogang Chen 3925a57cf2 kfdtest: Convert KFDQMTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: Ia3582ab5b802ead4df267eeb280b8e7d37eb0ac2


[ROCm/ROCR-Runtime commit: f229605b06]
2024-12-16 12:47:28 -05:00
Xiaogang Chen 513fa002e3 kfdtest: Convert KFDExceptionTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I545ac485d13a3a56a3b352926ec71daa5b074862


[ROCm/ROCR-Runtime commit: dbccf11ef8]
2024-12-16 12:47:21 -05:00
Xiaogang Chen 8f28056009 kfdtest: Convert KFDEventTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: Id1dc91f654686f159adb1bc70907e11558ee4be0


[ROCm/ROCR-Runtime commit: 0357e2e139]
2024-12-16 12:47:14 -05:00
Xiaogang Chen 77aa32b913 kfdtest: Convert KFDCWSRTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I51646ebd95b2ef4820f7b503bd642deb05a86930


[ROCm/ROCR-Runtime commit: fa31caddba]
2024-12-16 12:47:08 -05:00
Xiaogang Chen 92c4010903 kfdtest: Convert KFDGWSTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I0901750b2ce55bd7f44425b01442d98f0faf12fd


[ROCm/ROCR-Runtime commit: 6c6daf66bf]
2024-12-16 12:47:01 -05:00
Xiaogang Chen a17b24b062 kfdtest: convert KFDGraphicsInterop into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I590be9ea063b0d115641aa5b40be4c376377c1dd


[ROCm/ROCR-Runtime commit: 759ca45f54]
2024-12-16 12:46:55 -05:00
Xiaogang Chen 35939040ba kfdtest: convert KFDPerfCountersTest into multi-GPU test framework
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I29124147394b69c7fb5533a0e54d375d06b1ec13


[ROCm/ROCR-Runtime commit: dd1801df41]
2024-12-16 12:46:49 -05:00
Xiaogang Chen 23a24fb48a kfdtest: Update KFDMultiProcessTest class to support kfdtest run on multiple gpu
Update KFDMultiProcessTest class to fork process on gpu wise.

Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: Ibb12d64b4cbc5f082d737fd8d8a74233b75be13e


[ROCm/ROCR-Runtime commit: c69e660e7a]
2024-12-16 12:46:42 -05:00
Xiaogang Chen 58e0937fb4 kfdtest: Implement an infracture to support kfdtest run on multi gpu
Update class KFDBaseComponentTest to have kfdtest run on multi gpu under google test framework.

Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: If139c4fc6cf062fb800ff171c69cbf9604f98278


[ROCm/ROCR-Runtime commit: b4943d718b]
2024-12-16 12:46:32 -05:00
Xiaogang Chen 7ca6b20d3f kfdtest: Add an env variable to control kfdtest on multi gpu
Add HSA_TEST_GPUS_NUM env variable that controls gpu number kfdtest uses.

This env variable will be used by following patches.

Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I800042f93d4e0955040f450e9b5cf09927971323


[ROCm/ROCR-Runtime commit: 665e6f80bf]
2024-12-16 12:46:25 -05:00
Xiaogang Chen b8279a6de1 kfdtest: Extend gtest log functions
Extend Google test log functions to extend kfdtest running on multiple gpu.

Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I6d8de92fec606309756423b3a6fa2af3558c0517


[ROCm/ROCR-Runtime commit: 36a82593ed]
2024-12-16 12:46:16 -05:00
Xiaogang Chen ca76e3fde0 kfdtest: Separate LLVM initialization and instantiation
Assembler function from LLVM is not multi-thread safe and is ASIC dependent.
To extend kfdtest to test on multiple GPU separate LLVM initialization and
assembler instantiation. Each test uses its own assembler.

Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I94c996e807b81d8b19361b450be985b12042477c


[ROCm/ROCR-Runtime commit: e1fdd6fb5f]
2024-12-16 12:46:07 -05:00
gaba 851cccdce5 kfdtest: Modify system Buf testing size
When using total system memory to test on some motherboard,
the test take very long time, witch looks like system Hang.

Change-Id: Ic31fe60cfb1363fbc8a2d8f7e1cb2bae0e149ea8
Signed-off-by: gaba <gaba@amd.com>


[ROCm/ROCR-Runtime commit: 8c35523225]
2024-12-10 10:55:55 -05:00
Lang Yu 04a13608b7 kfdtest: update PersistentIterateIsa for gfx12
1, Use s_wait_* instead of s_waitcnt
2, Remove a redundant s_waitcnt

Change-Id: Id0f31db0fc520adadd81eb574ad389f63859303a
Signed-off-by: Lang Yu <lang.yu@amd.com>


[ROCm/ROCR-Runtime commit: 37135aadfa]
2024-12-02 19:59:57 -05:00
Emily Deng 7aa33126cf kfdtest: fix event leaks issue
DisableCpQueueByUpdateWithZeroPercentage need to destroy event to avoid
event leak.

Signed-off-by: Emily Deng <Emily.Deng@amd.com>
Change-Id: I4fb51b670fbff1edcd7fd61517f5c8a6674003c0


[ROCm/ROCR-Runtime commit: 1f9c080932]
2024-11-27 19:33:10 -05:00
Emily Deng 7f0c2de9ad kfdtest: Fix the dead lock SignalHandling
The issue arises in the CatchSignal function, which attempts to write to
the standard error stream upon receiving a signal. However, the standard
error stream may already be locked at this point, as the parent process
also attempts to write to the standard error stream after mapping the GPU
memory. This leads to a deadlock, with the program waiting for the
release of the lock on the standard error stream.

Signed-off-by: Emily Deng <Emily.Deng@amd.com>
Change-Id: Ie69354f4342b96ffe1f2a87f655687da1cbee4b9


[ROCm/ROCR-Runtime commit: c8031f2a69]
2024-11-26 19:39:45 -05:00
Eric Huang c931ec17d4 kfdtest: increase test timeout and optimize evict tests timeout
there are some timeout issues of evict tests on recent new boards,
it is to solve those issues and optimize evict timeout, as well
as to give user a chance to change timeout in command line.

Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Change-Id: I2f40c8ea809c55675b0d0b62296b663481e5fb16


[ROCm/ROCR-Runtime commit: 09b899b079]
2024-11-26 11:04:29 -05:00
Jonathan Kim 65ebb89e70 kfdtest: exclude negative testing from gfx908
GFX 9.0.8 may not properly support pipe reset capabilities so disable
test for now.

Change-Id: I3061cdad87eb979ba884c194f4229c0cbb144ee2


[ROCm/ROCR-Runtime commit: 0f02ed6ffb]
2024-11-20 12:23:09 -05:00
Jonathan Kim 4b7e1d79b7 kfdtest: fix dispatch pointers and event leaks tests
KFDDBGTest and KFDNegative test can eat into memory and event resources
for subsequent test interations if unallocated.

Change-Id: Iea170c20df8d487703441181b6c152b61f02d3db


[ROCm/ROCR-Runtime commit: 26d338df12]
2024-11-19 11:25:24 -05:00
Emily Deng f27d995211 kfdtest: Fix InterruptRestore randomly hang
Queue 2's wave blocked the queue 1's wave save, which will cause unmap
queue preemption fail. Add nop per SQ suggested.

Signed-off-by: Emily Deng <Emily.Deng@amd.com>
Change-Id: Iea7f280e35487059c4499ea999b9e0cdf841d1e1


[ROCm/ROCR-Runtime commit: f047f96161]
2024-11-14 23:36:06 -05:00
Jonathan Kim 8af8a65320 kfdtest: add per-pipe reset negative test
Add basic KFD per-pipe reset support.

Change-Id: I0f68c4d33e6d043de0b5cbda1d494640ba8175f1


[ROCm/ROCR-Runtime commit: 865e32baf4]
2024-11-13 13:34:44 -05:00