Wykres commitów

12605 Commity

Autor SHA1 Wiadomość Data
James Edwards 99adf5d85f Update README.md 2019-06-19 13:44:12 -05:00
James Adrian Edwards a8dc4b3e37 Add dependencies and support for rocm-cmake style packaging. 2019-06-19 13:44:12 -05:00
Sean Keely bb980462e7 Fix IPC related hangs/faults in rocrtst.
IPC was failing due to calling fork when HSA was open.  The fix
was correcting incomplete cleanup in several other tests.

TestBase::Close (via CommonCleanUp) now checks that HSA is properly
closed between tests.

rocrtstPerf.Memory_Async_Copy uses hwloc which uses OpenCL which
has no shutdown routine.  Consequently this test can not cleanup
properly.  I added a hack to force HSA refcount to the value
it should have if OpenCL were cleaning up but this leaks resources
and potentially puts hwloc & OpenCL in a bad state.

OpenCL loads LLVM which installs some exit handlers.  Those handlers
can't execute in a child process and can't be removed since OpenCL
doesn't cleanup.  IPC hacks around this by aborting rather than exiting
in the child process.

Change-Id: I92326a73d7b11632208717d99728e6dafdc7d3ca
2019-06-19 01:03:52 -04:00
Philip Yang 4066dcd542 kfdtest: increase BigBufStressTest timeout and avoid VM fault
If TTM eviction and restore happens, it may takes very long time if
retry, the longest time is 5 minutes during my test. There is chance
packet is submited to queue while eviction, we have to increase the
Wait4PacketConsumption timeout.

The queue will continue to execute after eviction and restore. If we
upmap the memory from GPU while queue is evicted, this will cause VM
fault. Change to unmap memory after queue is destroyed.



Change-Id: I1b44e2274ea7b83398b2e3293578dad6947cb5af
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
2019-06-18 09:28:43 -04:00
Philip Yang 36776e9917 kfdtest: avoid BigBufStressTest run on NUMA node 0
Because dma32 zone is on node 0, use all system memory on node 0 will
cause TTM eviction to free dma32 zone for other devices which only
work with 32bit physical address. The TTM eviction and restore may take
too long and cause queue timeout.

Running on other NUMA nodes, the NUMA default memory policy is
MPOL_PREFERRED, means TTM will get pages from local node first, and then
get remaining pages from other nodes. Check /proc/buddyinfo can confirm
this.

Reset NUMA bind to all after the test.



Change-Id: I39b373c07a2d5aa396f5c7602bffabab0481930f
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
2019-06-18 09:28:20 -04:00
Sean Keely 0c0e634458 PTHREAD_STACK_MIN may differ from system parameters.
Restrict stack adjustment to non-default stack requests and allow
stack growth within reason (20MB cutoff).

Change-Id: I320280c711402ac29683e94c7246b7c32c797611
2019-06-17 21:04:17 -05:00
Sean Keely 4b22d24346 Revert to SystemClockCounter for HSA system time.
CPUClockCounter is not NTP adjusted (CLOCK_MONOTONIC_RAW) so should be 
better for measurements.  However, it is implemented with syscall while
CLOCK_MONOTONIC is implemented via vDSO.  The latency increase becomes
significant when language layers make corresponding clock measurements.
Reverting to CLOCK_MONOTONIC will reduce latency and allow small
duration events to be measured at the cost of incorporating NTP
frequency skew errors.  NTP may adjust frequency by 500ppm so limits us
to ~3 decimals in elapsed time.

Change-Id: I920b9f707f47109d80d6c256c475638c03fb8d76
2019-06-17 21:07:26 -04:00
Cole Nelson 3f2d2e67c9 kfdtest: Blacklist multiple tests on gfx900/20
PSDB and other jenkins jobs are currently failing on several kfd tests.
This is blocking user throughput for screening patches by PSDB.
Blacklist multiple tests and submit JIRA's.

KFDIPCTest.BasicTest (ROCMOPS-459) .CMABasicTest (ROCMOPS-460) .CrossMemoryAttachTest (ROCMOPS-461)
KFDMemoryTest.BigBufferStressTest (ROCMOPS-462)
KFDQMTest.MultipleSdmaQueues (ROCMOPS-463) (ROCMOPS-416)
KFDEvictTest.BurstyTest (ROCMOPS-464)

Change-Id: I2c7cdeabc26654f39823201ce86d4113b3a98a0e
Signed-off-by: Cole Nelson <cole.nelson@amd.com>
2019-06-16 19:24:22 -04:00
Chris Freehill 259a1bac18 Temporarily disable some failing tests
Change-Id: Iee713bb963db812c36ce2568aee2a4f8409c52e5
2019-06-14 08:36:11 -05:00
Ori Messinger fe4db33875 Remove passing blacklisted kfd tests
This relates to the following commits:

1. commit aa7c13264a
2. commit 54807526b9
3. commit 6df62c78b8

