Граф коммитов

2930 Коммитов

Автор SHA1 Сообщение Дата
xinhui pan 17e104702a thunk: fix a memory leak
Hit queue create failure when do kfdtest with --gtest_repet=-1

fix: d89e9165("Remove the use of IS_DGPU()")

Change-Id: I04fa73f90cef13a5517dbaceb89c41dc0f821a79
Signed-off-by: xinhui pan <xinhui.pan@amd.com>


[ROCm/ROCR-Runtime commit: eb5539fb10]
2018-08-10 15:51:32 +08:00
Yong Zhao 6086ae78bb Differentiate gfx700 and improve the logic by introducing is_gfx700()
Because gfx700 has local memory but other APUs don't, we should reflect
that in the code. Meanwhile, fix a bug that on gfx902 svm aperture is not
added when calling hsaKmtGetNodeMemoryProperties().

Change-Id: Id840f2db0b14fda9ee713b219a9474c15f8a9771
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>


[ROCm/ROCR-Runtime commit: 110e754f64]
2018-08-09 21:39:37 -04:00
Sean Keely 896a035951 Experimental flag to swap copy agent for async copy APIs.
Adds env flag HSA_REV_COPY_DIR.  If set to 1 async copy will
copy from dst device to src device rather than from src to dst.

Change-Id: I3095642066fa026dc112c2eac06db9393341cd7e


[ROCm/ROCR-Runtime commit: 6c47780620]
2018-08-09 10:58:14 -04:00
xinhui pan ed7fc6883d thunk: fix a vm area release issue
On some asics, like tonga, the memory alignment size is as big as 0x8000.

fmm_allocate* alloc vm area with size passed in which is not aligned mostly.
But __fmm_release free vm area with vm_object_t->size which is aligned.

That might cause aperture_release_area fail to free the vm area as the
size might be bigger than zone itself or it just free another vm area
nearby unexpected.

This patch somehow will alloc more space than it needed on tonga.
gfx900+ is not affected.

Change-Id: I5a88c92b08c4e6f6bc05881798f769b55d6debe9
Signed-off-by: xinhui pan <xinhui.pan@amd.com>


[ROCm/ROCR-Runtime commit: 8fbf4a26ec]
2018-08-09 06:08:15 -04:00
Yong Zhao 569a2dc80f Calculate and store the first gpu mem during initializaiton
Previously we used the first dgpu mem, but after careful examination, we
found it only needs to be a GPU, so we modify the code to reflect that as
well.

Change-Id: I069d9b8e247aed55c1f885b79f743ea8e03ddf93
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>


[ROCm/ROCR-Runtime commit: fe04dd6890]
2018-08-08 13:54:09 -04:00
Jay Cornwall 795fd231b0 Extend SDMA disable list until firmware stability resolved
Change-Id: I5e21cb761ae970ba2b68edd97b1564b36ca1f0f4


[ROCm/ROCR-Runtime commit: 5e1ccdc4a9]
2018-08-08 11:20:14 -05:00
xinhui pan a1348526a3 kfdtest: make p2ptest go through all gpus
Implement sDMA copy packet broadcast.

Each time sDMA will copy its local vram to sysbuf and next GPU's vram.
That will verify where the p2p link is broken.
Currently we just test push of p2p.

test result on 2 cpus, 4 gpus, numa enabled system.
[ RUN      ] KFDQMTest.P2PTest
[          ] Test 2 -> 3
[          ] PASS 2 -> 3
[          ] Test 3 -> 4
[          ] PASS 3 -> 4
[          ] Test 4 -> 5
[          ] PASS 4 -> 5
[          ] Test 5 -> 0
[          ] PASS 5 -> 0
[       OK ] KFDQMTest.P2PTest (190 ms)

Change-Id: Ie6fb2604109e39465b8a873b3bb42abc6259825a


[ROCm/ROCR-Runtime commit: 9d6d0911e4]
2018-08-07 21:13:37 -04:00
Yong Zhao d89e91656b Remove the use of IS_DGPU()
The information can be obtained directly from node id. Also improve the
whole logic for future compatibility.

