Commit Graph

5532 Commits

Author SHA1 Message Date
Rakesh Roy 0b5525cb38 SWDEV-459556 - Revert "SWDEV-442724 - Remove uses of -amdgpu-early-inline-all to enable function calls"
This reverts commit d90a0d9c57.

Change-Id: I885b9e5910d90fd871ab48f7ee95796b6cd01297


[ROCm/clr commit: 87619af175]
2024-05-28 06:28:17 +00:00
German Andryeyev 68344576d3 SWDEV-460242 - Add system memory suballocator
Switch commands creation to the new suballocator to avoid
frequent expensive OS calls

Change-Id: I3597c811820e577c15708bad8b8a41aa53acc400


[ROCm/clr commit: 5b0bfdcbad]
2024-05-28 06:28:17 +00:00
kjayapra-amd 3ca0dbc4d7 SWDEV-460151 - Enabling gfx12 in HIP runtime.
Change-Id: I374ea7c3119b0c61f9846a862c4a448ddb179748


[ROCm/clr commit: f5d0ee650b]
2024-05-28 06:28:07 +00:00
Alex Xie 0812cc34a6 SWDEV-451945 - Remove ShouldLoadPlatform function
Change-Id: Iabb4071bb77201576bc2c0488a04f4fa188815df


[ROCm/clr commit: 2eb30376ba]
2024-05-06 10:42:59 -04:00
Saleel Kudchadker 588e870000 SWDEV-301667 - Pass reference to kernel name
Change-Id: I21abe109ddfabfe7640bf78a96c81a1317d31952


[ROCm/clr commit: 4a9d24a211]
2024-05-05 16:38:20 -04:00
Maneesh Gupta f30be8996b SWDEV-433371 - Build needs comgr >= 2.8
Unbundle compressed code objects needs comgr 2.8 or higher

Change-Id: I23942d2038e19b02c3ea5d3c9c1fe5367db87136


[ROCm/clr commit: 1bd8b4eaf5]
2024-05-03 09:34:49 +00:00
Ioannis Assiouras a21913a0bd SWDEV-451594 - Change device kernel args to use HDP flush by default
The Readback and Avoid HDP Flush memory ordering workaround is
used as a fallback solution only when HDP flush register is invalid

Change-Id: Ic284eba1f95ed22b0270d3abeb904fb902015b1a


[ROCm/clr commit: 6cb7b6ec6b]
2024-05-02 19:35:13 +00:00
taosang2 c0ee0ffa1c SWDEV-433371 - use comgr to unbundle code objects
1.Make runtime use comgr to unbundle code objects
2.Support compressed/uncompressed modes
3.Remove HIP_USE_RUNTIME_UNBUNDLER and
  HIPRTC_USE_RUNTIME_UNBUNDLER to simplify logics
4.Add comgr wrapper for
  amd_comgr_action_info_set_bundle_entry_ids()

Change-Id: Ic41b1ad1b64cca1e31986437983a5146d52a7329


[ROCm/clr commit: e53df57ffe]
2024-05-01 16:09:12 -04:00
Saleel Kudchadker 40bd47ba42 SWDEV-301667 - Add LOG_TS mask
- Add LOG_TS mask for printing signal times
- Read raw ticks from signals

Change-Id: Ibdd0bf06c790729f6c65083a4784c97a3c3219e0


[ROCm/clr commit: 948ca5a931]
2024-04-30 12:24:48 -04:00
Jaydeep Patel ab70925687 SWDEV-456279 - Adding new hip flag to access contiguous memory and pass the flag to HSA API.
Change-Id: I1bafeaa3096395c729723af958d609bc41e7845c


[ROCm/clr commit: 1d48f2a1ab]
2024-04-30 05:25:38 -04:00
German Andryeyev daceede8a7 SWDEV-311271 - Enable mempools under Linux
Change-Id: I7fda94e61121f9d3a30f4ad185b8a97712922f3c


[ROCm/clr commit: 7a371503b2]
2024-04-29 18:06:34 -04:00
kjayapra-amd 154a113a88 SWDEV-413997 - Changes to use GlobalContext in views.
Change-Id: I1f8411eae9ed49632667e244a25f223fed92c720


[ROCm/clr commit: 0e1a0572e6]
2024-04-29 16:41:39 -04:00
kjayapra-amd d49fa8d06b SWDEV-413997 - Handling cases where multiple phys_mem is mapped into a single virtual address.
Change-Id: Ie678e607a64f2e5c35a10b9083185f041c5527ac


