Wykres commitów

769 Commity

Autor SHA1 Wiadomość Data
Kent Russell bb7e7df02a Remove extra brace, use libsan vs libasan
Change-Id: I82e0d4fc8ea7dc292def7485bcf53c3849442c47
2021-01-14 07:51:23 -05:00
Kent Russell c742764d01 Merge address sanitizer branch into amd-staging
Merge in topic branch to enable address sanitizer and CLANG compilation
support into amd-staging branch

Change-Id: I3fcd24c6fac83d0619bef4cbbc56fd95e9fb009d
Signed-off-by: Kent Russell <kent.russell@amd.com>
2021-01-06 11:50:54 -05:00
Kent Russell 1290d4d56c CMakeLists.txt: Use %{dist} in RPM naming
The %{dist} suffix is part of the package name due to
CPACK_RPM_PACKAGE_RELEASE_DIST, but the string provided to the
"REQUIRES" field lacks it. Add it in here so the devel package can
reference the thunk package correctly. Use a nice function suggested by
Cole since CPACK_RPM_PACKAGE_RELEASE_DIST has caused some infra issues
in the past

This works for packages build in both Ubuntu and CentOS
Also fix a mistake in the naming for DEBIAN packages, which should be a
no-op since both the DEBIAN and RPM PACKAGE_RELEASE variables are the
same right now

Change-Id: I70659d2e1b6ff9027b8564ca4366d81b0c164760
Signed-off-by: Kent Russell <kent.russell@amd.com>
2021-01-06 08:06:49 -05:00
Kent Russell 3c8273c57b libhsakmt: Explicitly set shared/static sanitizer flags
Don't rely on default values for static/shared sanitizer flags, set them
explicitly based on whether BUILD_SHARED_LIBS is defined or not

Change-Id: Ifbfe95269d1cf184237643176a033a3ce98b62f9
2020-12-24 10:32:01 -08:00
Kent Russell 323bab0734 kfdtest: Quote all CXX flags
Otherwise it doesn't play nicely with -O2
Change-Id: I2e5b60c73ee1ec668b186088a4e2e3a03af65033
2020-12-24 10:32:01 -08:00
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
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
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
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
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
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
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
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
Aakash Sudhanwa ac6e96e7a3 Revert "CMakeLists: Fix RPM dependency declaration"
This reverts commit 089fdeb1fe.

Reason for revert: <INSERT REASONING HERE>

Change-Id: Ieaf2da0067c3e89577569c5d478c70b97ca5f5ca
2020-11-17 20:10:45 -05:00
Gang Ba bedecc5957 libhsakmt: Create P2P links
1. Create P2P links
2. Determine FRAMEBUFFER_PUBLIC/PRIVATE only based
   host-accessibility, not peer-accesssibility

Signed-off-by: Gang Ba <gaba@amd.com>
Change-Id: I15fccdc60386b453e2a47849a16df15157324b21
2020-11-17 15:43:12 -05:00
Kent Russell 089fdeb1fe CMakeLists: Fix RPM dependency declaration
RPM needs _REQUIRES at the end, not _DEPENDS, and also requires a space
before the version of the required package.

Change-Id: I9dd70bd92fc2407b7e8b31e4d46df43c52438a65
Signed-off-by: Kent Russell <kent.russell@amd.com>
2020-11-17 12:36:05 -05:00
Gang Ba e8c0426c54 libhsakmt: add Streaming Performance Monitors APIs
Signed-off-by: Gang Ba <gaba@amd.com>
Change-Id: Iab9a98fa2079b7cae7158c524479dfc3fa672407
2020-11-16 16:36:21 -05:00
Ashutosh Mishra aefc173da4 Standardizing Package names
: Enables standards compliant package naming for debian and rpm

