Commit Graph

248 Commits

Author SHA1 Message Date
jatang a4fadb191a SWDEV-1 - Fix another build warning.
Change-Id: Ifed33732752e9d9ec74a244a0104bf571a9fc6c5
2022-12-14 10:14:49 -05:00
Todd tiantuo Li 9168415ca2 SWDEV-354868 - Queue::Create() for RT queue should fail when number of reserved CU's for RT queue is zero (most likely due to being aligned down by dedicatedCuGranularity).
Change-Id: I234e7ff83cb312bf44f5ad4b1a897c079f5106a9
2022-12-09 16:45:10 -05:00
Ioannis Assiouras 72b45e2a1f SWDEV-369581 - Convey copy API metadata to ROCclr
Change-Id: I569462d6d268700d419510255e201bf7d80d6714
2022-12-09 00:27:15 -05:00
Jaydeep Patel cd7034c9bb SWDEV-370537 - PAL does 64kb alignment so no need to do it in runtime. Reverting alignment to 4kb.
Change-Id: If3eaac65bf63bb9b8b73a3cad1bb34d357f1adeb
2022-12-08 14:54:46 -05:00
German 8cf53e7dff SWDEV-370901 - Force sysmem allocation
Adobe AE allocates/destroys system memory per each frame
in some effects, which is a very expensive operation.
Disable pinning and force sysmem allocation in VidMM.
That allows to trigger resource cache in runtime and
avoid paging operations, caused by pinning.
The actual benchmark doesn't have significant improvement
from the change, but GPU view traces are much cleaner.

Change-Id: I92cdd87d37c64611788f05250f71d6fe489b4d7e
2022-12-08 13:06:51 -05:00
Tao Sang 8c582a02ef SWDEV-347733 - Remove luxmark workaround for gfx11
Make gfx11 always use LC by default.
Fix switch order of Navi3x.
Change-Id: I5774563edf4d1aed29a4e92723630adbfb75c48c
2022-12-05 18:38:08 -05:00
Jason Tang 56fe793134 SWDEV-1 - Fix a build error.
Change-Id: I5f14cdca04ee9867f0ae63fff197a0f21ee5f1d2
2022-12-01 10:31:34 -05:00
Jason Tang c825d06454 SWDEV-1 - Fix a build warning.
Change-Id: I085fcc68ef3aaebf85515ea45fca99d7ec845721
2022-11-30 11:07:15 -05:00
German e5a36ab1ad SWDEV-368308 - Remove HW debug extension
Change-Id: If0c68023c09f0dac9111d52ecc0ad63719aa4e70
2022-11-18 10:29:44 -05:00
German 79d12df147 SWDEV-363074 - Adjust staging copy limits in Windows
Pinned copy can cause big performance drops, because slow pinning under Windows.
Use up to 128MB for staging transfers. Change staging buffer size to 4MB.
Linux path should still have the old defaults.

Change-Id: I954edceb3ec89e8e670be116aa2d0a9564c8b11c
2022-11-17 14:48:16 -05:00
Jason Tang 2c09557d60 SWDEV-1 - Add LOG_ERROR output for Pal::CreatePlatform failure
Change-Id: Id5c3fdcd8f822bfa67ae570c09ede7ddc8a936ef
2022-11-10 09:30:10 -05:00
Julia Jiang 9d616ad0f4 SWDEV-360748 - Update return value for hipExtGetLinkTypeAndHopCount_Positive_Basic test on Windows
Change-Id: I0eb984da6e96c2409e1b1bbda61ae694c8bebe94
2022-11-07 10:00:32 -05:00
German c1b22840fa SWDEV-286150 - Switch PAL to 775 version
Change-Id: I8e64cbe0fea273d4bd6f7d3ebd66feb628fac6b9
2022-11-07 09:54:22 -05:00
Todd tiantuo Li 246429bd68 SWDEV-302996 - add gfx1103 Phoenix support - OCL runtime
Change-Id: Ib6b7efa085b734bda6b5b50c720fe9d93e6dbf95
2022-11-04 12:07:22 -04:00
kjayapra-amd ea0ce45ad3 SWDEV-329423 - Enable NV3x target ID related changes on mainline.
Change-Id: I54fafb371976aaa16a452ec65b0c340c5682c264
2022-11-03 21:11:24 +00:00
German 473621c008 SWDEV-365121 - Use CP DMA for tiny transfers
Sync between compute and SDMA engines can be very expensive under Windows.
Use CP DMA for tiny transfers (< 1KiB) to avoid syncs and improve performance.

Change-Id: I9db39a2199f7b9e337ed08fd36d9cbc150502f1f
2022-11-03 10:04:53 -04:00
Tao Sang 06573ac92f SWDEV-363140 - Support performance counter on gfx11
Change-Id: I2216f71f4d4db6dd3766333b0c821cb3d35d7851
2022-11-03 07:59:24 -04:00
German ff6b4db70b SWDEV-363074 - Clean-up sync between SDMA and compute
HIP can't rely on the resource tracking, used in OCL and requires different explicit sync.
Make sure ROCCLR syncs compute only when SDMA is used and vise versa.
The new logic will allow to enable CPDMA without unnecessary waits.

