Commit Graph

551 Commits

Author SHA1 Message Date
kjayapra-amd 31c0525344 SWDEV-305527 - Changes to handle memset blit kernel that takes width, height and depth. This also fixes SWDEV-317261.
Change-Id: Ic85f63a95d9d8f48884fc8c7fd95cbb496dfbbca


[ROCm/clr commit: 7fb80a027a]
2022-03-31 09:02:33 -04:00
German Andryeyev 2f380870df SWDEV-328670 - Enable arena for ROCr interops
Add ROCR memory detection and enable arena mem object for possible
access in HIP

Change-Id: Icf86ac789176bfee4ea8d36b0970a817d4c6a2f7


[ROCm/clr commit: 28597ec5b5]
2022-03-30 16:46:36 -04:00
Saleel Kudchadker 62a60eb1c4 SWDEV-301947 - Report regular CU count for OpenCL
Change-Id: I3ea058bba98f3c6554cbde37173bbd772f489cf5


[ROCm/clr commit: 61d0b999be]
2022-03-29 16:19:14 -04:00
Satyanvesh Dittakavi acfa45bd5c SWDEV-326397 - P2P copies to take SDMA path if there is no pending dispatch
Change-Id: I50cfb8d77f7882151a20a1de7aaf5219b1695b7d


[ROCm/clr commit: c1b95b09bf]
2022-03-29 14:59:11 +00:00
Saleel Kudchadker f99304adcd SWDEV-322225 - Use numa_allocate_bitmask
- Fix a crash with AMD_CPU_AFFINITY=1 as numa_bitmask_alloc isnt the
right api to allocate bitmask
- Do not set affinity for ROCr thread. It worsens performance rather
than any improvement.
- Fix regression from my previous change for event handler.

Change-Id: I3ea75adc2a6333f29752283eddd5b555e9b58cc5


[ROCm/clr commit: 802c2c8a9f]
2022-03-26 13:24:51 -04:00
Ajay 5ba80453fe SWDEV-301667 - return void in getTime(). Avoid warning treated as error
Change-Id: I9445eec554e6f705fb8f248e6be7ff995f163f25


[ROCm/clr commit: 35877b1b13]
2022-03-25 13:39:55 -04:00
Saleel Kudchadker 4dbec887a2 SWDEV-301667 - Selectively queue handler
- Queue handler for hipEventRecord(aka marker_ts_) only if there is a
callback associated with it.

Change-Id: I8a9877ae0e342556053abbaacc9510744a8e772a


[ROCm/clr commit: 3c3c0ca4c5]
2022-03-24 19:46:28 -04:00
Saleel Kudchadker 0689be6c0e SWDEV-328349 - Rate limit hostcall listener
Update timeout for hostcall wait for signal. If the timeout is small it
checks frequent enough to affect performance for certain applications
which may be CPU bound.

Change-Id: I0a879559e4ad111b09a994a5b82a6faf6e4fea3f


[ROCm/clr commit: 9292abb2d8]
2022-03-23 12:18:00 -04:00
German Andryeyev b813a78c80 SWDEV-307185 - Move memory allocation under device layer
It can be too early to allocate memory at the begining of
Device::create() under PAL

Change-Id: I4bd76db7be3f6fb246243ea68022d8b0f860471d


[ROCm/clr commit: 3af3fe10de]
2022-03-21 16:17:22 -04:00
sdashmiz d5f766732e SWDEV-307107 - HipPrintf failure for XGMI on windows
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Iab2740364bb673029f0a80b419d80d5b726b9082


[ROCm/clr commit: 6e506da36d]
2022-03-17 10:03:56 -04:00
Sarbojit Sarkar d58efdd1a8 SWDEV-325708 - Query for FineGrained support
Change-Id: Idd20a71467595ab6577bf47c081c437a4b166988


[ROCm/clr commit: 3c2dc1f646]
2022-03-16 05:09:42 -04:00
German Andryeyev 21c9c02c27 SWDEV-286150 - Switch PAL version to 711
Change-Id: Iaf07946d6327f92ed734223a6b38c433ce368c4a


[ROCm/clr commit: 43ea9a8e31]
2022-03-14 13:00:40 -04:00
Saleel Kudchadker 4a9f9f1671 SWDEV-301667 - Remove guarantee
Remove guarantee from AddMemObj as one can call it multiple times for
different devices

Change-Id: I49dd76068b3c4c709f17541159052302dcdb374d


