Commit Graph

56 Commits

Author SHA1 Message Date
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 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
German Andryeyev 7c1443eb05 SWDEV-272449 - Create RGP manager before CommitSettingsAndInit()
Enabling DebugVMID requires a certain sequence in
PAL initialization. StartLateDeviceInit() must be called before
CommitSettingsAndInit().

Change-Id: I7385a8cc89e7a8ad97a6b56ad6acbd2cf2f29728


[ROCm/clr commit: dee99ca807]
2021-03-05 11:36:12 -05:00
Vladislav Sytchenko 9f2bb57232 SWDEV-1 - Remove unannounced asic
Change-Id: I0ec360e7f924dcfbc26bc70981a714abb57804c9


[ROCm/clr commit: b4064ad557]
2021-03-03 23:21:41 -05:00
Vladislav Sytchenko 007671faf8 SWDEV-86035 - [PAL] Fix runtime init
The settings need to be populated ASAP, otherwise the dummy context is
not created properly.

Change-Id: Iede0066308bb601dc68164e894775a646a0372f1


[ROCm/clr commit: 263173914f]
2021-02-20 16:39:13 -05:00
Vladislav Sytchenko 42c3dc5c6e SWDEV-271486 - [PAL] Temporarily disable reporting sramecc support
Change-Id: I089af8f8a4645ce5353f351dbf3a018cd31df216


[ROCm/clr commit: ac237ac094]
2021-02-16 10:39:18 -05:00
kjayapra-amd 4583cbafee SWDEV-270013 - Allocate kernel_arguments from kern_arg & finegrain pool instead of coarse grain.
Change-Id: Id4c6977934fdd6ef2311f6e75593801f1e51983c


[ROCm/clr commit: 2df099df9e]
2021-02-15 18:20:08 -05:00
Tony Tye a05c745d54 SWDEV-268864 - Remove duplicatation of isa related information
Remove targetId_, gfxipMajor_, gfxipMinor_ and gfxipStepping_ from
device::Info as they are now available in device::Isa.

Change-Id: I381b1d4798ebf50655740e004a01ac7f86dbf668


[ROCm/clr commit: c2308216dd]
2021-01-18 22:32:37 +00: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 44c3b775a4 Use strncpy
Use strncpy instead of strcpy to ensure the arrays will not be
overflowered. Only copy one less than size of char array to leave a
NUL character at the end even if the copy is truncated provided the
original object is zeroed memory.

Change-Id: I00f7679630cf28dcb9a51cb0aba2810a4f4c72b9


[ROCm/clr commit: e0448535a3]
2021-01-13 08:24:28 +00:00
Tony Tye 4bfc88db5f Simplify handling of Settings
roc:Settings and pal::Settings are derivations. Allocate them as their
derived class then assign that to the base class member to avoid the
need for a static_cast.

Use device::settings to access the Settings consistently.

Change-Id: I0f85157962fbf6fed176da0caf83b723bcbe1452


[ROCm/clr commit: 583dddf6b6]
2021-01-13 08:24:28 +00:00
Tony Tye 1a033c6ee9 Use properties() method consistently in paldevice.cpp
Change-Id: I8074ecc283dde57bddfabf72a439bf6132ee900e


[ROCm/clr commit: f92b060707]
2021-01-13 08:24:28 +00:00
Tony Tye 303b379d62 [NFC] Reorder some system includes alphebetically
Change-Id: I5245eb8482b447f6ce95e1c0b686d09ca7d20deb


[ROCm/clr commit: 8992f9e18d]
2021-01-13 08:24:28 +00: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
Jason Tang ae7ec74669 Fix Windows 32bit build
Change-Id: Iab4a9a3f15c47d2c13d09ad098c52b21e078fd0a


[ROCm/clr commit: 318eecfc87]
2021-01-12 09:23:00 -05:00
Vladislav Sytchenko 6c80b85c95 [PAL] Clamp max image buffer size...
to the maximum size we can possibly create.

Change-Id: Iade51d84fdada4ae1299d9b2410d373a46357c66


[ROCm/clr commit: f45cea29b7]
2020-12-15 12:14:09 -05:00
Jason Tang d47db14a32 SWDEV-260632 - [PAL] Report correct Target ID
Change-Id: Ia39395e2c02e7c95b3df93be1f8030b4fa734583


[ROCm/clr commit: 054f256589]
2020-12-01 18:33:25 -05:00
Jason Tang a0dfb527d6 SWDEV-260632 - [PAL] Use new Target ID format
Change-Id: Icd2d95b9c3f5adbd295fb2272bf453ccb9f09678