Change-Id: I130733be4e7930d5953d5e81409905e60c2ec35e
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>


[ROCm/ROCR-Runtime commit: 4bb90d048c]
2018-08-07 18:07:04 -04:00
Felix Kuehling c19dd2582d libhsakmt: Fix problems init_svm_apertures
Unset ret_addr when unmapping the address space reservation. Otherwise
it may try to unmap it again later.

Remember the actual map_size and use it instead of len outside the
reservation loops.

Change-Id: I1a6b3fecfb59e22a713e5ed49c3ed37914cb6fb5
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: c21927f425]
2018-08-03 22:09:52 -04:00
Felix Kuehling fe2c2d1736 libhsakmt: Fix pkg-config file paths
Both the include and libpath were incorrect after recent build
system changes. Use the proper GNUInstallDirs definitions in
libhsakmt.pc.in to write the proper locations.

This is needed for end users building KFDTest, which depends on
correct pkg-config information.

Change-Id: Ia45f36f054c2a607a77e7ecbcbd9eb7edd067348
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: dd6f34b7f5]
2018-08-03 20:17:09 -04:00
Felix Kuehling 046dd07a7c kfdtest: Blacklist Fragmentation test on all chips
This test has been intermittently failing for various reasons and
was already disabled on all chips except Ellesmere. It stresses
memory management in unusual ways by having lots of memory allocated
but +# not mapped, which is not relevant to compute applications over
ROCr.



Change-Id: I6b791ca7e2e0fcfe93fc720063b4b56acfded751
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: 5c742f3e5e]
2018-08-03 20:14:46 -04:00
Eric Huang 6f330cf658 KFDEvictTest: change buffer size and add GFX vram allocation
This is to coordinate kfd kernel vram limit change, and adding
GFX vram allocation with submission of command nop is to
trigger eviction.



Change-Id: I18615cd13cfde034aae09c188ae3a82babde97b9
Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>


[ROCm/ROCR-Runtime commit: 3167e3b964]
2018-08-03 15:44:32 -04:00
Eric Huang 7162162847 Kfdtest: Change and move drm device function into KFDBaseComponentTest
It is for other test to reuse this function.

Change-Id: Ib0dbc1a267a5bbcd8078ab3265677b53531f86f3
Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>


[ROCm/ROCR-Runtime commit: f8d19104aa]
2018-08-03 15:43:28 -04:00
Yong Zhao 2f6d819f6c Change the confusing type and name in topology
node is used repeatedly and excessively, which caused unnecessary confusion.

Change-Id: I4ae4171887df5e5b85209a5af8a636e6d72e5e82
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>


[ROCm/ROCR-Runtime commit: 08b6685dd5]
2018-08-03 12:00:17 -04:00
Kent Russell c380c7b6cb spec: Only remove ldconf file if uninstalling
$1 is passed in during install/upgrade/uninstall. If this is an
uninstall, remove the ldconf file, otherwise leave it. In yum-based
systems, the uninstall from the old package is executed after the
post-install of the newer package, which will undo the ldconf work from
the newer package.

Change-Id: I1681cb3bc65f0bd802bce5703187ae5f4d3f3530


[ROCm/ROCR-Runtime commit: b629dd1888]
2018-08-03 07:33:26 -04:00
Yong Zhao ff0028e97a kfdtest: Evaluate whether a node is APU based on spec
This will facilitate the user cases that some APU asics is used as dGPU.

Change-Id: Ib3a79ae31a03e7a618c7785166f56282a7617127
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: f3e7870784]
2018-08-02 11:36:40 -04:00
xinhui pan fe9d4bce46 kfdtest: make the output of QueueLatency test more readable
Change-Id: Ib33ac25509b23f2e5869bde126e3f11ef60f017e
Signed-off-by: xinhui pan <xinhui.pan@amd.com>


[ROCm/ROCR-Runtime commit: 86552aba4b]
2018-08-01 10:06:33 +08:00
Yong Zhao a242051cd7 kfdtest: Add run utility files for kfdtest
A README.txt file is added to help the opensource community to use kfdtest
effectively.