Change-Id: I3d0d3214baba403b4709b358132b6756a15f42d7
Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
2019-06-12 06:14:46 -04:00
Sean Keely bbb90bdfc9 Fix description of HSA_AMD_MEMORY_POOL_INFO_ACCESSIBLE_BY_ALL.
Description was inconsistent with itself and code.  Existing behavior
returns HSA_AMD_MEMORY_POOL_INFO_ACCESSIBLE_BY_ALL == true for system
memory pools only and system memory pools do require hsa_amd_agents_allow_access.

Change-Id: I64b287bff9fdb21688aa169296e410edf1b209b5
2019-06-11 01:45:22 -04:00
Oak Zeng 888e1a7ae7 Use kfd fd to mmap mmio
Change-Id: Iadd2e1ea46d0951aaa5a6cefbc7d42d1b2c1f653
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2019-06-10 21:07:45 -05:00
Oak Zeng 65d554f5e4 Thunk API to allocate queue GWS
Change-Id: I6c5b109e2567cb71aed9245923cfcbeee6295ab2
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2019-06-10 21:07:45 -05:00
Oak Zeng 45d717d860 Add node property to report number of GWS
Change-Id: I81263ca7ebfa3c0f9f1be78acfa0920e47d551b1
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2019-06-10 21:07:45 -05:00
Evgeny 500c7d1f0d KFD loader fix
[ROCm/roctracer commit: bd740152e5]
2019-06-07 16:32:31 -05:00
Evgeny bd740152e5 KFD loader fix 2019-06-07 16:32:31 -05:00
Felix Kuehling 396a85e97b kfdtest: Allocate PM4 queue and dispatch earlier KFDEvictTest.QueueTest
Allocating these before the big memory allocations minimizes the chances
of spurious out of memory errors.

Change-Id: I94aff9ec7ea34d4dc98ae08ac4cf9dc335b3df7f
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-06-07 16:54:28 -04:00
Felix Kuehling f474cf21cd kfdtest: Reduce libdrm VRAM usage in eviction tests
This reduces thrashing due to graphics submissions only and
significantly speeds up the BasicTest when keeping idle compute
processes evicted. In the BasicTest  compute is always idle, so
only one compute eviction and no restore is triggered. Then
graphics submissions complete quickly without thrashing each other.

Change-Id: Iae6da98903b20424a5097f235e1d09cf13e4b41b
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-06-07 16:54:28 -04:00
Felix Kuehling 6984f3e3b4 kfdtest: Add KFDEvictionTest.BurstyTest
Change-Id: I748603b0b204ffc3ea33399ecbc022233a7447d3
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-06-07 16:54:28 -04:00
Felix Kuehling 6f5379d315 kfdtest: Pass timeout parameter to BaseQueue::Wait4PacketConsumption
Change-Id: I0e88db5ca8e6712e9efc419a10eb4c49cedb6f62
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-06-07 16:54:28 -04:00
Evgeny 0b81a0d5ac adding KFD wrapper loader
[ROCm/roctracer commit: feda4468b7]
2019-06-07 12:44:06 -05:00
Evgeny feda4468b7 adding KFD wrapper loader 2019-06-07 12:44:06 -05:00
Evgeny a06d96cef8 aqlprofile API: sdma blocks
Change-Id: I619af8adc17706f808644180cdd5a5c785e052ec
2019-06-05 18:54:08 -05:00
Evgeny 988283533f adding SPM test
Change-Id: I55dde52e668206e238ea860dd11e0ed5501a582a
2019-06-04 15:34:21 -05:00
Evgeny 2c091d01d0 adding SPM test
Change-Id: I55dde52e668206e238ea860dd11e0ed5501a582a


[ROCm/rocprofiler commit: 988283533f]
2019-06-04 15:34:21 -05:00
Evgeny 6d6eb2b2d0 adding SPM trace support
Change-Id: I07c0d3ec5c4ec51ea00fea539c930c6ed27b1163
2019-06-04 05:07:19 -05:00
Evgeny 1fecf4774c adding SPM trace support
Change-Id: I07c0d3ec5c4ec51ea00fea539c930c6ed27b1163


[ROCm/rocprofiler commit: 6d6eb2b2d0]
2019-06-04 05:07:19 -05:00
Felix Kuehling f5a094bc96 libhsakmt: Update kfd_ioctl.h
Change-Id: Ibf165023b98787fdf295f50324e19aa062f2421d
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-06-03 19:15:49 -04:00
Evgeny 1be9298f72 adding new trace API
Change-Id: I6c83b5789f5a6cdbb574d041c40d5a47229c7f1a
2019-06-01 14:33:59 -04:00
Eric Huang 47d1c17592 kfdtest: fix error injection failure in RAS test
1. umc error injection only accepts parameter "0 0".
2. flush output to file in order to make writing happen
   immediately.