Change-Id: Ib9d1788cfd5afa5ea2fec4c96a37d8b9c4d0059d
2022-10-31 10:02:01 -04:00
German dc4ad8c99c SWDEV-363074 - Enable resource cache for SVM
Blender creates and destroys big allocations during the benchmark.
That causes big delays, because vidmm has to page-in/page-out memory.

Change-Id: I2baf4545807127406e3d2870a7581ff9ae7bcdb5
2022-10-27 16:39:29 -04:00
German c1c5127875 SWDEV-360183 - Finish the trace if queue was destroyed
- Make sure SQQT trace is captured for RGP server if the queue is destroyed before normal capture is done.
- Remove prepare queue from the logic. It's not really used for any HW capture and can cause RGP server abort if destroyed before capture is even started(delayed capture)

Change-Id: I6eb19963190a5769c6477a5496c1b831a6d59b89
2022-10-21 10:44:10 -04:00
Alex (Bin) Xie 06867f0c04 SWDEV-361591 - clean up header files
Change-Id: I25ca37a94524da0521f5b856a9fa9bab73f103c1
2022-10-21 10:23:55 -04:00
Sourabh Betigeri b2665ccc4b SWDEV-361730 - Fix to match the kernel arg allocation sizes between gpu visible mem and host/runtime mem
Change-Id: I6495aa57e97b46373c1d90cc230435780fdcf3ef
2022-10-20 14:20:37 -04:00
Ajay a5b550e828 SWDEV-360944 - palBlit setArgument desc.size_ --> argSize
Fixes AMF tests that were impacted on Windows

Change-Id: I0326e794ec5a34fdec7a5ff4ed79d5bd055997d2
2022-10-20 12:44:15 -04:00
Christophe Paquot 470c4d7335 SWDEV-322620 - Virtual Memory Management
Hooked up the start VA hint address to PAL.

Change-Id: I4301d3eaaabcc85faf63fb25291291dcc3e8ebd1
2022-10-19 10:50:07 -04:00
Saleel Kudchadker 6405b6cdba SWDEV-359548 - Detect fence optimization
- Use a dirty flag to determine fence optimization
- If fence is dirty submit a marker at top level to sync.

Change-Id: I53fb19b5bb05b7c7b37c41637a6c7aaf870b639a
2022-10-10 14:15:16 -04:00
Ajay 373a7d1195 SWDEV-347670 - GPU StreamWait and StreamWrite support in Windows PAL backend
Change-Id: Ic4881305b6332e217f3d3127dce7e9d9d0a7df11
2022-09-15 13:57:40 -04:00
Rakesh Roy f097cda948 SWDEV-353941 - Fix hipMemset latency issue for hipMallocManaged
- In case of HMM, use blit kernel instead of CPU memcpy for hipMemset

Change-Id: I89bfc96ff01a2375ed8df1b1c6bc05357dea84f7
2022-09-07 03:20:58 -04:00
Ajay 040c416cb1 SWDEV-352127 - Handle Raphael arch in palsettings create()
assert statement were hit silently in Release builds like SWDEV-353548.
Issue only seen in Debug builds

Change-Id: I9f7177806c854d64fcf986e9f6092076d8a05f23
2022-08-30 16:21:25 -04:00
jie1zhan 2aa7e5819f SWDEV-352127 - Fix clinfo issue, add new asic id
Change-Id: Idc6ff6fe647878f32f8dbb0613cbb879ea21ecdf
2022-08-25 08:23:21 +08:00
Sarbojit Sarkar a28b22d9b4 SWDEV-344210 - Fixed page fault when mempool accessed from remote device
Change-Id: Ie41b0c0499f7733d4541ccd50b3d0d976c6431c9
2022-08-09 23:26:27 -04:00
Ajay 8b89c05e2f SWDEV-317716 - Win: hipDeviceGetUuid return default uuid for pal device
Change-Id: Id102b54c78f031a8e7cc5ab5223cef9a0914d4fd
2022-07-21 00:03:33 +00:00
sdashmiz e176e27bf7 SWDEV-334233 - add support for p2p in windows
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I9109120b5444c400e65cfff869cb36e876ffd1fc
2022-07-14 15:07:33 -04:00
Tao Sang 1e26165cd0 SWDEV-286739 - Support hipDeviceAttributeWallClockRate
Part 1: Query constant frequence of wall clock from RocR

Change-Id: I52cbba6d67d11cde6d019c5ab530059f426a9bf2
2022-07-12 17:53:11 -04:00
Christophe Paquot 4aecc29bf0 SWDEV-322620 - Virtual Memory Management
Expose VM granularity