After building, run_kfdtest.sh in the building output folder can be used
to run the test.

Change-Id: I9612d9d5a63bd4cdc3a328efd9961d3cc92a6ba5
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 1d43938ac7]
2018-07-31 00:02:04 -04:00
Yong Zhao adbd297f4c kfdtest: Use libhsakmt to replace all the occurrences of thunk
Thunk is an internal name and we'd better reference it using the library name.

Change-Id: I20042bda546e5249530311d3de30c71d99379033
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: f8472a055c]
2018-07-31 00:02:04 -04:00
Yong Zhao 880119d3a3 kfdtest: Add kfdtest source code
The code is a snapshot up to this commit around July 31 2018.

commit b00fadff36a3
Author: xinhui pan <xinhui.pan@amd.com>
Date:   Mon Jul 30 09:53:03 2018 +0800

    kfdtest: skip MMapLarge test on apu

    

Change-Id: I40e9a5a18e5c8f075e5290bb80532f1a3f689058
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 6df62c78b8]
2018-07-31 00:00:34 -04:00
Kent Russell c3bfa17a39 RPM: Add /opt/rocm/lib64 to lib path
CentOS+cmake suffix the "lib" folder with 64 when building 64-bit
packages

Fixes: 146d8ec61b: Clean up cmake install and package



Change-Id: If029afd6e198b812116f3d3b3921b5486a1be355


[ROCm/ROCR-Runtime commit: 3719ec2557]
2018-07-25 20:00:44 -04:00
James Edwards 9a71f7634e Add tools headers and library back to packaging.
Change-Id: If6c9befe50fc111eb154bd5b4eb5c7858f5d510b


[ROCm/ROCR-Runtime commit: 4d7d50feba]
2018-07-16 16:51:12 -04:00
Sean Keely 9751587239 Do not initialize runtime internal queues based on mapping memory to a GPU.
Conserves VMIDs when multiple processes are in use and memory operations
are not GPU specific.  For instance HIP API hipHostMalloc does not accept
a target GPU so when used with one process per GPU (ie GPU == MPI rank) we can
quickly exceed the available VMID slots if every process consumes a VMID on
every GPU.

Change-Id: Ib6fa051290089f71581029c09f9a44b9992237d1


[ROCm/ROCR-Runtime commit: 35a270ef7e]
2018-07-13 19:58:45 -04:00
Chris Freehill 6a51ad6aff Use the new name of the rocm_smi library
Change-Id: I7358b7b819826f1d3d3b0ca99fc5fd1a4e6d9536


[ROCm/ROCR-Runtime commit: 65c3cf27f5]
2018-07-13 11:46:49 -04:00
Chris Freehill 183d68a407 Fix NUMA async copy test
Change-Id: I64b5bd1ac5bf9b58d86c3dfc170bcf06a39abee4


[ROCm/ROCR-Runtime commit: 3cca09ccca]
2018-07-11 19:20:13 -04:00
Sean Keely f902a37ae3 Fix git describe command to retrieve version tags correctly.
Change-Id: I904f5ccdb88c1e28d5eeffd104174fcd57626ee7


[ROCm/ROCR-Runtime commit: c6cf161125]
2018-07-10 20:19:04 -05:00
Sean Keely ca57c58fa9 Fix git describe command to retrieve version tags correctly.
Change-Id: I33282e8130d092e2f56b2f5947946d3c0ee22c60


[ROCm/ROCR-Runtime commit: 63f2a0d280]
2018-07-10 19:49:00 -05:00
Chris Freehill 3dca2b343f Undo temporary work-around for RSMI change
Change-Id: I9bf144add951c95e4eebc8647bffb71d13f4f612


[ROCm/ROCR-Runtime commit: 06759fed5f]
2018-07-09 08:46:57 -05:00
xinhui pan 8e589d853f use rbtree instead of vm_objects list
simple test of mapping many system memory to gpu.
before
[ RUN      ] KFDMemoryTest.MMap
[          ] Using ISA for GFXIP 9.0
[          ] successfully register/map 32GB system memory to gpu
[       OK ] KFDMemoryTest.MMap (36932 ms)