[ROCm/clr commit: 49b4aef8c9]
2024-04-28 08:28:12 -04:00
German Andryeyev b1c0f73229 SWDEV-353281 - Corret VA unmap
Make sure graph mempool unmaps VA on release

Change-Id: Id3f1bd8d0115b533ae60aa5ba3676b8bf7e5b961


[ROCm/clr commit: 5c1804aa14]
2024-04-26 09:37:01 -04:00
Ioannis Assiouras 32e94ef1cc SWDEV-457859 - Initialize isWGPMode_ in WorkGroupInfo
Change-Id: Ie3f3c0bcea84368c1b0607fd52b4bc7cae41c512


[ROCm/clr commit: cffff4e1cb]
2024-04-25 16:36:55 -04:00
German Andryeyev 08e7942cf8 SWDEV-447691 - Correct handle type for DX12 semaphore
Change-Id: Id23882286cb2a0d0472964ffc501ab27b7dc7f00


[ROCm/clr commit: 9fdddb7c5d]
2024-04-25 11:24:56 -04:00
Konstantin Zhuravlyov 99e538f29e Switch luxmark to lightning compiler for all ASICs
Change-Id: Idcd37628a2167f0bd2db2a83132a1862cbd051b0


[ROCm/clr commit: 5a715ed160]
2024-04-23 10:00:39 -04:00
kjayapra-amd f613be3d81 SWDEV-413997 - Cleanup fixes for Virtual Memory Management.
Change-Id: I9a4a4d9087b5daf15e3ba31e786d34db431212a1


[ROCm/clr commit: 74ffc5f0d5]
2024-04-22 10:58:06 -04:00
German Andryeyev a2ffb2ad40 SWDEV-440746 - Release last command on terminate
Change-Id: Ib6a9b8fc9a8692eb17b39b854cefd92c6b59733f


[ROCm/clr commit: 0ccdb3e160]
2024-04-22 09:57:38 -04:00
German Andryeyev 74d80fb509 SWDEV-440746 - Remove obsolete code
The "optimized" version of memcpy is outdated and
was used in win32 only.

Change-Id: I7f2e0e9051e37cec95438266824b5b0025c324c6


[ROCm/clr commit: 7448113cfc]
2024-04-22 09:56:42 -04:00
Rakesh Roy cb1f02f4f7 SWDEV-453180 - Add UUID support for HIP_VISIBLE_DEVICES on Windows
- UUID needs to be specified in the format GPU-<body>, <body> encodes UUID as a 16 chars
- Convert set UUID in HIP_VISIBLE_DEVICES to device index internally
- Then use existing device index logic for HIP_VISIBLE_DEVICES

Change-Id: I654f492a49cd4d7a9b7339360ab558165240caa5


[ROCm/clr commit: fb217fa9e0]
2024-04-20 02:39:19 -04:00
German Andryeyev 02d949ec38 SWDEV-440746 - Wait for signal before release
Change-Id: I9e2aefdbcbba153c7f1080d80aab7a345eaf1eb4


[ROCm/clr commit: 329ba271fa]
2024-04-19 18:33:28 -04:00
German Andryeyev 7eaba0bd33 SWDEV-440746 - Don't set CL_SUBMITTED twice
Change-Id: I9ba34454f7487d6bc0d398b322a147cbac6c6443


[ROCm/clr commit: fd81490bb8]
2024-04-19 17:36:51 -04:00
Ioannis Assiouras 2f430138c5 SWDEV-451594 - Implement Readback and Avoid HDP Flush workaround for device kernel args
Change-Id: I6d41a089a17f55306e7ff402588a1e831b20a7a7


[ROCm/clr commit: bf74ef4025]
2024-04-19 09:29:20 -04:00
kjayapra-amd 71aa6ff3a0 SWDEV-413997 - VMM IPC implementation for Linux.
Change-Id: Icfeb83ca51e96be35abb67a94d6e3e1a1ca5a934


[ROCm/clr commit: 56ebf5157a]
2024-04-18 11:28:13 -04:00
Jaydeep Patel 24bb38acb8 SWDEV-455346 - End wait if HostcallListener terminates.
Change-Id: I21ec8eadb189147c579ec65acf68de40d604686b


[ROCm/clr commit: 8942939fac]
2024-04-18 00:04:00 -04:00
German Andryeyev 562f3ef098 SWDEV-440746 - Fix the hostcall buffer creation
Avoid a deadlock on the host call buffer creation. Since the buffer will be
allocated in the queue thread, then use direct device memory allocation
skipping the global context lock.

