Commit Graph

54 Commits

Author SHA1 Message Date
Danylo Lytovchenko 2ff2316227 Adjust clang format to the new versions, revert broken macro layout (#714) 2025-08-22 17:23:22 +02:00
Danylo Lytovchenko f7338717ae SWDEV-470698 - fix formatting, add format check workflow (#657) 2025-08-20 19:58:06 +05:30
Sang, Tao 03338bc767 SWDEV-502579 Revert elf symbols patches (#861)
* Revert "Fix undefined symbol at runtime with newer versions of LLVM (#791)"

This reverts commit b617e8feb6.

* Revert "SWDEV-502579 - Remove duplicated symbols (#21)"

This reverts commit 2296162578.

Revert them because ELF symbols will be added into comgr header.

[ROCm/clr commit: 35c192f1af]
2025-08-13 10:46:39 -04:00
Chaudhary, Jatin Jaikishan 7fe61f9556 SWDEV-540645 - use single path for code object loading (#773)
* use single path for code object loading
* Remove printf
* Address review comments
* Fix the declaration of ihipMallocManaged

[ROCm/clr commit: d7f90a3120]
2025-08-12 15:15:18 +05:30
Belton-Schure, Aidan 88c1717658 SWDEV-515426 - Remove HIP_USE_RUNTIME_UNBUNDLER (#205)
* remove HIP_USE_RUNTIME_UNBUNDLER
* clang-format
* Generic to use comgr
* Remove HIP_ALWAYS_USE_NEW_COMGR_UNBUNDLING_ACTION flag
* Removes runtime unbundling unused and debug Code
* Removes stale functions

[ROCm/clr commit: 81238db679]
2025-07-08 21:45:31 +05:30
Sang, Tao e113c4da2c SWDEV-533964 - Let comgr compile SPIRV to exec directly (#494)
[ROCm/clr commit: 7755660eeb]
2025-06-23 09:59:53 -04:00
Brzak, Branislav 16aefe62f6 SWDEV-508979 - Match hipModuleLoad negative return with Cuda (#326)
[ROCm/clr commit: 7a357800dd]
2025-05-21 21:09:07 +05:30
Dittakavi, Satyanvesh 086a1c289a SWDEV-529831 - Return error if the program is empty (#257)
[ROCm/clr commit: 607f8f26fd]
2025-05-06 15:12:12 +05:30
Godavarthy Surya, Anusha 41c4bea0f5 SWDEV-508538 - Optimize mem access and pack structure (#71)
Change-Id: Ib05b8891a6d228fc3266918a000d332fddc7438b

[ROCm/clr commit: bf28bbd9ab]
2025-04-21 13:43:25 +05:30
Brzak, Branislav 6ae4c7278e SWDEV-525423 - In COMGR Loader don't open file if image is already mapped (#193)
[ROCm/clr commit: d00b2a0953]
2025-04-16 11:00:54 +02:00
Chaudhary, Jatin Jaikishan e9e207d7b0 SWDEV-517941 - use device bitcode before spirv (#95)
Also add flag: HIP_FORCE_SPIRV_CODEOBJECT to allow override to force use
SPIRV.

* use cache for already compiled code objects

* address review comments and use the two spirv isa names

[ROCm/clr commit: 07e57a1f0d]
2025-04-14 23:40:52 +01:00
Belton-Schure, Aidan e27e3eb66a SWDEV-515426 - Use RAII classes for comgr (#28)
Change-Id: I9f6005542cc88f1e16e22741dcc0ce904fdaa2b0

[ROCm/clr commit: ded41058a0]
2025-03-25 20:10:44 +05:30
Jacob Lambert 26345a1431 SWDEV-518221 Fix major/minor Comgr version check
Change-Id: I2210aadafcae984dafc68c3fe16508bb2b409077


[ROCm/clr commit: 2e2b6b3592]
2025-03-06 13:02:34 -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
Saleel Kudchadker 21ae9ef25e SWDEV-508225 - Improve fat binary handling
Change-Id: I78a9951f2f4c4c743c1205b1e40aac215054e27d


[ROCm/clr commit: 08af3eb484]
2025-01-28 14:38:21 -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
taosang2 f3e3d8178b SWDEV-447973 - Support generic targets
Change-Id: I32db83843e45e0f013591493aafd7a532c881e16


[ROCm/clr commit: f1f4f40c5b]
2024-11-29 10:12:10 -05:00
Branislav Brzak 4fb70c6ce6 Revert "SWDEV-465201 - Match negative hipModuleLoad return with Cuda"
This reverts commit 3b470cb067.

Reason for revert: Breaking change that will be merged in at a later date

Change-Id: Idd300492cc08a57c50decc22df287ddcc5463c88


[ROCm/clr commit: 6e55f40313]
2024-11-07 09:51:50 -05:00
Branislav Brzak 3b470cb067 SWDEV-465201 - Match negative hipModuleLoad return with Cuda
Change-Id: Id6c682e7f9ec8d34e9c8d5d5933f31e003c67e27


[ROCm/clr commit: 68e5aeb93d]
2024-11-04 03:58:06 -05:00
kjayapra-amd 573dfa21e1 SWDEV-460113 - Remove the ufd print.
Change-Id: If0d64ea4b6662493784c040aa1ceffafc8efa1c3


[ROCm/clr commit: a5664fc93f]
2024-07-16 10:39:16 -04:00
Branislav Brzak c2128d0af9 SWDEV-465203 - Treat 0 elf length images as invalid
This addresses:
SWDEV-465203
SWDEV-465202

Change-Id: I49fcdd537fd07585e25c5fdef37cd10815466f79


[ROCm/clr commit: f014124527]
2024-06-14 04:56:43 -04:00
Tao Sang 7bf8d102fc SWDEV-433371 - Support new comgr unbundling action
Support new comgr unbundling action api to extract codebjects
in compressed and uncompressed modes.

Create HIP_ALWAYS_USE_NEW_COMGR_UNBUNDLING_ACTION ENV to
toggle new path and old path.
If HIP_ALWAYS_USE_NEW_COMGR_UNBUNDLING_ACTION=false(default),
   uncompressed codeobject will go old path for better perf,
   compressed   codeobject will go new path.
If HIP_ALWAYS_USE_NEW_COMGR_UNBUNDLING_ACTION=true,
   both uncompressed and compressed codeobjects will go new
   path.

Add comgr wrapper for
   amd_comgr_action_info_set_bundle_entry_ids()

Change-Id: I79952f132fe21249296685ee12cae05a4f9aec32


[ROCm/clr commit: d0050ce309]
2024-05-28 06:31:10 +00:00
Tao Sang 5bf67d7da7 Revert "SWDEV-433371 - use comgr to unbundle code objects"
This reverts commit c0ee0ffa1c.

Reason for revert: <INSERT REASONING HERE>
New comgr unbundling action leads to perf drop for uncompressed code object.   Will create a new patch to use old path for uncompressed , new unbundling api for compressed . 

Change-Id: I41ef53b71fc9f7aaa8cf231d4d70945f1117db52


[ROCm/clr commit: a1350fe8c1]
2024-05-28 06:31:10 +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
ChingShihLi 5ca2131ce0 SWDEV-413377 - Segfault for hipLaunchKernel with multi GPUs
- Using runtime unbundler, no any gfx device can load fat binary,
if there is any device without available code object.

- Extract available code object to corresponding gfx devices. So
users can work ROCm with those ready devices without segmentation
fault.

Change-Id: I9f14c65ecebf2d3c4b127a007cb434a3ae98c450


[ROCm/clr commit: 6723277ad4]
2024-03-01 02:24:22 -05:00
Ilya Panfilov 34cfbb5751 SWDEV-438299 - Remove unused variables
Change-Id: Id2908fe851d566ec2515161090f1e21b60cf6447


[ROCm/clr commit: 243555959f]
2024-02-13 19:39:11 -05:00
Ioannis Assiouras 4e5d704c0c SWDEV-442126 - Fix use_after_free case in ExtractFatBinaryUsingCOMGR
Change-Id: Ie07cf82025b65e4f95d4ce3cf46a6b8081f29b6a


[ROCm/clr commit: c4b9442fc4]
2024-02-05 05:08:11 +00:00
Ioannis Assiouras 30471a9fd9 SWDEV-438299 - Simplified the code in ExtractFatBinaryUsingCOMGR
Change-Id: Ic15f2b71ae87ab3ca36ed5af2c816d57d09b3e70


[ROCm/clr commit: 411bccff5b]
2024-01-04 04:01:58 -05:00
Ioannis Assiouras 7c08efde2a SWDEV-438299 - Fixed out of bounds memory access in ExtractFatBinaryUsingCOMGR
Change-Id: Ib1c6a38da0b81b78d250d7fb88d1194864a0251d


[ROCm/clr commit: 5158ec1c00]
2023-12-20 04:17:40 -05:00
German 7883f1e6f7 SWDEV-430809 - Replace hipErrorSharedObjectInitFailed vs hipErrorNoBinaryForGpu
hipErrorSharedObjectInitFailed should be used for interop objects.

Change-Id: Id3bcffaac3b511021f2fd57e9b156a897b646db0


[ROCm/clr commit: 68d442f29a]
2023-12-14 10:35:10 -05:00
Saleel Kudchadker f969d89aa4 SWDEV-301667 - Logging refactor
- Remove newline from logging as log function internally inserts a new
line

Change-Id: I25eb2242a1f1e87cf811bcc373d1d485b2e027a8


[ROCm/clr commit: 058b2702db]
2023-12-07 12:12:57 -05:00
Rakesh Roy e2e169f47c SWDEV-421667 - Print shared library name which doesn't contain CO for current device
- ML Frameworks link many ROCm component libraries
- It becomes a tedious task to figure out which library HIP is complaining about
- To improve debuggability print out the shared library name

Change-Id: I53c4d66393670356b8cafd3e48075e430f0a45ce


[ROCm/clr commit: 52001adf43]
2023-10-11 10:43:03 -04:00
kjayapra-amd 4937fa6b5d SWDEV-424569 - Fixing a merge error, which removed amd::Program->release().
Change-Id: Ib43dfc528ce217cb23d5eb38a0f87c241ae274a6


[ROCm/clr commit: c3a39ef32a]
2023-09-28 11:41:04 -04:00
Ajay a9e57c70b5 SWDEV-1 - fix build errors for file descriptor
Change-Id: I38b3962744f20ce758c32077f2c725013c666a35


[ROCm/clr commit: 3337f6912d]
2023-09-27 20:00:05 -04:00
Ajay c9c3d951f2 SWDEV-421102 - make clr compatible with c++20
Change-Id: Ia692817232caa3ee97dc0b2139645a0474b582e1


[ROCm/clr commit: 2bae1b1387]
2023-09-18 11:28:29 -04:00
kjayapra-amd 22bc3d52a3 SWDEV-417244 - Create Unique File Desc Store and guarantee no duplicates fds are opened.
Change-Id: I7be7fee52b673f0b1b3facdfbd847b57f2a47cde


[ROCm/clr commit: 85b645731c]
2023-09-13 17:03:18 -04:00
kjayapra-amd 73facd3425 SWDEV-416262 - Adding missing AMD headers on hip files.
Change-Id: I45531004e57c664df5ce4275a49f07ebbad08b7f


[ROCm/clr commit: f2c07d9bc2]
2023-08-11 10:00:23 -04:00
kjayapra-amd 6b628eca2e SWDEV-416218 - Set the image mapped flag correctly on COMGR path.
Change-Id: I6c0908731f10c8ff5b3e159c0cfb68ce096c7bdf


[ROCm/clr commit: d18f4b1ad4]
2023-08-10 15:52:30 -04:00
Rakesh Roy b3e340eb5d SWDEV-415265 - Fix segfault when library isn't built with current GPU arch
- Return error code instead of segfault during kernel launch when library isn't built with current gpu arch
- Fix string print bug

Change-Id: I91aaa50150fee220317cd2eb4e075d825cc448b2


[ROCm/clr commit: 76c8b3157b]
2023-08-08 00:41:54 -04:00
kjayapra-amd 5a35c345d1 SWDEV-408889 - Add the logging message back that will print devices without COs from Bundle.
Change-Id: Ie6f95d5e9bafe6c3db192419e4d8829053cc8b65


[ROCm/clr commit: 3a2615f5aa]
2023-07-26 17:47:52 -04:00
kjayapra-amd 8969a60e98 SWDEV-407691 - Always unmap file if HIP Runtime unbundler is used.
Change-Id: Ica15df31dfee3c495cf067a998e7e3b7c7397f40


[ROCm/clr commit: aa7c62db37]
2023-06-28 10:20:49 -04:00
kjayapra-amd 69406243e2 SWDEV-378006 - Adding a new guarantee macro to support printing args.
Change-Id: I2083ddaf8058759bdace7d3bb1e8e3670cbeddd2


[ROCm/clr commit: 7f41a96ffb]
2023-05-03 12:43:16 -04:00
Rakesh Roy c506ec3604 SWDEV-377782 - Fix segmentation fault for hipLaunchKernel
- If fat binary doesn't contain code object for current gfx then inside FatBinaryInfo::ExtractFatBinary(), valid FatBinaryDeviceInfo address isn't stored in vector fatbin_dev_info_
- This raises segmentation fault during hipLaunchKernel

Change-Id: I21017338d91edbd5d9cc2d37277f66558198a129


[ROCm/clr commit: 348698ed30]
2023-02-20 09:54:44 -05:00
pghafari c4fc6ea3ab SWDEV-369566, SWDEV-369565, SWDEV-369564 - match with cuda return
Change-Id: I308f5344a64e5a06aa89685de9348f6722c196da


[ROCm/clr commit: 698f52acd8]
2022-12-12 09:53:18 -05:00
kjayapra-amd 74adc2e9f2 SWDEV-241902 - Using COMGR APIs for extracting Code object.
Change-Id: I2dd662babf805d2de6e037bf41f7306e523da7d5


[ROCm/clr commit: 5e4f430e03]
2022-12-06 12:17:12 -08:00
pghafari 8b508ffc6b SWDEV-341326 - removing sigabrt for NoBinaryForGpu
Change-Id: Ia30fb3efec7f71b870e6a35d5ce51a4aa61fad28


[ROCm/clr commit: 9f37acc55f]
2022-08-31 09:39:59 -04:00
Satyanvesh Dittakavi 5cb71910d2 Revert "SWDEV-304151 - Reset file descriptor after Module Load"
This reverts commit 6ef56f09f1.

Reason for revert: To address SWDEV-316216

Change-Id: Ib8e6ac4b87c5e52757cd8f45958f39f012823c60


[ROCm/clr commit: a6b2294b93]
2021-12-23 06:11:43 +00:00
anusha GodavarthySurya 9761126154 SWDEV-284895 - unload program object before releasing it
Change-Id: Ib10c9877043d90de8e292db319bb9def43df8061


[ROCm/clr commit: ff00f2cea7]
2021-12-01 20:25:26 -05:00
Satyanvesh Dittakavi 6ef56f09f1 SWDEV-304151 - Reset file descriptor after Module Load
File descriptors opened during hipModuleLoad are not closed
until hipModuleUnLoad. In large models, this exceeds the ulimit
for no. of open file descriptors causing out of resource issues.
Hence, close the file descriptors once the required data is read
from the file, and not wait until unload.

Change-Id: Ic50d424e5ca388715b1e6309a0de72a480321582


[ROCm/clr commit: 3b157b3d5f]
2021-11-19 12:25:59 -05:00
Julia Jiang 6883ccde42 SWDEV-286322 - Remove execution permission
Change-Id: I96e603fc8d407c3a76fa1053bad81e45744b59ad


[ROCm/clr commit: 8835b897d5]
2021-08-05 14:04:06 -04:00