after
[ RUN      ] KFDMemoryTest.MMap
[          ] Using ISA for GFXIP 9.0
[          ] successfully register/map 32GB system memory to gpu
[       OK ] KFDMemoryTest.MMap (11441 ms)

So there is 11s VS 36s improvement.

Looks like we can do something similar with vm_area too.

Change-Id: I0349aacdeddec3534016d28176f0fabf632c61fc
Signed-off-by: xinhui pan <xinhui.pan@amd.com>


[ROCm/ROCR-Runtime commit: ab9017715f]
2018-07-08 22:38:22 -04:00
Chris Freehill fcfa57e7da Temporary work-around for RSMI change
Change-Id: If4913d5d0cdb0415569c75ab312c39b4253cd4fa


[ROCm/ROCR-Runtime commit: ae0c852074]
2018-07-07 22:57:42 -05:00
Wilkin 8c6a5522b5 OpenCL BLIT for Image library
- include support for gfx702

Change-Id: If681a4eef9bd076e25300e1c1bca55b4f7c92b46


[ROCm/ROCR-Runtime commit: 170e2a142f]
2018-07-06 10:35:44 -04:00
Felix Kuehling 16246764ce Fix wrong loop termination condition
Compare with gpu_mem_count instead of deprecated NUM_OF_SUPPORTED_GPUS
to prevent overflows in case no dGPUs are present.

Change-Id: I71fcb7503ba4c20bffadbdb04cefc4e4027a7df7
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: d3228f363e]
2018-07-05 17:04:40 -04:00
Yong Zhao fff19d25ea Set the write permission according to the flag when allocating host cpu mem
Change-Id: I758c2b5b1799e968fa852646e1494fabb68c782d
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 4839882fc8]
2018-07-03 20:39:01 -04:00
James Edwards e9a3a96672 Change packaging for rocr-dev and rocr-ext.
Change-Id: Ia096a2d31ddd7bef2e05bb3d6c58e94d8c339598


[ROCm/ROCR-Runtime commit: 58a411dd36]
2018-07-02 13:40:45 -05:00
Slava Grigorev 7fc9f24d21 Fix 'strncpy' truncating warnings when compiling with gcc 8
Change-Id: Ib145bab9450281da05f70dea34433b83438a756b
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com>


[ROCm/ROCR-Runtime commit: 89e35574e3]
2018-06-29 17:06:08 -04:00
Yong Zhao f55e9ffafb Simplify if else logic for hsaKmtAllocMemory()
The new logic is easier to follow.

Change-Id: I69759a45c5dedaefeff831a2367253d3a4486bd3
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 4eaaf9694d]
2018-06-29 14:39:52 -04:00
Yong Zhao 21dcd70ed4 Rename two variable names in doorbells structure
There were two doorbells, one embedded in another, which are very confusing.
Change the member variable name to mapping to differentiate them. Also,
rename doorbells_mutex to just mutext for brevity.

Change-Id: Iaa14a1a3ee09449a9089fc1fb39c916fdf32fb44
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 5972fac417]
2018-06-28 16:04:35 -04:00
Yong Zhao 7c860f44b6 Fix a bug that fmm_init_process_apertures() returns incorrect value
If opening drm render device fails (usually when the user is not a member
of video group), fmm_init_process_apertures() still returns success,
resulting in weird segfault in a later stage.

Change-Id: Ifbde4481629988944ad7f384d59753c88e287fa9
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 77ec699460]
2018-06-28 16:03:07 -04:00
Felix Kuehling 8ae9870fb8 Fix compiler warning on Fedora 28
Avoid warnings of the type
    error: 'strncpy' specified bound 64 equals destination size

With the destination being 0-initialized, subtracting 1 from the
destination buffer size will ensure that the destination will be a
0-terminated string, even when it's truncated.

Change-Id: I7c3a90482065ce4d020db215e3e41348de51a083
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: fb551a44af]
2018-06-25 14:36:49 -04:00
Felix Kuehling 577a96cfdd Fixup previous commit
Add back missing pthread_mutex_lock.