Change-Id: I09b55ee03bb42ab5d320c152b52a8c842c5fdcc1


[ROCm/clr commit: 62559a6e5a]
2024-04-17 12:37:23 -04:00
pghafari e3266682d0 SWDEV-455699 - removing HW_REG_TRAPSTS for gfx12
Change-Id: I5f8b030eefdb37d3d51da3e135e5aa0f18ad9018


[ROCm/clr commit: 5ddca5854c]
2024-04-16 19:46:21 -04:00
German Andryeyev 7f195e2996 SWDEV-444670 - Enable teardown class
Force implicit runtime teardown with a global destructor.

Change-Id: Iabe63dedf5b94fefc98668585c45a61607120669


[ROCm/clr commit: c95a75a2bf]
2024-04-16 12:00:06 -04:00
Rakesh Roy f7dc86bdf4 SWDEV-453180 - Add UUID support for HIP_VISIBLE_DEVICES on Linux
- UUID is Ascii string with a maximum of 21 chars which uniquely identifies a GPU
- Convert set UUID in HIP_VISIBLE_DEVICES to device index internally
- Then use existing device index logic for HIP_VISIBLE_DEVICES

Change-Id: I8cab4fe42459f8209b97f909300789e6e687b9ac


[ROCm/clr commit: 52db98edd9]
2024-04-13 22:07:19 -04:00
kjayapra-amd 765e6f5d2f SWDEV-413997 - Fixing multiple device cases.
Change-Id: I10ad3fbfca887e92cd81f68392fa1acf753cbd2b


[ROCm/clr commit: d52d16c8e6]
2024-04-13 06:14:03 -04:00
German Andryeyev 27dec1c62d SWDEV-455254 - Reduce blit kernels signature
Remove offset from blit kernels, since it can be applied in setup.

Change-Id: I06b585068d68a0ee8e125ddf46a36fccb372f30d


[ROCm/clr commit: 7de7da4016]
2024-04-12 14:45:55 -04:00
taosang2 cbbf49f5e7 SWDEV-424956 - Fix half vector printf issue
Refactor PrintfDbg::outputArgument() to remove potential risk.
Fix half vector printf issue on all devices.
Fix FEAT-56794 as well.

Change-Id: Iae39359d2128588def2e43d77fe58e868b8e71ff


[ROCm/clr commit: 35c80dd482]
2024-04-12 14:25:44 -04:00
Jaydeep Patel b855d3f1ed SWDEV-436754 - Use glbctx instead so that ref count increments for multi devices and chunk decommit gets delayed.
Change-Id: Ia4b0d5fbfa8f198776e52d14de8b22c6942f740d


[ROCm/clr commit: d52168b46d]
2024-04-12 00:04:34 -04:00
German Andryeyev f29d608ca3 SWDEV-455254 - Add kernel arg optimization
Add kernel arguments optimization into blit path.
Enabled by default on MI300.

Change-Id: I2694a81b90d48ad07d86dfe4c0c64fe187bada8e


[ROCm/clr commit: f0c7ecf617]
2024-04-10 18:08:37 -04:00
kjayapra-amd ed9c629ad6 SWDEV-446298 - Adding error code to the logs on p2p hsa api failure.
Change-Id: Ic41b1ad1b64cca0e31986337a83a5146d52a7328


[ROCm/clr commit: 2b8634bada]
2024-04-10 06:00:00 -04:00
Saleel Kudchadker 4285981222 SWDEV-301667 - Fix SDMA mask reuse
If we are using the mask returned by getLastUsedSdmaEngine() then we
need to apply the SDMA Read/Write mask to it before using with HSA
copy_on_engine API.

Change-Id: I6e5dc6c187eeb3c61ee159e9d2a0fa7b4737c06e


[ROCm/clr commit: 3f0bcf7834]
2024-04-08 15:42:52 -04:00
Sourabh Betigeri 7cc5dd56ab SWDEV-451964 - Limit gpu single allocation percentage for gfx940 only
Change-Id: Iadcdadd734e7aeeb23742e426353defa972d3ad5


[ROCm/clr commit: dbac2976e4]
2024-04-05 09:43:42 -04:00
Ioannis Assiouras 78008c05c5 SWDEV-453301 - Remove the option to write multiple packets in dispatchGenericAqlPacket
Dispatching multiple packets with ring the doorbell once is not supported by the lower layers

Change-Id: I7665a2dcdd4ef9e47dadfe410180fed64c5a4ee0