[ROCm/clr commit: 0c62d3bf1c]
2020-11-24 17:38:13 -05:00
Jason Tang fdf6d8f1d2 SWDEV-260632 - [PAL] Simplify NullDevice::init()
Change-Id: I9d44162f38806e3742c18da48e382baafeb7060f


[ROCm/clr commit: 3351b9c993]
2020-11-21 10:00:35 -05:00
Vladislav Sytchenko f8d007fadb [PAL] Navi23 support
Change-Id: I10bb0653746060bd83ca7feda10fdafc07ced845


[ROCm/clr commit: 026baec57b]
2020-11-13 15:08:04 -05:00
Vladislav Sytchenko 77660d1ae9 [PAL] Navi22 support
Change-Id: I9f1741898b4afaa0e787d8053d8f006ee3d17017


[ROCm/clr commit: 5e60e06a50]
2020-11-13 15:00:57 -05:00
Jason Tang f4c4323f8e SWDEV-260376 - [PAL] Fix Windows build
Change-Id: I788198b5980a46981de4b2e7aaa6a495e6e98cad


[ROCm/clr commit: 2ee2392f63]
2020-11-13 09:51:43 -05:00
Jason Tang 3322d2c663 SWDEV-260376 - [PAL] Use Pal::AsicRevision to match device
A device's offset in Pal::AsicRevision could be changed from time to time, while the current implementation assume the offset never changes.

Change-Id: Id993512aa0da6e0b2356f594d5e58f76d1f97f16


[ROCm/clr commit: b1d75637bd]
2020-11-12 09:49:48 -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
Rahul Garg 40b90694c6 Add image1DMaxWidth_ for maxTexture1D property
Needed by SWDEV-254068

Change-Id: Ic650dfb6e5b38d7544ba647c53de52deda39b92d


[ROCm/clr commit: c0f8b52f06]
2020-10-14 17:30:43 -04:00
Vladislav Sytchenko fcae92ce47 [PAL] Allow overriding reported asic revision
This is helpfull to do when debugging issues on lowend asics. Navi14 can be emulated as Navi10. So can Navi22 be emulated as Navi21.

Change-Id: I693ffd45a5b03657822afdc872781901bc69b65c


[ROCm/clr commit: 26d1b28b16]
2020-10-13 09:36:15 -04:00
Vladislav Sytchenko 622d3f286c [PAL] Detect if resizable bar is enabled
Change-Id: I54b2e878d1cf7235a848a4b243f878538e226702


[ROCm/clr commit: 11bdf0005f]
2020-10-02 12:25:00 -04:00
Jason Tang eaf65e59ae Remove gfxipVersion_ from device level
Change-Id: I11485beffdb9371a20d7abcaa1d1774c102db574


[ROCm/clr commit: 5ecce5c287]
2020-09-07 11:33:49 -04:00
Vladislav Sytchenko 618619e903 Navi21 support
Change-Id: I7263556fdb85dc0152a2a72cc0ec4d7cd5e978a6


[ROCm/clr commit: d6e89ec371]
2020-09-03 11:14:37 -04:00
Jason Tang 04054e9b60 SWDEV-246565 - Remove passing -msram-ecc to Comgr
Change-Id: I1604a0014186a5779561da3ec3eefec65aff5c37


[ROCm/clr commit: f8f6bc16a1]
2020-08-06 12:48:53 -04:00
Vlad Sytchenko 9d72bf6523 Fix typo
Change-Id: I8b659508f567afa126aeb7749b536b443935e3df


[ROCm/clr commit: 9d0b0c32a9]
2020-08-04 11:15:21 -04:00
Vlad Sytchenko c98a71dc9e Only enable HIP for Vega20 on non-ROCm platforms
SWDEV-245906

All asics will still be supported for developer builds.

Change-Id: I0eac2246162d133fe63449c200d996fe05bd51bd


[ROCm/clr commit: 24c1c48db7]
2020-07-27 13:09:58 -04:00
Jason Tang fdf3ebad76 SWDEV-232197 - Use TargetID for action_info_set_isa_name()
Change-Id: I6661a2bbc2e55586c1b5029694d67cb54a4f23a6


[ROCm/clr commit: 65f4230494]
2020-07-22 13:47:17 -04:00
Jason Tang b2e264b2c1 For apu: call commitSvmMemory() from Device::svmAlloc()
Change-Id: Ic6e9b2ad4624e7e1c50835d3825254c76e764bf0


[ROCm/clr commit: 532083f87c]
2020-06-22 10:09:32 -04:00
German Andryeyev a1974c06e9 Switch PAL to interface 610
Change-Id: Ida563f38513789f5ba105ac92a9737c59cd5d90d