Signed-off-by: Ashutosh Mishra <ashutosh.mishra@amd.com>
Change-Id: I177af15ec7a3f909d05135be30a0acc7b0b20745
2020-11-11 00:37:20 -05:00
Tianci.Yin 1231570441 kfdtest: add DID for gfx1010 blockchain SKU
Change-Id: Icd52c5db4dd975086fcfb13deb6727919c1f5809
Signed-off-by: Tianci.Yin <tianci.yin@amd.com>
2020-11-04 01:14:32 -05:00
Chengming Gui f283fe2854 kfdtest: update shader code for gfx10.3 kfdtest
s_store_* instruction set was retired from gfx10.3

Signed-off-by: Chengming Gui <Jack.Gui@amd.com>
Change-Id: Ibe41a3fe7e053fb345b1af6ad4abc22a0885bc81
2020-11-03 22:25:39 -05:00
Felix Kuehling e515fd818b Revert "libhsakmt: optimize system memory allocation"
This reverts commit 8f26c0c40c.

Reason for revert: This commit caused a regression rocrtst memory
subtest: Maximum Single Allocation in Memory Pools failed.


Change-Id: I15330625603f893200a08cd8b5b097f9bf95361f
2020-11-03 12:19:56 -05:00
Jeremy Newton 8026ba250c kfdtest: Use ldflags for drm
This fixes a build issue with kfdtest and the amdgpu pro driver build.

This was requested as kfdtest is needed for regular testing due to the
inclusion of the ROCr/KFD stack in the amdgpu pro driver (OSGSUP-199)

Change-Id: I224d2e9ee3f02065596890b4d8226484f4fac04f
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
2020-11-02 16:46:45 -05:00
Kent Russell e34dfa8ebd kfdtest: Fix bit compare logic by using | instead of ||
We want to compare bits, not check if a defined value is true

Change-Id: Ie51ede96d18eae01aff6677d852a056ee12bd9c6
2020-11-02 06:03:59 -05:00
Kent Russell 761d9d84d2 kfdtest: Add missing default switch label in GetQueue function
There is no default case, and we were missing a few types defined from
hsakmttypes.h. This was found via clang

Change-Id: I26193cb111a9d8220b1eff21c7313fe060288f36
2020-11-02 06:03:59 -05:00
Kent Russell 025036a662 Remove extra strlen call
While the ternary is nice to read, strlen in general is an expensive
call, so call it once and check if the value is greater than our maximum
allowable string length and adjust accordingly

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: Id744f2ba0eb81bb2b3c52eb69f38a615398a655d
2020-10-30 06:44:48 -04:00
Felix Kuehling c7e6f5a274 libhsakmt: handle GPU mapping errors
Don't update the vm_object if GPU mapping failed. Print an error message
to help diagnose underlying problems.

Change-Id: I801ab6fe6c155bd25e6c0358007c106a4a019480
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2020-10-26 18:46:24 -04:00
Felix Kuehling 8f26c0c40c libhsakmt: optimize system memory allocation
Use MAP_POPULATE when allocating anonymous system memory for later
GPU mapping as a userptr. This can speed up large allocations by
more than factor 2. I suspect populating pages in this way is more
efficient than the CPU page fault code path triggered by
get_user_pages in the kernel.

Change-Id: I188bbc1462ccb650d48cbfb1080dbb8eb7ada8b5
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2020-10-26 18:44:20 -04:00
Laurent Morichetti 783e346777 libhsakmt: Fix the ctrl stack size calculation
On gfx9, the maximum number of wavefronts per queue is the minimum of
40 waves per compute units, or 512 waves per shader engine.  On gfx10,
there can only be 32 waves per compute units.

Signed-off-by: Laurent Morichetti <laurent.morichetti@amd.com>
Change-Id: I148d1a4fe6c07cdbfaa1f77939eb29311c81c008
2020-10-16 12:35:11 -07:00
Chengming Gui 4a9d55c414 kfdtest: Add gfx1032 support
Signed-off-by: Chengming Gui <Jack.Gui@amd.com>
Change-Id: I04cd412a5e243dfe7aa7596287341e1671c1521a
2020-10-12 11:30:39 +08:00
Chengming Gui b543f4f77c libhsakmt: Prepare gfx1032 support
PCI IDs have yet to be added later.