[ROCm/clr commit: d7f352dbed]
2024-04-05 05:28:10 -04:00
cadolphe e89ea8577d SWDEV-446726 - Disable large bar for 32 bit windows
When large bar is enabled, persistent memory leads to overallocation for 32 bit architecture.

Change-Id: Iae39359d8128588de02e42d77fe58e868b8e71fd


[ROCm/clr commit: bc80802c1a]
2024-04-03 15:36:41 -04:00
cadolphe 8f185a24d9 SWDEV-451687 - Fix alloc message values in AMD_LOG_LEVEL for 32 bit
Change-Id: Icbe67024297c92bf59139b6a2ccd2ba3674f60b1


[ROCm/clr commit: 411960a131]
2024-04-01 13:32:20 -04:00
German Andryeyev 4f123e9c10 SWDEV-449922 - Remove a global lock for queues on wait
The new logic has a lock for PAL call and doesn't require the lock for queues.

Change-Id: I61b67c3c4abd2ede44809de1d6beed756766032e


[ROCm/clr commit: 2f3ad43c4a]
2024-03-28 18:17:46 -04:00
German Andryeyev 31ace540fa SWDEV-449922 - Remove per queue residency update
alwaysResident setting doesn't require per queue residency tracking.
Thus, the logic can be skipped to avoid the lock of queues.

Change-Id: Ib5cff5b79d3ecb8c2f2eb2565cf069f9a69438b0


[ROCm/clr commit: 95e3958748]
2024-03-28 16:16:37 -04:00
Jaydeep Patel 21a5b16faa SWDEV-450636 - Hostcall Listen thread cause seg fault due to main thread is being destroied by app/test's unload libamdhip64.so call.
Change-Id: I8d4a8d8b6801d9f6eb745c45adf831597def0cb5


[ROCm/clr commit: 4761ecbb15]
2024-03-27 00:10:55 -04:00
Saleel Kudchadker f3aedfbec0 SWDEV-301667 - Create TS for each node recorded in graph
- Create a vector to allow multiple TS to be stored in Command.
- This would mean we dont wait for entire batch in Accumulate command
to finish when we exhaust signals.
- Reduce the number of signals created at init to 64. This min value
may still need to be tuned but the KFD allows max of 4094 interrupt
signals per device.
- Store kernel names whenever they are available and not just when
profiling. If we dynamically enable profiling like for Torch, a crash
can happen if hipGraphInstantiate wasnt included in Torch profile scope
beacuse we previously entered kernel names only when profiler is
attached.

Change-Id: I34e7881a25bbc763f82fdeb3408a8ea58e1ec006


[ROCm/clr commit: c157bfb202]
2024-03-26 14:47:24 -04:00
Rakesh Roy 150144a05f SWDEV-445096 - Fix -O0 crash in OpenCL tests
- With https://gerrit-git.amd.com/c/lightning/ec/llvm-project/+/1002628 applied, at -O0 Kernel::dynamicParallelism() returns true but virtual queue isn't created
- This causes segfault inside VirtualGPU::submitKernelInternal() when getVQVirtualAddress() is called

Change-Id: Ia7af042adad2329e870c142caaac3e8fa886f8b8


[ROCm/clr commit: d1fff7cea2]
2024-03-26 11:42:33 -04:00
kjayapra-amd 0f8a9567e6 SWDEV-413997 - Save hsa_handle as ptr in hipMemCreate path.
Change-Id: Ica32017ef7b00326dfb6d1f604e126d40ad5b786


[ROCm/clr commit: 5cbd74b554]
2024-03-26 10:24:29 -04:00
Anusha GodavarthySurya cf03256284 SWDEV-301667 - Disable HostBlit copy for HIP correct if check
Change-Id: I33d1359d5e4c871f63350d8300f726e039664d86


[ROCm/clr commit: 7f84df9f74]
2024-03-26 02:18:51 -04:00
German Andryeyev e46ab0bff5 SWDEV-353281 - Change pool type for graphs
Under ROCr physical allocations don't have initial VA and require extra
flag in ROCclr. Add an option to have a mempool of physical allocations.

Change-Id: I4d062fe0dd8113d4eaf6e8b51749ed56d8701d1e


[ROCm/clr commit: f296159f62]
2024-03-25 10:21:05 -04:00
Ioannis Assiouras 50ecfb39c9 SWDEV-451736 - Revert "SWDEV-444670 - Register the Runtime::tearDown function to be called at exit"
This reverts commit 8392200773.

Change-Id: Ib9cb1cc0c3903bfba56c9a5d05ae8afe96be583a


[ROCm/clr commit: 51926b6b6b]
2024-03-23 07:05:02 -04:00