Change-Id: I8d3bde287caee6b90b6eec56c760f5a228be7595
Signed-off-by: Eric Huang <JinhuiEric.Huang@amd.com>
2019-05-30 16:38:15 -04:00
Eric Huang d278b2579e kfdtest: fix debugfs path bug in RAS test
The path was wrong based on assumption that GPU dri render
node starts from 0, because if there is a VGA device on
board, node 0 will be VGA and node 1 will be GPU. So the fix
will look at the name of GPU minor node and find the correct
primary node on which RAS debugfs entry exists.

Change-Id: Icc5e63ce48698d5d29105c0417e3bec8afa0a7c8
Signed-off-by: Eric Huang <JinhuiEric.Huang@amd.com>
2019-05-29 11:14:22 -04:00
Matt Arsenault 0016c6ce5b Don't check VERSION_BUILD is defined
Check if it is true or not. The string() call would define this to an
empty string, which would pass. This would then leave a trailing -
in the version string, which dpkg would error on during package
installation.

Change-Id: Ifb5fc15f5dde506e96bff7881a5d3f22d983406e
2019-05-29 11:09:31 -04:00
Jenkins dbdb1a9248 Merge 'master' into 'amd-master'
Change-Id: I3b26f926aafd63fa403a46e93d1889f8560fa160
2019-05-27 02:12:53 -07:00
Sean Keely 22de0e7fb9 Allow hsa_status_string when HSA is closed.
API is a stateless lookup of RO data and needed to interpret
hsa_init error codes.

Change-Id: If80cba2f697843d08e529da0f790acf3c37127a7
2019-05-24 22:40:03 -04:00
Sean Keely 9f81bdfbe1 Add exception and error safety for CreateThread.
Change-Id: I82aaf64e039ca9614b4948deec1f87147f56279a
2019-05-24 22:39:55 -04:00
Chris Freehill 11f714326b Add support for junction, edge and memory temperature sensors (#42)
* If vendor/device/subsystem name is not found, use device ID string

* Update documentation for get-name functions

* Add support for junction, edge and memory temperature sensors
2019-05-24 15:24:49 -05:00
Matt Arsenault 22d29b55a4 Change include flag order
Search the local src directories first. If using a system
installed hsakmt, this would pick the installed hsa headers.

Change-Id: I9746d6e9db1749a130e4d93e024556754a537083
2019-05-22 16:43:18 -07:00
Jenkins ff34ce64d3 Merge 'master' into 'amd-master'
Change-Id: I64c161435e761eefeb415069a2f4bed81f089d25
2019-05-18 11:28:21 -07:00
Felix Kuehling 64b90261d9 libhsakmt: Enable invisible debug VRAM mappings by default
Remove the HSA_DEBUG environment variable that controlled the
creation of these mappings.

This should allow the debugger to attach to a running process and
access VRAM buffers through ptrace without having to do anything
special.

On processes that create many small VRAM mappings, this may cause
regressions due to the per-process mmap limit. However, the
sub-allocator in ROCr should consolidate most small allocations
into 2MB blocks nowadays, for good TLB efficiency. So this is
unlikely to cause problems.

Change-Id: I929da1be0f6cb51ec00a02f3f241d16083e4d95f
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-05-17 18:28:14 -04:00
Chris Freehill 59538cd004 If vendor/device/subsystem name is not found, use device ID string (#41)
* If vendor/device/subsystem name is not found, use device ID string
2019-05-16 16:15:17 -05:00
Evgeny dda18dc106 support for python apps profiling
[ROCm/roctracer commit: 0d7f600c7a]
2019-05-16 15:35:26 -05:00
Evgeny 0d7f600c7a support for python apps profiling 2019-05-16 15:35:26 -05:00
Sean Keely a913549190 Correct pthread join/detach handling.
Joined threads can not be joined more than once nor can they be detached.
Thread library wait and close allows multiple waits and separate close so
this fixes the pthread implementation.

Change-Id: I0019271a438f11ed4c6c11854011f5c4f6e16b65
2019-05-16 12:14:06 -05:00
Evgeny c0703c063c support for python apps profiling
Change-Id: I2dd6d9d760abb1dab59f0d3464b9a50008694187
2019-05-16 12:07:07 -05:00
Evgeny cc7268a832 support for python apps profiling
Change-Id: I2dd6d9d760abb1dab59f0d3464b9a50008694187


[ROCm/rocprofiler commit: c0703c063c]
2019-05-16 12:07:07 -05:00
Chris Freehill acc508de60 Merge pull request #40 from cfreehill/master
Check for root access early for functions that require it
2019-05-15 16:55:43 -05:00
Chris Freehill 7b9ff01a37 Check for root access early for functions that require it 2019-05-15 16:54:20 -05:00
Chris Freehill 371905fbd9 Merge pull request #39 from cfreehill/master
Updated google test to googletest-release-1.8.1
2019-05-15 10:26:09 -05:00
Chris Freehill 8dc774a31d Merge pull request #2 from RadeonOpenCompute/master
Bring cfreehill fork in sync with RadeonOpenCompute repo
2019-05-15 10:23:36 -05:00
Chris Freehill 98c2ad6aaf Updated google test to googletest-release-1.8.1 2019-05-15 10:21:37 -05:00