[ROCm/clr commit: 3bf1d5ac97]
2022-03-08 16:20:10 -08:00
German Andryeyev 7d5ed33e8f SWDEV-307185 - Create heap for device memory allocator
Pass the allocated heap with the kernel arguments

Change-Id: Icdec09b7f937845c39e21cbca7071dc3ba791af9


[ROCm/clr commit: 7b114a2b8b]
2022-03-04 00:44:41 -05:00
Saleel Kudchadker ebcc5f9388 SWDEV-301947 - Rename device Info element
Rename maxBoostComputeUnits to maxPhysicalComputeUnits_.

Change-Id: I5941515ac4f1f4348b3b10478bf4e01444f0a864


[ROCm/clr commit: e888c9e491]
2022-02-25 16:48:15 -08:00
German Andryeyev ae0ca57698 SWDEV-319375 - Avoid global var size query
Currently COMGR doesn't provide global variable size and runtime
parses ELF binary directly. Avoid parsing for HIP. That can save
5% in hipModuleLoad() time.

Change-Id: I47540d1e957bdb0c2406b6b848222de2920b2504


[ROCm/clr commit: 2664d8cf9e]
2022-02-23 21:33:05 -05:00
Saleel Kudchadker 7fa538bf79 SWDEV-301667 - Fix maxNode size for get_mempolicy
Change-Id: Ifd84c94394b86580cf39178ad0e7f85580b24edb


[ROCm/clr commit: c02d3fd7d8]
2022-02-19 12:48:22 -05:00
German Andryeyev c52280ae72 SWDEV-323702 - Use active queue for transfer
Pass active queue for transfers in the cache coherency layer.
That will allow to use device transfer queue only for
cases when active queue isn't available, because using device
transfer queue from another active queue may cause a deadlock

Change-Id: Ifbe7e0303b77dbf6eeda3939ffbc25a3df7472de


[ROCm/clr commit: 95d55fdfa8]
2022-02-18 09:10:53 -05:00
German Andryeyev 7c8a7ddf5e SWDEV-323364 - Fix a typo
Change-Id: I2031296ab9451342d5930b8b2d3d2e6277946647


[ROCm/clr commit: fbf531398a]
2022-02-17 20:50:29 -05:00
Saleel Kudchadker de9a5438b9 SWDEV-322605 - Fix infinite loop condition
If GlobalMemCacheLine reported is 0, runtime may run into an
infinite loop as the KernelSegmentAlignment is chosen as size of the
cache line.

Change-Id: Ide547940cc0407f16fab10ee210b4fd3ae4eaafc


[ROCm/clr commit: 041ddc0c1c]
2022-02-16 13:16:18 -05:00
German Andryeyev a7be0eb56a SWDEV-316824 - Fix P2P compute copy path
Use device memory object for the GPU VA address look-up.

Change-Id: I76bf58b29205f7b3ba1bf68e9fcca69421267203


[ROCm/clr commit: 3fd4a67670]
2022-02-15 13:20:13 -05:00
German Andryeyev 3c4f97f66c SWDEV-286150 - Remove GSL backend
Change-Id: Iba9a997ee7d5ff6ac00d5888ff189a4514958fe9


[ROCm/clr commit: 525a1bbf1a]
2022-02-09 17:16:39 -05:00
German Andryeyev 0bfb898038 SWDEV-286150 - Don't report OCL2.2 support
OCL2.2 requires SPIR-V and runtime doesn't support it.
Make sure PAL backend doesn't report any SPIR-V support.

Change-Id: I8d179069674205b54f7d20d149bcb675bee5cdb0


[ROCm/clr commit: 0bf395af39]
2022-02-07 17:34:39 -05:00
German Andryeyev bd96ef9a34 SWDEV-307184 - Add support for the new metadata
Metadata in Codeobject version 5 is the extension of CO3 and CO4.
Add the detection of the new fields and program them in
the setup of the kernel arguments.

Change-Id: I27e58df77320ad00f4f16d35912668db803826af


[ROCm/clr commit: be6a06384e]
2022-02-07 14:05:58 -05:00
Satyanvesh Dittakavi 31aa18f1a9 SWDEV-317716 - Add uuid in device info structure
Change-Id: Ie7f48d0faf7d722bd9bb8bd0f8962a7832dbe4f6


[ROCm/clr commit: 824704c87b]
2022-02-03 12:17:28 -05:00
Todd tiantuo Li 1f9f598d92 SWDEV-297292 - add gfx90c:xnack+ support as gfx90d
Change-Id: I90e28981a7cbc0f9a0105c16e9dda3ad8ac57f51


