Commit Graph

2351 Commits

Author SHA1 Message Date
Pengda Xie e591f1f7f7 SWDEV-512044 - Fix logic error in texture size validation
Change-Id: I6aefcfed25b099c17bf0856d621081c0a5ce46c5


[ROCm/clr commit: ade704dd2f]
2025-02-26 11:20:58 -05:00
Ioannis Assiouras eb825325d2 SWDEV-516994 - Fix race condition in the implementation of graph AutoFreeOnLaunch on Windows
Change-Id: I3c98d0d4bffe2a9e0aa5cfa24b6c8e9a8087da29


[ROCm/clr commit: a8f309049d]
2025-02-26 02:36:31 -05:00
Rahul Manocha 75d53e5c22 SWDEV-489106 - Linker API addition to runtime
1) Add Linker APIs to runtime to support SPIRV linking
2) Migrate Internal implementations to runtime and share with rtc
3) Add Support to bundled and unbundled SPIRV Code object linking.

Change-Id: Ic1fd4431f842a208a2468e8aec54a65b5fa6b0e3


[ROCm/clr commit: 5930f047bb]
2025-02-22 13:39:23 -05:00
Li, Todd tiantuo 04dc7ca51f SWDEV-508980 - [6.4 Preview] fix hipDeviceSetCacheConfig during stream capture
Change-Id: I8e89774a8163fdc120155f742606ee2c0aa7103b


[ROCm/clr commit: 9faaf20aae]
2025-02-22 01:05:28 -05:00
Li, Todd tiantuo 82f78ce187 SWDEV-510271 - [6.4 Preview] fix hipCreateSurfaceObject & hipDestroySurfaceObject during stream capture
Change-Id: I19e149549c271d847f52b72e04cb2427ca194b24


[ROCm/clr commit: c07468e53c]
2025-02-22 01:04:35 -05:00
Ioannis Assiouras 8d29fb9e6d SWDEV-509788 - Use stream memory operation in hipStreamWaitEvent
This change removes the stream callback from hipStreamWaitEvent and
uses a stream memory wait operation instead. This allows the
hipStreamWaitEvent to be non-blocking on the host.

Change-Id: Ie5530febda5a5bcb5daa0db8a01249d6b137fd43


[ROCm/clr commit: 721c5800ca]
2025-02-21 11:46:09 -05:00
German Andryeyev f9d9b2c441 SWDEV-497841 - Add virtual memory heap
Add initial implementation of virtual memory heap with
dynamic virtual memory mapping support for memory pools.
DEBUG_HIP_MEM_POOL_VMHEAP controls the new method.

Change-Id: I8dc5be2e0f34ab472f1800f43bb6243639a5e500


[ROCm/clr commit: 296dce5570]
2025-02-20 10:55:49 -05:00
Jimbo Xie 8a42a52d0f SWDEV-477219 - implement hipEventRecordWithFlags
Change-Id: Icf07e85fc8c15f921f6e7c9fbd31dd3856dc988b


[ROCm/clr commit: 7a4a22d454]
2025-02-19 13:53:00 -05:00
Jatin Chaudhary 508d043176 SWDEV-515255 - do not free bitcode object before code gen
- Also add a cache, which allows compiled code objects to be reused
  instead of compiling again. This should improve performance on
  multigpu systems.

Change-Id: Ib135d616c076b77f8aaf28de275d408b38021d89


[ROCm/clr commit: 0391aec14a]
2025-02-18 12:39:31 -05:00
Anusha GodavarthySurya c6bea0ea59 SWDEV-469422 - hipgraph remove static typecast to parent
Change-Id: I339250cfd26a7c04543722a82301acbb41c7d5d7


[ROCm/clr commit: 199e464402]
2025-02-14 11:09:32 -05:00
Aidan Belton-Schure 4b4a35b86b SWDEV-508279 - Improve HIP event profiling
There are 2 functional changes to this patch:
* Use GPU timing for internal markers for HIP.
* Measure CPU time closer to GPU timer, to reduce delta between GPU/CPU timestamp measurements.

There are some smaller non-functional updates:
* waifForFence -> waitForFence typo
* Remove unused drmProfiling

Change-Id: I4c5fa600a842ab60e454888779edcac8449a902a


[ROCm/clr commit: 179801a750]
2025-02-13 04:15:40 -05:00
Jatin Chaudhary db2a3214c4 SWDEV-504769 - Allow hipEvent_t to record on hipStreamLegacy
Change-Id: Ib86412255adad172598620ea81214e5eb56020ea