Signed-off-by: Chengming Gui <Jack.Gui@amd.com>
Change-Id: I28f657201868423012e856df4310a493b7cd5752
2020-10-12 11:30:39 +08:00
Laurent Morichetti 2ed2e46b9b Update the context save area size
Reserve some space in the context save area for the debugger's
use. There should be 32 bytes per wave for a given queue.

Change-Id: I65ddb6123d0f6afd3149844617ad19023009101d
2020-10-05 12:10:58 -07:00
Jay Cornwall 44f80d170d libhsakmt: Limit control stack size on gfx10
The queue control stack size cannot exceed 0x7000 on ASICs
gfx1010 through gfx1031. The lower limit is not achievable
with AQL so this should have no practical effect.

Fixes control stack size overflow on large ASICs.

Change-Id: Ib78cf6e4c5f096044bf8de24debe211689891caa
Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
2020-09-28 18:14:57 -05:00
Harish Kasiviswanathan 3311785c7b libhsakmt: add device ID for gfx1030
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I3024bf706f88c0e612391f6d8045020101007bdc
2020-09-21 14:23:46 -04:00
Chengming Gui befc7edaea kfdtest: fix MTYPE error when init sdma fence packet
Signed-off-by: Chengming Gui <Jack.Gui@amd.com>
Change-Id: I14a1ef204dbd5ab1e9f1840b9555f88b0df361c0
2020-09-21 03:57:12 -04:00
Jinzhou.Su 7efa823ec8 kfdtest: fix gfx90c blacklist issue
This patch is the hot fix to update gfx90c blacklist 

Change-Id: I41f48154ad5ec3035fcb7891a224fc940dca991f
2020-09-16 09:42:01 +08:00
Jinzhou.Su 36249ddc0e kfdtest:Update gfx90c blacklist
1. Add KFDEvictTest.* for gfx90c based on CI test results

2. Remove SDMA blacklist based on SDMA issue fixed:

Change-Id: I86910fc98a5141f29959b35248a900f0c098a6e8
2020-09-14 22:49:53 -04:00
Huang Rui 8fc816affe libhsakmt: fix to update the param number after remove to dgpu input
This patch is the hot fix to fix the param number checking after remove
dgpu input.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Change-Id: Ic980588f78616f99076de742af580afb4273fb2f
2020-09-11 10:25:37 -04:00
Huang Rui 8ea0d49337 libhsakmt: update gfx90c isa version
gfx90c should use GFX902 which is the same with gfx902.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Change-Id: Id24dc2c85c9f49f36b00889c3b8b1b19cce34e09
2020-09-09 22:10:58 -04:00
Kent Russell 654ee83ac8 Remove -dev make instructions
These are removed now that we've consolidated the dev package
information into CMakeLists.txt from hsakmt-dev.txt.

Change-Id: I49496ec5def85b0af7fa6b15110910528a8e0be0
2020-09-09 11:28:18 -04:00
Kent Russell 0a4b23d625 Fix lintian errors in deb packages
Add extended descriptions and e-mail address to CMakeLists
A lintian error will remain regarding stripping the .so, as we
will not be doing this for Release versions of the hsakmt .so

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: I41c768dee28c0564d92b9c103a6e2d97590e4589
2020-09-09 11:28:18 -04:00
Kent Russell ae4e980ea8 README: Update README info and installation instructions
Added caveat regarding Ubuntu 20.04 /dev/kfd permissions
Edit copyright date, remove outdated HW support list

Change-Id: I3138058a01db6c46cf624bcfb8cfb04c164d9133
Signed-off-by: Kent Russell <kent.russell@amd.com>
2020-09-09 11:28:18 -04:00
Huang Rui ad87f38dad libhsakmt: remove is_dgpu flag in the hsa_gfxip_table
Whether use dgpu path will check the props which exposed from kernel.
We won't need hard code in the ASIC table.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Change-Id: I0c018a26b219914a41197ff36dbec7a75945d452
2020-09-09 20:56:50 +08:00