Change-Id: Ia6af99843ca957f1139fd369e46e09a6c346da46
2022-06-27 13:07:43 -07:00
kjayapra-amd 3a78a1edcd SWDEV-339913 - Move SingleFPDenorm under ASIC Revision from GFXIP switch case.
Change-Id: I7826f81bdf7cf1479882f261d495c2c287725b3c
2022-06-16 08:31:37 -04:00
Saleel Kudchadker 5df34a2f7a SWDEV-335780 - Indicate if handler is queued
Maintain status of handler callback. For event records we no longer
submit callbacks to reduce the load on the async handler thread. However
without a callback we leak command memory/decrement refcounts. Indicate
status of the handler which we can use to queue a callback when
finish is called.

Change-Id: I89fd02f3d047a0e8162664ee17581a14795f1928
2022-06-14 20:55:06 -04:00
German Andryeyev 4975f69337 SWDEV-339296 - Delay hidden heap allocation till the usage
Move hidden heap creation to the kernel launch to make sure it's
allocated on the actual first usage.

Change-Id: I1b65a82fc06d9129ed45a69765bf14ea3d945b04
2022-06-14 12:18:34 -04:00
German Andryeyev ecea224bcf SWDEV-259998 - Change the location of RGP init calls
Move StartLateDeviceInit() and FinishDeviceInit() calls in RGP
server to avoid a timeout

Change-Id: Ifd681859c7dc76259d7296aa8cc15305d563c9b2
2022-06-13 18:05:44 -04:00
Christophe Paquot 905088e4e7 SWDEV-322620 - Virtual Memory Management
Introducing a VirtualMemObj map as it is needed to differentiate
between virtual address ranges and actual physical memory
This is because a whole VA range can have several physical memories
as chunks.

Change-Id: Ie2a972b4faf3f7d552cfa53e77898f80ad75740a
2022-06-06 11:32:22 -07:00
German Andryeyev 830898753d SWDEV-336024 - Clear device heap to 0 in ROCr path
Change-Id: Id100ca6d6d5bd7fb16ca8c98ff0b12c9df1d69ab
2022-05-20 11:51:08 -04:00
German Andryeyev 07c1b9a998 SWDEV-336024 - Clear device heap to 0
This reverts commit 04bfd93569.

Reason for revert: Fix regressions

Change-Id: I7d883e1c3cbd27bb64b581ec800243ad7dfe24fd
2022-05-19 09:10:08 -04:00
German Andryeyev f0309be0de SWDEV-334315 - Correct instruction timing API info
Change-Id: I9d291adac076d36776dc7316b411bd093230ca01
2022-05-17 10:17:07 -04:00
German Andryeyev 893b719181 SWDEV-331660 - Switch PAL interface to 734
Update clientApiId field in PlatformCreateInfo

Change-Id: I445b9712a4c0da9f32e86df8b4a1b8dd7365b11b
2022-05-16 22:58:50 -04:00
German Andryeyev b39dfabb58 SWDEV-334315 - Update PAL version and provide API info for RGP
Change-Id: Ied448aada09deabcf26c402a342bdfbd79f22d7b
2022-05-12 09:30:19 -04:00
German Andryeyev 04bfd93569 SWDEV-336024 - Clear device heap to 0
The heap must be cleared once per device, but ROCclr doesn't
create a queue per device in HIP. Hence, the clear operation will
be performed during the first queue creation.

Change-Id: I52ceb06d67d11cde6d019c5ab510059f426a9bfb
2022-05-11 11:03:56 -04:00
Christophe Paquot b4645c7d4e SWDEV-322620 - Virtual Memory Management
Add a virtualMemoryManagement_ flag to device.info.

Change-Id: Iabd039010d83fc51b4bcef600c609f5c65e7b1ae
2022-05-09 22:54:42 -07:00
Christophe Paquot 67657d6099 SWDEV-322620 - Virtual Memory Management
Implement map/unmap for PAL backend
Create commands since PAL uses the IQueue to map/unmap

Change-Id: I97e26a7d28ae5e10774c9ca65307153100945621
2022-04-22 18:09:26 -04:00
Christophe Paquot 4c3a20a16e SWDEV-322620 - Virtual Memory Management
Implement virtualFree for PAL

Change-Id: I4482777fa52c979d42a7c57103862e2e02279024
2022-04-21 14:45:11 -04:00
Alex (Bin) Xie 3d514c85b9 SWDEV-329646 - MicroStation app crash upon closing
Change-Id: Ie3422788c80b233c836e319c355214ca076e5d4f
2022-04-20 14:34:44 -04:00
Alex Xie 5528812aa9 SWDEV-330240 - HLK pnp with IO stress test fail
This code change is to improve error handling.
This code change does not fix issue itself.
Before this code change, hostcallBuffer_ point is initialized in the end of
create() function. If create function fails and returns early,
hostcallBuffer_ point is not initialized. This non-initialized point can
cause access violation when object is destructed.

This code change put the initialization of the pointer in the constructor.

Change-Id: I7fb6e764eb0547196dca03db237e49d3ff0fd06a
2022-04-19 11:04:26 -04:00