[ROCm/clr commit: e560d94d2c]
2025-02-12 07:02:35 -05:00
Ioannis Assiouras a349b23474 SWDEV-514686 - Fixed hipEventSynchronize/hipStreamWaitEvent for IPC events
Resolved an issue where hipEventSynchronize and hipStreamWaitEvent APIs
did not function correctly for events created with the hipEventInterprocess flag.
The bug caused the event to be incorrectly marked as "recorded,"
leading to these APIs failing to wait for the event as expected.

Change-Id: Ic9fdfaab2393beb93d6e0b83661545e902a63499


[ROCm/clr commit: 1cdfbfd270]
2025-02-11 18:43:06 -05:00
Ioannis Assiouras eb77b9aba6 SWDEV-508435 - Use the stream of the src/dst image memory object in A2H and H2A commands
Change-Id: I9b776a54760a4633d5f84cf7b467d2d3ba8cbdde


[ROCm/clr commit: a8edb8d467]
2025-02-07 13:38:31 -05:00
Satyanvesh Dittakavi 8daab29f7f SWDEV-477584 - hipExtGetLastError should return the immediate previous API error
hipGetLastError should return the error by any of the previous APIs
in the same host thread to match the CUDA behavior, whereas
hipExtGetLastError will return the error by the immediate previous API.
This Ext API was added earlier to facilitate the existing HIP apps which
are following the current behavior of hipGetLastError

Change-Id: I61e95b1fc136cc761e2434e02187b7ed2598b733


[ROCm/clr commit: 4b443f8133]
2025-02-06 23:30:48 -05:00
Anusha GodavarthySurya 5535f15104 SWDEV-469422 - hipGraph move to classes from structs
Change-Id: I0f9c8ef1161c0c92ebe0cce6844b2feacfee83f5


[ROCm/clr commit: 32e5b00c30]
2025-02-05 00:33:41 -05:00
taosang2 27e87ccca6 SWDEV-513458 - Add gfx950 target ID
Add gfx950 target ID

Cherry-picked
https://gerrit-git.amd.com/c/compute/ec/clr/+/997678
https://gerrit-git.amd.com/c/compute/ec/clr/+/1063519

Change-Id: I0228c5e87ceec366983fd4afb1c25e7f8161c2c2


[ROCm/clr commit: 29cc394510]
2025-02-04 18:30:23 -05:00
Rahul Manocha 4cbfbe2112 SWDEV-511855 - Fix hipMemcpyPeer to support stream capture checks
Change-Id: I7797f069b3ed4240b6785e82da7494a97b4843c6


[ROCm/clr commit: 81051f3520]
2025-02-04 11:22:35 -05:00
Aidan Belton-Schure 33b4f178c0 SWDEV-443561 - Add tools dispatch table
Change-Id: I3445554e486ab7b94592571f52c1530cb918d021


[ROCm/clr commit: 152cee3737]
2025-02-04 04:57:38 -05:00
Jacob Lambert 2bd527c676 SWDEV-387063 - Use clang default for C++ version
Instead of enforcing c++14 here, we can instead use the current
clang default

Change-Id: Ib0a178a53c1377f2910edf6fab82b2bac6567ac7


[ROCm/clr commit: 33e48b9629]
2025-02-03 11:07:52 -05:00
Anusha GodavarthySurya 837f7ca08c SWDEV-489084 - Avoid creating internal stream when graph has single branch
Change-Id: I9371d44481257069bb51c0217a57f97d803589c4


[ROCm/clr commit: b385992f94]
2025-01-31 00:16:57 -05:00
Saleel Kudchadker 21ae9ef25e SWDEV-508225 - Improve fat binary handling
Change-Id: I78a9951f2f4c4c743c1205b1e40aac215054e27d


[ROCm/clr commit: 08af3eb484]
2025-01-28 14:38:21 -05:00
Marko Arandjelovic 8b956db8db SWDEV-489619 - Added checks for memcpy capture path
Change-Id: I0e156099282f0b6393bcbcee2e9b96c31034a851


[ROCm/clr commit: 269ec54252]
2025-01-27 03:51:34 -05:00
Ioannis Assiouras 8169855390 SWDEV-510319 - Fixed random segfaults in graph tests
This change fixes random segfaults in graph tests that
are seen after the change make internal callbacks non-blocking.
The callback thread that decreases the GraphExec ref count
may now run after the runtime shutdown. This can cause a segfault
because the hip::device that is accessed in GraphExec destructor
is already destroyed during runtime shutdown. This patch ensures
that the hip::device object  stays alive until after the
callback thread completes.

