Commit Graph

6585 Commits

Author SHA1 Message Date
taosang2 e53df57ffe 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
2024-05-01 16:09:12 -04:00
Rahul Manocha 59051ed3af [SWDEV-442583] - Fix hipLaunchCooperativeKernel API error codes
Change-Id: Id3cb4b58b9efd3aceec4377d4d1d3a053c50333e
2024-05-01 11:36:59 -04:00
Saleel Kudchadker f1ef05b121 SWDEV 301667 - Fix Debug dot print for graphs
- Fix possible buffer overflow for long kernel names

Change-Id: I3c51669de7ff242d03f9210ee045b6d5e7ac274a
2024-04-30 12:26:10 -04:00
Jaydeep Patel 1d48f2a1ab SWDEV-456279 - Adding new hip flag to access contiguous memory and pass the flag to HSA API.
Change-Id: I1bafeaa3096395c729723af958d609bc41e7845c
2024-04-30 05:25:38 -04:00
kjayapra-amd 0e1a0572e6 SWDEV-413997 - Changes to use GlobalContext in views.
Change-Id: I1f8411eae9ed49632667e244a25f223fed92c720
2024-04-29 16:41:39 -04:00
Ranjith Ramakrishnan 9e74f6de8a SWDEV-451004 - Remove .bat files from hip-dev/devel package
The .bat file will not be removed from windows pacakge.
Also used cmake install(PROGRAMS …), which will set the correct permission rather than hard coding the permission

Change-Id: I8b57778b59f70e01de949be2ea353b67eec70d2f
2024-04-29 14:13:26 -04:00
kjayapra-amd 49b4aef8c9 SWDEV-413997 - Handling cases where multiple phys_mem is mapped into a single virtual address.
Change-Id: Ie678e607a64f2e5c35a10b9083185f041c5527ac
2024-04-28 08:28:12 -04:00
German Andryeyev 5c1804aa14 SWDEV-353281 - Corret VA unmap
Make sure graph mempool unmaps VA on release

Change-Id: Id3f1bd8d0115b533ae60aa5ba3676b8bf7e5b961
2024-04-26 09:37:01 -04:00
shadi f2b01782ac SWDEV-420016 - Add more driver side graph APIs
Signed-off-by: shadi <shadi.dashmiz@amd.com>
Change-Id: Iff3ee7dcbcd24836f227fdc9bd5ff4b554ac914f
2024-04-25 12:50:43 -04:00
Ioannis Assiouras 2841aab017 SWDEV-451099 - Added include for __half type definitions for non-HIP code on windows
Change-Id: Id80cef5a36db8707276de052cbaf73b6826d222f
2024-04-24 15:31:31 -04:00
German Andryeyev 5c23440199 SWDEV-353281 - Align VA size
Lower layer ignores alignment

Change-Id: If16df951ecefddc804a6effe013058afc595d30f
2024-04-24 15:22:20 -04:00
Rahul Manocha 880963346d [SWDEV-454661][SWDEV-454653] - GraphExecMemcpyNodeSetParam to return error on memcpy direction change
Change-Id: I2c8f5ea394caeaaa6895003e63cd62a052c491f8
2024-04-23 12:56:30 -04:00
kjayapra-amd 863c56262e SWDEV-455041 - Continue processing fat binary even if other code object bundle processing fail.
Change-Id: Iea553ab0265c08341f915644075ce2b6ed9b3200
2024-04-20 14:25:49 -04:00
German Andryeyev ffb516db3e SWDEV-353281 - Reuse timestamp on memory reuse
Mempool may reuse memory without a wait. Hence, the timestamp has
to be preserved and can't be destroyed.

Change-Id: I6f095f44afa69887a4b7aeb3b329804aedd96f3e
2024-04-19 18:00:29 -04:00
Satyanvesh Dittakavi 8f7acbdadb SWDEV-446610 - Attribute HIP_POINTER_ATTRIBUTE_SYNC_MEMOPS should return the correct value
Change-Id: Ieced2ee61bba28f2d1df96893a661287b0a5c7b7
2024-04-19 14:40:09 -04:00
Ioannis Assiouras bf74ef4025 SWDEV-451594 - Implement Readback and Avoid HDP Flush workaround for device kernel args
Change-Id: I6d41a089a17f55306e7ff402588a1e831b20a7a7
2024-04-19 09:29:20 -04:00
Anusha GodavarthySurya e829ef68e4 SWDEV-455869 - Revert "SWDEV-410751 - Consider null amd::memory is invalid."
This reverts commit a9ff2c5a43.