[ROCm/clr commit: fbbae8055f]
2022-02-02 14:24:19 -08:00
Saleel Kudchadker d0e8d72bfa SWDEV-301947 - Use new enum for CU count
Use HSA_AMD_AGENT_INFO_COOPERATIVE_COMPUTE_UNIT_COUNT to get compute
units. This is needed to work around assymentric CU harvesting bug on
gfx90a. Add a new device property to get the max available CUs on the
device.

Change-Id: I878f38f14f16c1af01fc0a77157aea1e816a63b8


[ROCm/clr commit: 33aca5a4a6]
2022-01-31 12:57:50 -05:00
German Andryeyev 9c0b3d2d2f SWDEV-318505 - Update HSAIL xnack path
Fix a typo with new line

Change-Id: I7fee63409b491a1f214117b68cfffa0492aa0743


[ROCm/clr commit: b169956c78]
2022-01-27 13:07:11 -05:00
Payam 26d897966e SWDEV-245531 - GLInterop adding svm support
Change-Id: Id7f2a7a214f5ad692b4a7acf26cfb1dc423ed54a


[ROCm/clr commit: b473a80f6a]
2022-01-26 08:17:58 -05:00
German Andryeyev ea28025939 SWDEV-318505 - Update HSAIL xnack path
Report proper target id for xnack in HSAIL path. Runtime
will use ISA table and report hsailName().
Fix offline compilation path for PAL.

Change-Id: Ic0250bf6b9c193d867aec9800a319da1bf00c3ee


[ROCm/clr commit: a543d4a860]
2022-01-24 09:27:32 -05:00
Alex Xie 055b618f15 SWDEV-312368 - Segmentation fault in test_gl
When OCL failed to obtain function pointer from GL, we should not call it.

Change-Id: I50f69d270ce445386906a286e44c4e8c83722302


[ROCm/clr commit: 15101e704b]
2022-01-14 17:35:31 -05:00
Satyanvesh Dittakavi 85c2cac111 SWDEV-306939 - Fix vdi errors/warnings by CppCheck
Change-Id: I56d910f8363787f1050d5d7e8064ed553c5827fd


[ROCm/clr commit: e20dd61932]
2022-01-12 00:22:16 -05:00
German Andryeyev b8ab281765 SWDEV-317061 - Fix 32-bit HSAIL complib load
Use __stdcall decl to match the library defines

Change-Id: Id4178443d5a9bb4e5401d80b3b5d15c7bbea0330


[ROCm/clr commit: e0a4e0df0e]
2022-01-04 16:48:18 -05:00
haoyuan2 74c05e9bc1 SWDEV-316150 - align with OCL to use wavefront64 on Navi21/22/23/24
Change-Id: Ic47bc7cc6300c217c02c2bbbda9940a3b5c9597d


[ROCm/clr commit: 3d5d9e2691]
2021-12-28 12:39:18 -08:00
Saleel Kudchadker 500f6a6513 SWDEV-313306 - Fix Co-operative groups dtests
Add a state indicator to retain ExternalSignals when needed.
Co-operative group launch uses external signals to indicate a dependency
to the next command.

Change-Id: I6d0daa006e2377c3bbf4aeca0fd5b63c7ac8fbbb


[ROCm/clr commit: 1fbd75b825]
2021-12-17 12:41:37 -08:00
Saleel Kudchadker 42625f0527 SWDEV-313306 - Clear external signals
Crash was due to the fact that external signal structure was stale even
after destroyign the command. That is because we skipped wait due to a
missing check.
Detect external signals and dispatch a barrier in ReleaseGpuMemoryFence.
Also clear external_signals_ at ProfilingBegin.

Change-Id: I991387edcfe928b511bf5e780988ee131321ed5a


[ROCm/clr commit: 3239222516]
2021-12-13 23:03:33 -08:00
German Andryeyev c759986e28 SWDEV-300515 - Apply CU granularity on the CU count
Report granularity for possible app query

Change-Id: I98857c6f4cc7ae590927ea35ce57d181abe7860b


[ROCm/clr commit: f613831471]
2021-12-10 10:47:28 -05:00
Sarbojit Sarkar 4630f3ade0 SWDEV-314254 - Fix for hipMemcpy3D test crash
Change-Id: Iac70bfe0d351cfb5b56fefc9a6487d3f26f2b4ef