Change-Id: I75a6ac01f27a0b2250bbd10ed389ebfb322927af


[ROCm/clr commit: 21c223f8df]
2025-01-25 09:54:15 -05:00
Sourabh Betigeri e3c4a81b69 SWDEV-502219 - Adds validity checks for negative parameters passed
Change-Id: Ib8a531533306a27143d74b81c074de81051eb896


[ROCm/clr commit: c460b0541b]
2025-01-24 16:32:29 -05:00
zichguan-amd 4e84f2182e SWDEV-509518 - Allow LLVM_ROOT and Clang_ROOT to be used with find_program
Fixes #123. find_program doesn't follow CMP0074 and thus ignores LLVM_ROOT and Clang_ROOT. This change adds LLVM_ROOT and Clang_ROOT to the search path of find_program for llvm-mc and clang in hiprtc to mimics previous add_package behaviour.
Caveat: cmake-specific variables like CMAKE_PREFIX_PATH will take precedence over paths specified with HINTS for find_program, there's no way to change the ordering unless we skip cmake-specific variables all together using NO_CMAKE_PATH and NO_CMAKE_ENVIRONMENT_PATH.

Change-Id: I1fedb60cda09744416e19b3c6e3e0c5c9045f8e7


[ROCm/clr commit: 272ef9a7bf]
2025-01-23 11:50:36 -05:00
Jaydeep Patel f674ba58f0 SWDEV-508982 - [6.4 Preview] - Handle hipMemPoolCreate, hipMemPoolDestory & hipDeviceSetMemPool during stream capture.
Change-Id: Ia195442041803896df814798c3d2053c0ba7770c


[ROCm/clr commit: 57df1b348f]
2025-01-22 05:28:47 -05:00
Jaydeep Patel 1d7b7cde76 SWDEV-457316 - Use phy memory obj stored in user data instead of querying from memObjs.
Change-Id: Id837eb00195d88b50904441f01cf8153fa752ecd


[ROCm/clr commit: b4df9fb6ec]
2025-01-21 22:05:14 -05:00
Jatin Chaudhary 0795f00a14 SWDEV-341217 - Initial work to use SPIRV in HIP
Change-Id: If5c09b5e86b498e7ac5eb05adf28cb7a1fac8101


[ROCm/clr commit: 6a5d19059d]
2025-01-20 03:54:23 -05:00
Vladana Stojiljkovic 4b786b5207 SWDEV-498061 - Add capture support for hipModuleLaunchCooperativeKernel
Change-Id: I5ed188e046c680c2785b3952391f59ed1d0c21b8


[ROCm/clr commit: 30cb2d0e67]
2025-01-16 10:54:30 -05:00
Marko Arandjelovic cf8eeabfe2 SWDEV-489619 - Fix memcpy tests with capture stream enabled
- Added missing validation as graph node should not be created
 if parameters are invalid
 - Fix conversion of input params to graphNode params

Change-Id: I37ab04942b5fb2eb07386850cb7dbbf26f9ca967


[ROCm/clr commit: db8527f655]
2025-01-16 10:31:04 -05:00
Marko Arandjelovic 8647bb483b SWDEV-504084 - Make hipModuleGetFunction use the device the module is loaded on
If a module is loaded on one device, hipModuleGetFunction and other similar APIs should be able to run successfully from another device.

Change-Id: I96084cbd6c6dcf2a81019779a6ab1842ef2f35d1


[ROCm/clr commit: c46f843b99]
2025-01-16 10:16:42 -05:00
Ioannis Assiouras 67c93c3bad SWDEV-505503 - Use internal device synchronize function in __hipUnregisterFatBinary
This is to avoid calling the HIP_INIT macro during the shutdown process.

Change-Id: I2e65f6e10491918a17445ee1e8ddd08286070358


[ROCm/clr commit: 5e3a29078d]
2025-01-15 18:57:34 -05:00
Sourabh Betigeri c95bb38b2b SWDEV-507960 - Return with error code if stream of type hipStreamLegacy is being attempted to destroy
Change-Id: Iee7ada6a5a905b44360a7e4049fc8b1a45c80db0


[ROCm/clr commit: 9d8d35ae40]
2025-01-13 18:17:37 -05:00
Ioannis Assiouras 161d590405 SWDEV-503760 - Only consider allocations that are less than X% larger in a mempool request
Change-Id: I94acbca606fd4c575e2e1a9e34959ce650571867


[ROCm/clr commit: 44b6b6813d]
2025-01-13 16:57:26 -05:00
Rahul Manocha 0a9315f5e0 SWDEV-497288 - Add validation checks to hipGraphExecNodeSetParams
Change-Id: If8cde47bc8e62414333768e01064298d8a3d80ee