Change-Id: I26c4b3c74b2861afc17f979492d025b59d4388ab
2024-04-19 00:54:26 -04:00
kjayapra-amd 56ebf5157a SWDEV-413997 - VMM IPC implementation for Linux.
Change-Id: Icfeb83ca51e96be35abb67a94d6e3e1a1ca5a934
2024-04-18 11:28:13 -04:00
Anusha GodavarthySurya 8179fa98a2 SWDEV-450053 - Handle MemcpyNodeSetParamsTo/FromSymbol negative parameters
For all windows allocation on SVM memory tagged with flag ROCCLR_MEM_INTERPROCESS.
hipHostMalloc validation is based on flag. So remove ROCCLR_MEM_INTERPROCESS before check.

Change-Id: I823bbf228d9a4a9acb4abffc01ac6b3f544c6e12
2024-04-18 05:39:35 -04:00
Jaydeep Patel 12e0bdcd32 SWDEV-453535 - Capture hipMemset3DAsync.
Change-Id: I517c2557573db258b3e3e353f02f6a56652b0fde
2024-04-18 00:05:45 -04:00
sdashmiz d511e57257 SWDEV-441603 - Correct dst device
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ie60aa598dd73df66cdf02c1d96daf2dfccba7a59
2024-04-17 09:21:06 -04:00
Jatin Chaudhary d7b0d78fad SWDEV-379007 - fix bool check for fp8_fnuz
for fnuz nums zero val is 0x00, -0 i.e. 0x80 would be a NaN

Change-Id: Ibdc4fb4b9fb307b5952434f08d45a8ddd6262db8
2024-04-17 05:31:21 -04:00
Sameer Sahasrabuddhe 03562a2547 SWDEV-454959 - ignore the upper half of the mask in wave32 mode
Change-Id: If027dd8cbe5cbe142fff353cb72c16f08e9aea8e
2024-04-17 10:12:57 +05:30
Jatin Chaudhary 49349f168c SWDEV-379007 - use avx instruction for bf16 cvt
AMD CPUs have had avx512_bf16 support for quite some time now (from
consumer Ryzen 7000 series to enterprise grade CPUs). This
patch should allow users to use the hardware bf16 unit when running the
__host__ variants of the function. This can be enabled via `hipcc ...
-mavx512vl -mavx512bf16`.

Change-Id: I67c377afc95ddfe8d45a048dce078a247d4a1878
2024-04-16 18:35:08 -04:00
German Andryeyev c95a75a2bf SWDEV-444670 - Enable teardown class
Force implicit runtime teardown with a global destructor.

Change-Id: Iabe63dedf5b94fefc98668585c45a61607120669
2024-04-16 12:00:06 -04:00
kjayapra-amd a1e0970d6d SWDEV-422580 - Adding back the pcie.function to PCI address string in hipGetDevicePCIBusId.
Change-Id: I932724cc872d7ae2643ce6ac2924901cb49cd7ad
2024-04-16 07:28:48 -04:00
Jatin Chaudhary ca07f59fb1 SWDEV-379007 initial implementation of fp8 header
Change-Id: Id9a5a85641882961e4d860a815217c641e6f3387
2024-04-16 05:37:59 -04:00
Sourabh Betigeri fcfe2ec88b SWDEV-453577 - Fixes to account for right CU count based on WGP or CU mode
Change-Id: Ib9739f9917bc6ff69cc76f444d909311922ebc1e
2024-04-15 11:53:43 -04:00
kjayapra-amd 00ddc3e284 SWDEV-413997 - Fixing alignment validation check for power of 2 instead of granularity factor.
Change-Id: I1e0db6e0628c09d26850e5a0339e2a4660442db8
2024-04-15 09:45:29 -04:00
kjayapra-amd 815e450cfd SWDEV-413997 - Read Access can be valid now that ROCr takes care of access.
Change-Id: Iecda74ca0207c95d3fbed8b4e15c8c4c5895d939
2024-04-15 06:00:14 -04:00
kjayapra-amd d52d16c8e6 SWDEV-413997 - Fixing multiple device cases.
Change-Id: I10ad3fbfca887e92cd81f68392fa1acf753cbd2b
2024-04-13 06:14:03 -04:00
Jatin Chaudhary 481912a1fd SWDEV-379007 - add __hip_bfloat16_raw types
This also brings bfloat16 implementation closer to CUDA's.

Change-Id: I23f381141faacd6537923ae9b88ada4d661db496
2024-04-09 05:32:13 -04:00
Rakesh Roy 880f1f0049 SWDEV-450361 - Add nullptr validation for waitStream
- Application is passing null for parameter stream in API hipStreamWaitEvent
- When event stream isn't capturing and event is not recorded, causes segfault because we are accessing deviceId() from waitStream

