İşleme Grafiği

75 İşleme

Yazar SHA1 Mesaj Tarih
German e1d34cb24f SWDEV-404889 - Debugger support, trap handler
Add trap handler code into runtime and compile/load during
device initialization. The current interface for trap handler in
PAL is obsolete and the new interface will be provided later.

Change-Id: I1fa702c5d1f2e6731f781369c980d546cf422328
2023-09-19 16:05:02 -04:00
Jacob Lambert 19526e46e6 Revert "SWDEV-410182: Link device-libs when compiling source to bitcode"
This reverts commit f3dc04a50d.

Reason for revert: There are currently some outstanding issues with the COMPILE_SOURCE_WITH_DEVICE_LIBS Comgr action (https://ontrack-internal.amd.com/browse/SWDEV-386072). Once these LLVM issues have been resovled, we can safely re-apply this patch

Change-Id: I8501967af8496ea50d6e4a97399e45db51bbed1e
2023-09-06 21:34:03 -04:00
Juan Manuel Martinez f3dc04a50d SWDEV-410182: Link device-libs when compiling source to bitcode
This is related to SWDEV-410182, but it's not enough to fix it.

Functions from device-libs are precompiled into llvm-ir in a "target agnostic" way
(in reality, it's not 100% target agnostic, which brings us many headaches).

When linking builtins (like device-libs) from the command line, we use the flag
-mlink-builtin-bitcode. The difference between regular linking of bitcode and
this flag is that the later propagates target-specific attributes. If this
attributes are not propagated, we can end up with incosistent target attributes.

Comgr provides the action AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC
for this exact reason. The old action is currently deprecated and this one should
be used.

Change-Id: I518415214debdf4fedf0b1d81456d6e9fb8a3d19
2023-08-30 04:24:17 -04:00
Jacob Lambert 8047d8e3e8 Revert "SWDEV-371628 - Shift device lib linking into clang driver"
This reverts commit a4c5c44008.

Reason for revert: Performance regressions and failures observed. Need to investigate those and before re-applying patch

Change-Id: I42ba0605797f9bdcfb5d5102927dd01405cf05e3
2023-06-15 00:56:08 -04:00
Jacob Lambert a4c5c44008 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
2023-05-17 17:40:56 -04:00
Saleel Kudchadker 538d453b86 SWDEV-301667 - Cleanup log
Change-Id: I9719ec8b19406a062727937471e7a845a522a0be
2023-05-01 11:07:55 -07:00
Jacob Lambert 2a9d8b5862 SWDEV-1 - Add missing newlines to debug log output
Change-Id: I6c98d482079c34931cdc0615075eba34f87241f3
2023-04-25 13:10:57 -04:00
taosang2 82d2213cfa SWDEV-380903 - Add program lock
Create seperate locks for program and HSAIL

Change-Id: I7c826ed9c2f2d839d359e5158f578830655616fd
2023-04-05 07:50:16 +00:00
Juan Manuel MARTINEZ CAAMAÑO 37849a0726 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
2023-04-05 07:47:02 +00:00
Jacob Lambert 5168485d23 SWDEV-376413 - Revert "SWDEV-376413 - Replace deprecated Comgr device-lib action"
This reverts commit 0969056f66.

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

Change-Id: I6b08273a8f9c8bcaa4e7a06cd42d15048e52ca2a
2023-02-09 10:02:47 -05:00
Saleel Kudchadker 7619b53e9b SWDEV-381633 - Better log
Change-Id: Ie151d73aa4b1dae7d0d9acd0457e7dbdf35f21ee
2023-02-08 17:54:11 -05:00
Jacob Lambert 0969056f66 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
2023-01-20 15:52:00 -05:00
Juan Manuel MARTINEZ CAAMAÑO 8ab3fd58cf 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
2023-01-16 03:34:21 -05:00
jatang 6647882773 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
2023-01-11 17:51:35 -05:00
jatang 05a8eaaf0f SWDEV-372791 - Default UniformWorkGroupSize to true for CL1.x
Change-Id: If03396b5a7a3a69e05fdb4c43791a0d84d9f4127
2022-12-28 12:59:08 -05:00
Juan Manuel MARTINEZ CAAMAÑO 9b8005d758 SWDEV-287018 - Generate tempraries for _optimized.bc and _linked.bc if -save-temp-all is passed.
Change-Id: Ie8a7af66f0764f0a94948d45d7deed786f799c96
2022-11-15 07:49:07 -05:00
Jaydeep Patel efedf08327 SWDEV-329516 - Don't clear error if setKernels returns false.
Change-Id: I75f69bcdf01bad63a9273dc37afd69644f6b3b22
2022-07-27 06:01:00 +00:00
German Andryeyev c275d9b4b3 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
2022-04-25 09:53:59 -04:00
Maxime Chambonnet d45794e985 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
2022-04-11 14:24:39 -04:00
German Andryeyev 2664d8cf9e 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
2022-02-23 21:33:05 -05:00
German Andryeyev be6a06384e 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
2022-02-07 14:05:58 -05:00
anusha GodavarthySurya 102aa9d6d9 SWDEV-284895 - Adding kind metadata and launch init/fini marked kernels
Change-Id: If2b21c4b98567632c426943e0b69aca8d6f1ec2a
2021-12-01 08:17:44 -08:00
Jason Tang e0bd4aad63 SWDEV-1 - Only check agent-binary ISA compatibility for online device
Change-Id: I5c8395c646280b8316e2f1af9f1e624359166cba
2021-09-23 16:03:01 -04:00
Jason Tang 73967c3b17 SWDEV-1 - Some 'delete' clean up
Change-Id: I02564f0f0e349375bde1471e9f82df268703367b
2021-09-09 12:12:40 -04:00
Jatin Chaudhary b5a57327bb SWDEV-299162 - Add new comgr API to demangle names
Change-Id: I84174d7e40e9afff9a8ea135abadb69d580478e0
2021-09-08 00:35:34 -04:00
Jason Tang 75cafd85b8 SWDEV-1 - Correct class name
Change-Id: I20d7092e010cabae6ac1a4eb39a62112fe4c6629
2021-08-25 16:31:46 -04:00
Jason Tang cb41710384 SWDEV-297294 - Make sure the binary ISA is compatible with the agent ISA
Change-Id: Idf86714d1a494d24faa665c9fede1e776ce253f1
2021-08-22 23:56:08 -07:00
vpykhtin 51cc9c2f8c 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
2021-08-22 23:56:08 -07:00
Saleel Kudchadker 2e26ed1cbb SWDEV-297448 - Add debug log print
Change-Id: Ieba1b2e5d766e3fbe84dfc875dde8268166b3f99
2021-08-22 23:56:08 -07:00
Jatin Chaudhary 751937af14 SWDEV-286257 - Check for --save-temps option for HIP. Create Temp files if its present.
Change-Id: Ie5787d03b73081bca1ad03699ed7015badc342c7
2021-08-22 23:56:08 -07:00
agunashe d96481fb36 SWDEV-293742 - Update copyright end year VDI repo
Change-Id: I69d2fea4a7a43adf96ccea794270e4af991c5261
2021-08-22 23:56:07 -07:00
cjatin 228662bf3f SWDEV-283267 - Fix a bug where rocclr appends compiler options twice
Change-Id: I54ca6e8458cf6414c263df7a8bf61f7ce39a64df
2021-08-22 23:56:07 -07:00
Jason Tang 8aa89274c8 SWDEV-277566 - Fix LinuxPro build
Change-Id: I3e15ae55591d669a87ce0d69fecf9fa32b85b0a6
2021-05-17 15:18:40 -04:00
Vladislav Sytchenko 73b833a741 SWDEV-273235 - Fix Windows runtime error
Variables passed by reference need to be initialized beforehand.

Change-Id: Ic29e3b7f6e04ef5bb153a2e6bd81419e1955935b
2021-05-14 15:03:10 -04:00
Jason Tang 211ba25b4e SWDEV-277566 - Separate code object loading from building
Change-Id: I87b8178f55e8ef23762dfe11fab71665ba680f00
2021-05-13 08:41:35 -04:00
Vladislav Sytchenko c7b50bb890 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
2021-04-14 12:25:54 -04:00
Vladislav Sytchenko 2ae1b17b7c SWDEV-280473 - Fix Windows build
Change-Id: Id1acb5ad07a6717c5866065776f9f2b3bf85be8e
2021-04-13 11:38:17 -04:00
Vladislav Sytchenko cbeb372e46 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
2021-04-12 14:55:06 -04:00
Jason Tang 1a38be8972 SWDEV-277559 - Remove AMDIL
The rest of AMDIL support will be removed along with orca backend.

Change-Id: I0462501e7147dc4b99870fd02034d0a4a0496e55
2021-04-09 14:15:15 -04:00
Vladislav Sytchenko 8bb7399323 SWDEV-274766 - Fix temporary file name on Windows
Change-Id: Ie06e0d14ab27f40b230ed6051cf95f4902f07c7a
2021-03-04 14:38:46 -05:00
Vladislav Sytchenko ee1ec3258d SWDEV-252745 - Fix uninitialized variable
Change-Id: I9167dc3c85779771a44626f2f88eec4134c5a5ad
2021-02-11 10:26:38 -05:00
cjatin 5cfea2981b SWDEV-252745 - Adding precompiled headers to build option
Change-Id: Iab03e8a75215d80c91817ee0227d034fefa9dfad
2021-02-09 23:33:55 -05:00
Jatin Chaudhary 9943fcd81b Adding compiler option to be passed to comgr
Change-Id: I6247cfc8f323e7ccbc95e35408ab3e8a55e16495
2021-01-18 06:25:44 -05:00
Tony Tye c7e8d91e14 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
2021-01-14 11:11:51 -05:00
Tony Tye eb16dc5ef3 [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
2021-01-13 08:24:28 +00:00
Tao Sang 4937fd7f0e Remove deprecated __HIP_ROCclr__
Change-Id: I19464fef82d5d24af7d4c46a80318a2922895bb8
2021-01-11 09:26:01 -05:00
Jason Tang b9520ce4cd SWDEV-263435 - Get code object version the correct way
Change-Id: I18877c116e2f013ec9d04411258c0df8cc0159b3
2020-12-05 15:51:26 -05:00
Alex Xie 6327dbc4cc 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
2020-11-24 15:08:12 -05:00
Vladislav Sytchenko ec130a5a28 Disable branch-fold optimization temporarily for some Adobe apps
Change-Id: I8b4af4decb6b3ba4b856167ffb0ae8200b21a835
2020-11-17 12:51:33 -05:00
Jason Tang 25cc965c76 Change file mode 755 back to 644
Change-Id: I4ba5d66997ffd3331c56674d4bf805160dcdf049
2020-10-19 15:09:32 -04:00