Граф коммитов

71 Коммитов

Автор SHA1 Сообщение Дата
Jacob Lambert 2e664d2492 SWDEV-371628 - Shift device lib linking into clang driver
Previously, we used the following approach and Comgr actions
for device lib linking:

    AMD_COMGR_COMPILE_SOURCE_TO_BC (compile with clang driver)
    AMD_COMGR_ADD_DEVICE_LIBRARIES (link in device libs with
      llvm-link API)

However, the clang driver can link in device libraries as part
of compilation, assuming a --rocm-path is set. In this context,
this is accomplished by using the following Comgr action instead:

  AMD_COMGR_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC (compile and
    link in device libs with clang driver)

Change-Id: I661465865365afecc44aa15d4df91bfab361af8d


[ROCm/clr commit: a4c5c44008]
2023-05-17 17:40:56 -04:00
Saleel Kudchadker 44512e3228 SWDEV-301667 - Cleanup log
Change-Id: I9719ec8b19406a062727937471e7a845a522a0be


[ROCm/clr commit: 538d453b86]
2023-05-01 11:07:55 -07:00
Jacob Lambert eda5e6731e SWDEV-1 - Add missing newlines to debug log output
Change-Id: I6c98d482079c34931cdc0615075eba34f87241f3


[ROCm/clr commit: 2a9d8b5862]
2023-04-25 13:10:57 -04:00
taosang2 632822bdf5 SWDEV-380903 - Add program lock
Create seperate locks for program and HSAIL

Change-Id: I7c826ed9c2f2d839d359e5158f578830655616fd


[ROCm/clr commit: 82d2213cfa]
2023-04-05 07:50:16 +00:00
Juan Manuel MARTINEZ CAAMAÑO d2cae2aa50 SWDEV-286150 - [NFC] Refactor setLanguage method into a static function called getCOMGRLanguage
* Return the result by value and not through a pointer passed by
parameter

Change-Id: I8f872c95c4a330bebe299d486fb73f36660b469c


[ROCm/clr commit: 37849a0726]
2023-04-05 07:47:02 +00:00
Jacob Lambert c013a1c39b SWDEV-376413 - Revert "SWDEV-376413 - Replace deprecated Comgr device-lib action"
This reverts commit 8da846db0a.

Reason for revert: Test failures with Luxmark, blender, and Indigobench. Need to investigate before re-applying

Change-Id: I6b08273a8f9c8bcaa4e7a06cd42d15048e52ca2a


[ROCm/clr commit: 5168485d23]
2023-02-09 10:02:47 -05:00
Saleel Kudchadker 95e07af803 SWDEV-381633 - Better log
Change-Id: Ie151d73aa4b1dae7d0d9acd0457e7dbdf35f21ee


[ROCm/clr commit: 7619b53e9b]
2023-02-08 17:54:11 -05:00
Jacob Lambert 8da846db0a SWDEV-376413 - Replace deprecated Comgr device-lib action
The Comgr ADD_DEVICE_LIBRARIES action has been deprecated. In place
of the previous two-action approach:

    AMD_COMGR_COMPILE_SOURCE_TO_BC
    AMD_COMGR_ADD_DEVICE_LIBRARIES

We can now use a single combined action:

    AMD_COMGR_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC

This new action more closely alings with how device library
management is done by the clang driver.

Change-Id: Id844e9031a1896dedeacec453440b9babc4b111a


[ROCm/clr commit: 0969056f66]
2023-01-20 15:52:00 -05:00
Juan Manuel MARTINEZ CAAMAÑO 16a5bfd654 SWDEV-287018 - Remove requiredDump argument from Program::linkLLVMBitcode
Weirdly, the `requiredDump` argument to linkLLVMBitcode was used to enable/disable
the keeping temporary bytecode files (those generated by -save-temps=all) after linking.

This patch removes this argument as there is no obvious benefit from keepeing it
(the user would only rely on -save-temps=all to control this).

Change-Id: I0c00486f95eb1d4e296b5247c488407c47f0b2d9


[ROCm/clr commit: 8ab3fd58cf]
2023-01-16 03:34:21 -05:00
jatang 1f5f1c8708 SWDEV-287018 - Only generate _optimized.bc when both requiredDump and DUMP_BC_LINKED are true
The current code generates a _optimized.bc regardlessly, so put back the original logic.

Change-Id: I3f84d10934b3e983f5f828af8d0943449a6e1d94