[ROCm/clr commit: aedbad0109]
2021-12-09 11:46:52 -05:00
German Andryeyev 5ad02b78c4 SWDEV-305016 - Improve MGPU scaling in Tensorflow
Add a threshold for ROCR/SDMA P2P transfers. ROCR copy path
requires extra barriers in compute for synchronization. That costs
extra performance with tiny transfers.
Reduce active wait time to 10us. Tensorflow uses extra thread
per GPU with constant hipEventQuery() calls. Longer active waits
in ROCr affect CPU performance.

Change-Id: I9020358438615fa2d4617f862f00a562f0a588e7


[ROCm/clr commit: 008133cf41]
2021-12-08 11:59:37 -05:00
Julia Jiang 41eef3076e SWDEV-308644 - reorganize extra blit kernel in PAL stack
Change-Id: I9d853e8d417ef75b522184d83646ec4b9fa8669b


[ROCm/clr commit: 376ea1e293]
2021-12-07 14:55:20 -05:00
Christophe Paquot 1b87d3a497 SWDEV-307109 - Don't force Persistent for HIP
With SAM on, don't force Persistent for allocations
in HIP. This makes ROCCLR go down paths we don't want
for HIP.

Change-Id: If54cc16fa891d4cfdc761c6ab21ad707627e822a


[ROCm/clr commit: 5243552768]
2021-12-06 12:16:08 -05:00
Satyanvesh Dittakavi b219bf8292 SWDEV-309286 - save the max system mem size in device info
Change-Id: I9955625aca6ceda059aef6354d909de636b610ba


[ROCm/clr commit: 9dabdcdc3e]
2021-12-02 10:59:07 -05:00
Saleel Kudchadker 97456a157b SWDEV-308843 - Increase MaxPinnedXferSize to 128
This allows experimenting with env var GPU_PINNED_XFER_SIZE which is
still at a default of 32MB

Change-Id: I85ade700ed58d498eba29d1737601dc74d4c26a4


[ROCm/clr commit: 3f82b99f5d]
2021-12-01 20:37:56 -05:00
anusha GodavarthySurya 02e46ec231 SWDEV-284895 - Adding kind metadata and launch init/fini marked kernels
Change-Id: If2b21c4b98567632c426943e0b69aca8d6f1ec2a


[ROCm/clr commit: 102aa9d6d9]
2021-12-01 08:17:44 -08:00
Sarbojit Sarkar c8a6920b91 SWDEV-310181 - Fix for AtoH Memcpy tests failure
Change-Id: Ibf8c8c01257f0516088d50d5c9f82040ed8fa067


[ROCm/clr commit: 02dc6f9f9a]
2021-11-29 22:55:23 -05:00
kjayapra-amd f75cfb049a SWDEV-312822 - Fix the globalWorkSize to number of sizeof(var) instead of bytes.
Change-Id: Ic6b2bbb2e8d4cb6aa8d906d4b93cd06a176160d8


[ROCm/clr commit: d4ad981c0c]
2021-11-29 17:36:11 -05:00
German Andryeyev 861b9fb84c SWDEV-294669 - Avoid stall when the new signal was created
Stall in the host thread could occur earlier than the app expects.
Make sure rutnime can grow the signals to the queue size without
any stall. Also adding a new signal to the end of the pool could
break the dependency chain on signal reuse. The new logic will
insert the new signal after current to keep the chain intact.

Change-Id: I9c90b98515907db8b677528263c3e88cd9581a14


[ROCm/clr commit: 102c19adf3]
2021-11-29 10:08:06 -05:00
kjayapra-amd f74515778c SWDEV-312822 - Revert "SWDEV-310187 - Change flag to keep track of aligned sizes instead of expanded patterns."
This reverts commit 7220267211.

Change-Id: I022c2a8375f9929e9723cec66e1e0b960263fc39


[ROCm/clr commit: 2e9bc8f793]
2021-11-28 23:39:40 -05:00
German Andryeyev b0b0c3049f SWDEV-313126 - Use data() method for the base array address
Reference for the first element can trigger an assert with
_GLIBCXX_ASSERTIONS build

Change-Id: I59c63c052831307edfe5dcc6384798a43e9596dd


[ROCm/clr commit: 6f2e7c3199]
2021-11-26 09:51:57 -05:00
Julia Jiang ea2741f631 SWDEV-308644 - merge roc blit kernels
Change-Id: I378e511959fe17c03fa45066022e9670a4d181f0


[ROCm/clr commit: f5c9ad5b1d]
2021-11-25 10:07:51 -05:00