[ROCm/clr commit: 01fcf82448]
2020-06-19 11:40:12 -04:00
kjayapra-amd d6a2b2247a FEAT-30761 - Adding defaults to all Switch cases in PalDevice gfx detection.
Change-Id: Ic998dba44d3287484d6b0da4f07f320de8e6d92b


[ROCm/clr commit: 1982c16e46]
2020-06-04 20:49:58 -04:00
kjayapra-amd e44ec607ef FEAT-30761 - Fixing fall through in gfxip major/minor detection.
Change-Id: Ib97b3dbe993e01df3360cbeda6bd0d9d366535b6


[ROCm/clr commit: ea0137fb22]
2020-05-23 12:42:44 -04:00
Jason Tang f94e958680 Add major/minor/stepping to device layer
Change-Id: If82ea55a46b166b243a98089a6e9c40ccfdb479f


[ROCm/clr commit: cd2a713d63]
2020-05-17 12:57:34 -04:00
Jason Tang 5101aa9867 Correct the way to get subtarget
Change-Id: I47805424c0bd69547cff0ab71c369552016052b5


[ROCm/clr commit: 9b5e1fec6c]
2020-05-15 17:18:39 -04:00
Vlad Sytchenko a646af408f Add entry for another unannounced asic
Change-Id: I63c6ce6221e812a33e9427841be49840a8f48154


[ROCm/clr commit: 2963d0d454]
2020-04-28 14:23:57 -04:00
Vlad Sytchenko dae0d59594 Add entry for new device id
This is accomodate upcoming Pal::AsicRevision changes.

Change-Id: Ic108b647f3548d34b7aa83d6077fb88452768998


[ROCm/clr commit: 63b90a32c4]
2020-04-28 14:23:49 -04:00
German Andryeyev 25f9a11766 SWDEV-231691
- Problem with CL_DEVICE_GLOBAL_FREE_MEMORY_AMD query.
Check if allocated memory exceeds the total size.

Change-Id: Ieed8829860663bac1acfa41d21309dff4d8772c7


[ROCm/clr commit: e289ebdf20]
2020-04-17 09:03:04 -04:00
jujiang 3ee3f4e045 SWDEV-223160, SWDEV-227911- Fix Memory Copy Peer failure on Navi10 MGPU configuration
Change-Id: I2bf559b87cba638b5af858c2d4fe5a252d16a5d9


[ROCm/clr commit: d392082a30]
2020-03-26 10:13:19 -04:00
Vladislav Sytchenko 3f66311210 SWDEV-224023
Correct typo.

Change-Id: I72131a6e0210e7b961e586cd0ae18608d21fc529


[ROCm/clr commit: 52046e41b2]
2020-03-15 16:37:25 -04:00
German Andryeyev c650d026d8 SWDEV-79445 - Fix a regression in Linux
PAL doesn't report queue priorities under Linux

Change-Id: I3e1632ee2bcbbbaf52b45565f6b6aec24c559922


[ROCm/clr commit: c6d3aea572]
2020-03-10 12:39:56 -04:00
Vladislav Sytchenko ab1c00cee9 SWDEV-224023
Each WGP consists of 2 CU, so the number of available SIMD units is doubled.

Change-Id: I43978a8a9139c33f5f776b344a36bee927cc187d


[ROCm/clr commit: e76d867740]
2020-03-06 13:43:36 -05:00
German Andryeyev d4e8dd876b SWDEV-79445
Add MS HWS support. PAL reports just one compute engine
in that mode and runtime needs extra logic to detect RT queues.

Change-Id: I011f1f1b18dec6a7195a4f1fe939f8029bc269ae


[ROCm/clr commit: 622c714165]
2020-02-28 19:05:17 -05:00
Vladislav Sytchenko 93d797f9a0 Enable SVM atomics for HIP/Win
hip_threadfence_system passes locally with this change. This also fixes
hipHostMalloc() failures when hipHostMallocMapped flag is used.

Change-Id: Id412efe502accc7c6e7676b52c05ccb9d8fbbe67


[ROCm/clr commit: 5de65ba4a0]
2020-02-19 23:22:37 -05:00
German Andryeyev 801fe99636 SWDEV-222307 - Add CMake support for PAL
Remove dependency on COMGR headers from backends.
Remove GFX103 PAL defines.

Change-Id: I6ff76dca2a0c84bc191e8fc8b639f2f5872d2085


[ROCm/clr commit: 1be1e69f2a]
2020-02-18 10:56:31 -05:00