[ROCm/clr commit: 6647882773]
2023-01-11 17:51:35 -05:00
jatang fca7b357b8 SWDEV-372791 - Default UniformWorkGroupSize to true for CL1.x
Change-Id: If03396b5a7a3a69e05fdb4c43791a0d84d9f4127


[ROCm/clr commit: 05a8eaaf0f]
2022-12-28 12:59:08 -05:00
Juan Manuel MARTINEZ CAAMAÑO ed84e3c9fa SWDEV-287018 - Generate tempraries for _optimized.bc and _linked.bc if -save-temp-all is passed.
Change-Id: Ie8a7af66f0764f0a94948d45d7deed786f799c96


[ROCm/clr commit: 9b8005d758]
2022-11-15 07:49:07 -05:00
Jaydeep Patel d3daf1ea8b SWDEV-329516 - Don't clear error if setKernels returns false.
Change-Id: I75f69bcdf01bad63a9273dc37afd69644f6b3b22


[ROCm/clr commit: efedf08327]
2022-07-27 06:01:00 +00:00
German Andryeyev eccf328c14 SWDEV-307184 - Make sure runtime passes CO version into comgr
Disable devlib linking when runtime links multiple objects from
the app. Otherwise devlibs will be linked twice and may cause
undefined behavior with COv5.

Change-Id: I3b8640c64ff898893225fe3af5b4b4a32d42bf40


[ROCm/clr commit: c275d9b4b3]
2022-04-25 09:53:59 -04:00
Maxime Chambonnet 38928e85c1 SWDEV-1 - ROC CLR typos
This is cherry-picked from this github issue:
https://github.com/ROCm-Developer-Tools/ROCclr/issues/28

Change-Id: I236f4f25a2dabe05883159af0fab0bad06ab0fd0


[ROCm/clr commit: d45794e985]
2022-04-11 14:24:39 -04: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
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
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
Jason Tang b47bd6138e SWDEV-1 - Only check agent-binary ISA compatibility for online device
Change-Id: I5c8395c646280b8316e2f1af9f1e624359166cba


[ROCm/clr commit: e0bd4aad63]
2021-09-23 16:03:01 -04:00
Jason Tang e94aec09bd SWDEV-1 - Some 'delete' clean up
Change-Id: I02564f0f0e349375bde1471e9f82df268703367b


[ROCm/clr commit: 73967c3b17]
2021-09-09 12:12:40 -04:00
Jatin Chaudhary f020572d6e SWDEV-299162 - Add new comgr API to demangle names
Change-Id: I84174d7e40e9afff9a8ea135abadb69d580478e0


[ROCm/clr commit: b5a57327bb]
2021-09-08 00:35:34 -04:00
Jason Tang 9dd3967661 SWDEV-1 - Correct class name
Change-Id: I20d7092e010cabae6ac1a4eb39a62112fe4c6629


[ROCm/clr commit: 75cafd85b8]
2021-08-25 16:31:46 -04:00
Jason Tang 91dc2d93f9 SWDEV-297294 - Make sure the binary ISA is compatible with the agent ISA
Change-Id: Idf86714d1a494d24faa665c9fede1e776ce253f1


[ROCm/clr commit: cb41710384]
2021-08-22 23:56:08 -07:00
vpykhtin a3b0a8aed0 SWDEV-1 - OpenCL binary substituion feature based on source program text hash matching.
This patch allows to substitute binary for the opencl program. It supposed to be used as:

1. Run the opencl program with -save-temps.

2. Open the cl temp and find the following text in the program header:
    Hash to override:
	Source: 0xd66bcfa20e69e605
	Source + clang options: 0x656a9dd8aedcbfb6

3. Create config file (ascii text) with a pair(s):

    <hash> <path_to_binary_to_substitute>

    where hash is the hex value from step 2 (without leading 0x), you can use either hash
    depending on what you're going to match:
	only the source text of the program or along with it's clang options.

4. Set the env variable AMD_OCL_SUBST_OBJFILE to the path of your config file.

5. Rerun the opencl program.

Change-Id: I977c80fe529ea14458194918c6ddfbe2de6a8857


[ROCm/clr commit: 51cc9c2f8c]
2021-08-22 23:56:08 -07:00
Saleel Kudchadker 14d8512375 SWDEV-297448 - Add debug log print
Change-Id: Ieba1b2e5d766e3fbe84dfc875dde8268166b3f99