[ROCm/clr commit: 2b32d9aada]
2025-01-13 16:49:45 -05:00
Anusha GodavarthySurya 08c92f4793 SWDEV-480209 - Make internal callbacks non-blocking
Change-Id: Ic918d08f341abfd9a7c167d09f9c723cdc43157f


[ROCm/clr commit: 683a942364]
2025-01-10 02:16:11 -05:00
Saleel Kudchadker 6a416008aa SWDEV-508004 - Improve hipEventRecord
- Resolve stream once for event record. We should avoid calling
  getStream again in addMarker

Change-Id: I78448c4f151ae10a5c8e8c248b2f4078b84191cb


[ROCm/clr commit: a22c45d635]
2025-01-09 16:47:46 -05:00
German Andryeyev 5a76761960 SWDEV-507019 - Change the function lock to the module lock
Multiple functions can be located in the same module.

Change-Id: Ia4ca3db64fe5b0822584059d3770c91103665c63


[ROCm/clr commit: 45a12208b6]
2025-01-09 12:35:29 -05:00
Rahul Manocha b1ef5972d6 SWDEV-504215 - fix rocalution perf drop by disabling cpu wait
Change-Id: I878f3420073b05cc6241f524ac428e47c0ce823d


[ROCm/clr commit: 05baf9ff22]
2025-01-07 17:02:24 -05:00
Marko Arandjelovic 44ff3ba1cc SWDEV-506234 - Refactor validation in hip_memory
Change-Id: I9d69695e4b6668e6de00f1f6b060862872358340


[ROCm/clr commit: 7e152bb0f3]
2024-12-31 00:35:25 +02:00
Jaydeep Patel f20f399915 SWDEV-505276 - Parent graph of orig node and original graph of cloned node should be same.
Change-Id: I6ebc21cc42e41ad5d952a69fb3b3cb095f32cffb


[ROCm/clr commit: dff8197b1d]
2024-12-24 04:32:14 -05:00
taosang2 da613fbbeb SWDEV-479958 - Support different address mode
Support different address modes in X, Y, Z directions

Change-Id: If1db5a8af33c92dd14b48968c3e8eceb97daea6c


[ROCm/clr commit: d82d6a78cf]
2024-12-23 16:39:54 -05:00
Ioannis Assiouras b4019892c9 SWDEV-505504 - Disable vectorization in GetHipDispatchTable
Change-Id: Id33144623555a5d25e029ca644f6274610dcd0ad


[ROCm/clr commit: 158b6a29e0]
2024-12-20 17:47:07 -05:00
Jaydeep Patel 12ed697705 SWDEV-505205 - Fix hipStreamLegacy segfault with hipStreamWaitEvent.
Change-Id: I17fdaf7ac323507f99a7c071066944296537489c


[ROCm/clr commit: a05a02e527]
2024-12-20 04:18:21 -05:00
German Andryeyev 55d4a75016 SWDEV-504658 - Reduce the lock scope for kernel look-up
The vector with all kernels is preallocated on the executable init.
Thus, reduce the scope  of global lock to the binary creation only.

Change-Id: I73035013a6562175069137e895bba815f466ee35


[ROCm/clr commit: 0640d36019]
2024-12-18 17:04:51 -05:00
Sourabh Betigeri 02c203bf9c SWDEV-505277 - Adds hipStreamBatchMemOp in the enum of hcc_map
Change-Id: I6e58dfbe4ba13db8717edc36020fefabc9ddbe23


[ROCm/clr commit: cd9db5a2fa]
2024-12-18 05:38:58 -05:00
German Andryeyev d5b3b0830a SWDEV-504650 - Switch to shared_mutex for events
Use shared mutex for events validation

Change-Id: Iff291c758d9edd65717c506150f3b9d39e5306ba


[ROCm/clr commit: e3efce20be]
2024-12-17 11:04:58 -05:00
Ioannis Assiouras 2c8805e536 SWDEV-483134 - Remove hipExtHostAlloc API
Change-Id: I60777ef5c56b60dd8100d0d794ca10fb3b96a555


[ROCm/clr commit: e8b2fdab96]
2024-12-16 17:13:49 -05:00
Anusha GodavarthySurya 4288640f69 SWDEV-469422 - Derive GraphExec from Graph and ChildGraphNode from GraphExec
Change-Id: I54d67a1665355579bc249d8ff4f9806e9ee14588


[ROCm/clr commit: 13e2e797c0]
2024-12-16 00:43:57 -05:00