Change-Id: I8b87ffd6f234677f68b66dcb7ef44b2ff04a7c91
2024-04-04 02:07:18 -04:00
Anusha GodavarthySurya ea4f09e8c0 SWDEV-452787 - correct hipDrvGraphAddMemcpyNode check
Change-Id: Id58f982edd4f17d675f7a0f61a9b4dea0baebd9b
2024-03-29 00:56:12 -04:00
Anusha GodavarthySurya 19b4660cbb SWDEV-443567 - SWDEV-436126 - Fix Prohibited and Unhandled Operations during capture
=> hipDeviceSynchronize is not allowed during capture.
=> hipEventSynchronize during capture should return hipErrorCapturedEvent error
=> hipEventQuery during capture should return hipErrorCapturedEvent error
hipStreamSynchronize, hipEventSynchronize, hipStreamWaitEvent, hipStreamQuery
For Side Stream(Stream that is not currently under capture):
=> If current thread is capturing in relaxed mode, calls are allowed
=> If any stream in current/concurrent thread is capturing in global mode, calls are not allowed
=> If any stream in current thread is capturing in ThreadLocal mode, calls are not allowed
For Stream that is currently under capture
=> calls are not allowed
=> Any call that is not allowed during capture invalidates the capture sequence
=> It is invalid to call synchronous APIs during capture. Synchronous APIs,
such as hipMemcpy(), enqueue work to the legacy stream and synchronize it before returning.

Change-Id: I201c6e63e1a5d93fd416a3b520264c0fdbe31237
2024-03-28 22:10:31 -04:00
Jaydeep Patel 09328f45b3 SWDEV-446992 - Request can be for bytes OR dptr OR both.
Change-Id: Ib479c744b90125b74d99cbf18b7f4b8cf765bf1c
2024-03-26 11:10:24 -04:00
kjayapra-amd 5b28e386f6 SWDEV-448288 - Remove references to deprecated llvm references.
Change-Id: I7b58177c41dc0c6c59813977cb90e65a6cb3be72
2024-03-26 10:23:18 -04:00
German Andryeyev f296159f62 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
2024-03-25 10:21:05 -04:00
Jaydeep Patel 0be92b8f09 SWDEV-452299 - Pass dst pitch while capturing hipMemcpyParam2DAsync & elementSize should be 1 as width is in bytes while capturing hipMemset2DAsync.
Change-Id: I8f9122a30cba0a07c097dfd7609432090caab142
2024-03-21 12:49:34 -04:00
Ioannis Assiouras ad32e604c7 SWDEV-449146 - Call hipDeviceSynchronize before removeFatBinary
Added call to hipDeviceSynchronize in __hipUnregisterFatBinary
to ensure that all HSA async signal handlers complete before removeFatBinary

Change-Id: I756fecca1c2a5eae092613d8079de266399e5685
2024-03-20 23:40:46 +00:00
Ioannis Assiouras be2bdabb76 SWDEV-430437,SWDEV-434702 - Split the streamset per device
Change-Id: If1bcca45825c9899462bb95ed6f637f5af806cc8
2024-03-18 19:08:52 -04:00
Ioannis Assiouras 96f5c44851 SWDEV-451166 - Disable kernel args for non-XGMI if HDP flush register is invalid
Change-Id: I227e046e2b9cb25476a50240f5d070adbd558f21
2024-03-15 05:27:52 -04:00
Anusha GodavarthySurya 476dc4c87c SWDEV-436126 - hipStreamDestroy to remove stream from capture list
Change-Id: Ie735f27b9c5df4faf39bd4be10fbe4401fd88cdb
2024-03-14 11:32:10 -04:00
David Salinas 383ed4cedf roc-obj uses incorrect path to find ROCm's llvm-objdump
SWDEV-448278 - [LLNLA-260] (ELCAP-546) roc-obj uses bad path

Change-Id: I1a19f1fea29b301cfc183018fa050a8b8aeaaf02
2024-03-14 10:55:25 -04:00
Satyanvesh Dittakavi 684fd60c8f SWDEV-444021 - Implement hipGetFuncBySymbol
Change-Id: I7ef13d02c5b5c6ce2386ccb92b5602d005b35988
2024-03-14 02:56:30 -04:00
Jaydeep Patel 43e2bb6126 SWDEV-447384 - Handle double free case.
Change-Id: I7a1d45c2f7510180911507d56ec863982b161f6c
2024-03-13 23:08:27 -04:00
jiabaxie 14bcbcc25b SWDEV-450204 - hipGetProcAddress check for null corrected
Change-Id: Ic34b0d561d3d70f3411a60924a64c3b89954394f
2024-03-13 16:44:08 -04:00
Jaydeep Patel 79162c244b SWDEV-447525 - Fix merge conflict.
Change-Id: I9dc852e634fb702a0d17ace3fad53e14178d4da0
2024-03-13 11:52:28 +00:00
Jaydeep Patel b72d8da1bd SWDEV-447525 - maxSize param for Mem pool props.
Change-Id: Ib743611a66921aeaa449b6622b933cc8b9190d87
2024-03-13 00:58:48 -04:00
kjayapra-amd f5ca620baa SWDEV-423835 - Fixing kernel launch issues on Virtual Memory Management path.
Change-Id: I9f5e8a3d83af3809b2c50b21a10697e26113dd23
2024-03-12 17:22:07 -04:00