[ROCm/clr commit: 2e26ed1cbb]
2021-08-22 23:56:08 -07:00
Jatin Chaudhary ff3101ca71 SWDEV-286257 - Check for --save-temps option for HIP. Create Temp files if its present.
Change-Id: Ie5787d03b73081bca1ad03699ed7015badc342c7


[ROCm/clr commit: 751937af14]
2021-08-22 23:56:08 -07:00
agunashe 49f0546637 SWDEV-293742 - Update copyright end year VDI repo
Change-Id: I69d2fea4a7a43adf96ccea794270e4af991c5261


[ROCm/clr commit: d96481fb36]
2021-08-22 23:56:07 -07:00
cjatin 9587f79650 SWDEV-283267 - Fix a bug where rocclr appends compiler options twice
Change-Id: I54ca6e8458cf6414c263df7a8bf61f7ce39a64df


[ROCm/clr commit: 228662bf3f]
2021-08-22 23:56:07 -07:00
Jason Tang af79937953 SWDEV-277566 - Fix LinuxPro build
Change-Id: I3e15ae55591d669a87ce0d69fecf9fa32b85b0a6


[ROCm/clr commit: 8aa89274c8]
2021-05-17 15:18:40 -04:00
Vladislav Sytchenko 83bd216941 SWDEV-273235 - Fix Windows runtime error
Variables passed by reference need to be initialized beforehand.

Change-Id: Ic29e3b7f6e04ef5bb153a2e6bd81419e1955935b


[ROCm/clr commit: 73b833a741]
2021-05-14 15:03:10 -04:00
Jason Tang 6cd1f5854e SWDEV-277566 - Separate code object loading from building
Change-Id: I87b8178f55e8ef23762dfe11fab71665ba680f00


[ROCm/clr commit: 211ba25b4e]
2021-05-13 08:41:35 -04:00
Vladislav Sytchenko c585ae92a7 SWDEV-280473 - Support HSAIL shared library build
This change makes HSAIL usage similar to that of Comgr. By default, the
runtime will statically link against it, however if HSAIL_DYN_DLL is
defined, then the runtime will try to dynamically load HSAIL.

Currently stick to statically linking to HSAIL. In a feature patch the
dynamic loading behaviour will be enabled.

Change-Id: I6a78a4375975cf847f236b200404c8cf941d012b


[ROCm/clr commit: c7b50bb890]
2021-04-14 12:25:54 -04:00
Vladislav Sytchenko 8edf4d9cd3 SWDEV-280473 - Fix Windows build
Change-Id: Id1acb5ad07a6717c5866065776f9f2b3bf85be8e


[ROCm/clr commit: 2ae1b17b7c]
2021-04-13 11:38:17 -04:00
Vladislav Sytchenko 7b3014ec69 SWDEV-280473 - Remove HSAIL support from the ROCm backend
In adition to removing the HSAIL logic from the ROCm backend, guard all
of the HSAIL includes in the common layer behind the WITH_COMPILER_LIB
define. This is to avoid including HSAIL headers when building with
no support for it.

In common logic replace the use of the aclType enum with the new
Program::file_type_t enum. This is essentially a local copy of the HSAIL
enum to avoid including any HSAIL headers.

Change-Id: Ica0651d1b29dfccc255cc584eb82a5cb35e1b520


[ROCm/clr commit: cbeb372e46]
2021-04-12 14:55:06 -04:00
Jason Tang 636bdbd0fa SWDEV-277559 - Remove AMDIL
The rest of AMDIL support will be removed along with orca backend.

Change-Id: I0462501e7147dc4b99870fd02034d0a4a0496e55


[ROCm/clr commit: 1a38be8972]
2021-04-09 14:15:15 -04:00
Vladislav Sytchenko 437a38aa6a SWDEV-274766 - Fix temporary file name on Windows
Change-Id: Ie06e0d14ab27f40b230ed6051cf95f4902f07c7a


[ROCm/clr commit: 8bb7399323]
2021-03-04 14:38:46 -05:00
Vladislav Sytchenko 4f2684594f SWDEV-252745 - Fix uninitialized variable
Change-Id: I9167dc3c85779771a44626f2f88eec4134c5a5ad


[ROCm/clr commit: ee1ec3258d]
2021-02-11 10:26:38 -05:00
cjatin 43a470093d SWDEV-252745 - Adding precompiled headers to build option
Change-Id: Iab03e8a75215d80c91817ee0227d034fefa9dfad