Handle all error cases in fmm_release.

Change-Id: I8efa561ddadfd769cede5bf86300215ba3fb3dd1
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: 4e766615d7]
2018-06-25 14:24:23 -04:00
xinhui pan 78664b43e7 THUNK: fix deregister memory issues
__fmm_release actually fails to find the object if address is not
pagesize aligned.  And the caller did not notice this as __fmm_release
has no err code return.

So to fix this, move the object lookup in caller, and use vm-object
instead. Also fmm_release will pass up the error code.

Change-Id: Ib8ea1ea5ae844844fd20e8e01f0fdb841d218f2c
Signed-off-by: xinhui pan <xinhui.pan@amd.com>


[ROCm/ROCR-Runtime commit: 8ee5647814]
2018-06-25 14:12:26 -04:00
Felix Kuehling 146d8ec61b Clean up cmake install and package
* Use GNUInstallDirs
* Install headers in $prefix/include directly, drop symlink
* Install libraries in $prefix/lib directly, drop symlink
* Move LICENSE.md from hsakmt-roct-dev to hsakmt-roct

Change-Id: I43562f15cc03029be53e9ec18c337824d8116659
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: 9434223752]
2018-06-20 11:32:53 -04:00
Jay Cornwall 8bd488dfb9 Add hsa_amd_queue_set_priority extension function
Controls dispatch and wavefront scheduling arbitration across quees.

Change-Id: I498f4898b544f79b8fb8514bf7e789ca9da29462


[ROCm/ROCR-Runtime commit: e388a23344]
2018-06-19 19:41:28 -05:00
rohit pathania d7602a31fc Kernel group memory dynamic allocation, basic allocation and free test
Change-Id: I17fdb77f17567ac1b429d9a571cac70ac1e64dd4


[ROCm/ROCR-Runtime commit: 6df6ef778d]
2018-06-15 10:49:10 +05:30
Sean Keely 649bd31cf5 Enable SDMA use without platform atomic support.
SDMA will use atomic completion fences if KFD reports 64bit atomic support.
Otherwise it will fall back to store completion fences.

Change-Id: I12b76f8a74ec3ee96372c250f9824d846051536e


[ROCm/ROCR-Runtime commit: 3e3aa37750]
2018-06-12 15:38:44 -04:00
Yong Zhao 994020ec64 Improve the return value for hsaKmtOpenKFD()
When KFD is already opened, Opening it again should return
HSAKMT_STATUS_KERNEL_ALREADY_OPENED to align with the specification.

Change-Id: Ib10a2d2c48781600bea7d072557d03ccb1a2bc19
Signed-off-by: Yong Zhao <yong.zhao@amd.com>


[ROCm/ROCR-Runtime commit: 7a8566dc03]
2018-06-11 14:08:57 -04:00
rohit pathania 189bd446b5 Modified memory atomics on non Large bar system and pool info test memcmp issue fix
Change-Id: I951fdb6c91508f43b1c51f7eb92870543fc58e53


[ROCm/ROCR-Runtime commit: d8e47ba115]
2018-06-11 18:49:29 +05:30
Chris Freehill bb280f26f8 More emulator friendly tests/examples
Change-Id: I27ab26add14743dfb065238129c14b48913d9df8


[ROCm/ROCR-Runtime commit: 12a81ae96f]
2018-06-08 17:58:37 -04:00
Chris Freehill a2e031949f Disable Signal tests
They are breaking Jenkins builds.

Change-Id: I1647049abee0ebc2a4751e66d9ceed56cadc4c3e


[ROCm/ROCR-Runtime commit: 8a6f0d6b24]
2018-06-08 15:47:09 -04:00
rohit pathania 1f1f69831e Build failure issue in rocmaster 8386
Change-Id: I413abe0c9fbe16ab2e722cf3f7567aa2853e585b


[ROCm/ROCR-Runtime commit: c2ddd11979]
2018-06-07 13:05:39 +05:30