[ROCm/clr commit: 5cfea2981b]
2021-02-09 23:33:55 -05:00
Jatin Chaudhary 3dc9013e52 Adding compiler option to be passed to comgr
Change-Id: I6247cfc8f323e7ccbc95e35408ab3e8a55e16495


[ROCm/clr commit: 9943fcd81b]
2021-01-18 06:25:44 -05:00
Tony Tye 902cf1a239 Update code object handling for GSL, PAL and ROCm
- Correct GSL path to report targets using the TargetID syntax.

- Correct GSL path to check compatibility of code objects when
  loading.

- Add concept of an device isa and create a registery used by ROCm,
  PAL and GSL.

- Support XNACK and SRAMECC target features consistently for PAL and ROCm.

- Correct logic for NullDevices and asserts to avoid memory coruption.

- Allow all NullDevices to be created for HIP.

- Numerous other code improvements.

Change-Id: I40abf3d2b22249c1492d1af5919665f8184f4e0e


[ROCm/clr commit: c7e8d91e14]
2021-01-14 11:11:51 -05:00
Tony Tye 3b6c42f78d [NFC] Correct comments and line spacing
- Correct spelling mistakes or working in comments.
- Adding missing line separators.
- Add missing comments for namespace closing brace.

Change-Id: If09cdd38aa088b0f68f750dfdef81351eb8c4935


[ROCm/clr commit: eb16dc5ef3]
2021-01-13 08:24:28 +00:00
Tao Sang e9ad9ca200 Remove deprecated __HIP_ROCclr__
Change-Id: I19464fef82d5d24af7d4c46a80318a2922895bb8


[ROCm/clr commit: 4937fd7f0e]
2021-01-11 09:26:01 -05:00
Jason Tang b2fb014e19 SWDEV-263435 - Get code object version the correct way
Change-Id: I18877c116e2f013ec9d04411258c0df8cc0159b3


[ROCm/clr commit: b9520ce4cd]
2020-12-05 15:51:26 -05:00
Alex Xie 2a6c8ecb60 SWDEV-258808 - OCLSeparateCompile subtest of oclcompiler error
[PAL to KFD/ROCr][ROCr_Runtime][Vega10] OCLSeparateCompile subtest of
oclcompiler from ocltst test package is encountering clLinkProgram()
failed (chksum 0x00000001) error

If runtime does not provide a file name as dump file to ELF library,
ELF library use a temp file in current folder.
The current folder can be not writable for several reasons:
1. The application current folder might be system folder, the user
  does not have write permission.
2. The current folder is under a readonly file system. This happens for
embedded customers.

Tested in VEGA10. Issue was fixed.

Change-Id: Ic0e9f040b7c7583914301673cce237ab28b0c0cb


[ROCm/clr commit: 6327dbc4cc]
2020-11-24 15:08:12 -05:00
Vladislav Sytchenko b33dd902e8 Disable branch-fold optimization temporarily for some Adobe apps
Change-Id: I8b4af4decb6b3ba4b856167ffb0ae8200b21a835


[ROCm/clr commit: ec130a5a28]
2020-11-17 12:51:33 -05:00
Jason Tang 091f1e8e85 Change file mode 755 back to 644
Change-Id: I4ba5d66997ffd3331c56674d4bf805160dcdf049


[ROCm/clr commit: 25cc965c76]
2020-10-19 15:09:32 -04:00
agodavar 0914a414db SWDEV-254185 : hiprtc headers - handle empty headerIncludeNames
Change-Id: Ie06278c18b62cef1bdfbb8ac82728ed5667b2047


[ROCm/clr commit: 92f1ce41dc]
2020-10-13 09:23:43 -04:00
agodavar 6dddb8ffac SWDEV-254185 - Added support to pass include headers to hipRTC
Change-Id: Ic7f2957b04e518c57e2fd3fc9d839de07232405e


[ROCm/clr commit: ac72e50adc]
2020-10-12 03:46:04 -04:00
Sarbojit Sarkar ed1828ea72 SWDEV-253548 : clean up gfx-arch macros
Change-Id: I8deb2ea44f556260bb78d24f68b04b0c730ed4d8


[ROCm/clr commit: 8ab8fac173]
2020-10-06 03:17:09 -04:00
kjayapra-amd a3212c53b7 SWDEV-241896 - Remove extern support in ROCclr/HIP since compiler added Texture Reference support.
Change-Id: I2cf27e13a53860fe11e9245c9cbdcb8bd88a7872


[ROCm/clr commit: 4071cf1a16]
2020-09-25 10:20:16 -04:00