Grafik Komit

125 Melakukan

Penulis SHA1 Pesan Tanggal
German Andryeyev 57d668ab8f SWDEV-86035 - use the new field for SE mask
Change-Id: I51ed37f1194264876a3099189f35216d01988771
2021-04-16 11:10:34 -04:00
Sourabh Betigeri 70af4db3a6 SWDEV-279447 - Change to report 64kB of LDS for Windows as well to match the runtime behavior of HIP
Change-Id: I80b66346e17ba23766b7c9fe4e40ca94cb07f54b
2021-04-15 13:26: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
Julia Jiang aef4ab1fc8 SWDEV-268186 - OCL ReBar optimization
Change-Id: I69d8bce8d48a5b6f94a05272c83ee91fbec1688c
2021-04-13 15:08:32 -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
Sourabh Betigeri 48e470a14c SWDEV-273265 - Reverting wrong scope resolution operator VirtualGpu in the declaration releaseGpuMemoryFence()
Change-Id: Ia67ee1e4a3e86235caf8b7c585c65372f7d55426
2021-04-07 09:24:10 -07:00
Sourabh Betigeri 21ea81d5b9 SWDEV-273265 - Fix to wait on a pending dispatch in PAL.
Change-Id: I431cedfef5d5cb727c35ba8e294528017bfe2088
2021-04-06 13:13:07 -04:00
Julia Jiang f22ceb0fd8 SWDEV-272268, SWDEV-268186 - OCL change for Rebar optimization:fix regressions in OCLMemInfo and Conformance basic test
Change-Id: I3e709942b5f43ba52a4cb0824a2e6b3202d4b405
2021-04-06 10:53:12 -04:00
Alex Xie 0de4b2962c SWDEV-268914 - Linux, AMF, tests fail to scale images down
This is part 2 of the change. This is for PAL backend.
The parent buffer sometimes has newer data than the sub buffer or image.
We always need to copy the data into copybuffer in pitch workaround.

Tests:
clinfo
Conformance tests: all images test, info, API, basic.
Internal runtime tests

Change-Id: I97d876ac75b240e69b48244be4c9e522db24f8ac
2021-03-31 11:17:56 -04:00
Alex Xie 090cf6c6d3 SWDEV-276304 - [Navi][OpenCL][Linux]AMF Converter generate corrupted Frames
This is part 2 of the code change for PAL.
The copy image workaround could be recursively used by ROCclr blit kernel.
Avoid such situation by using stack variable.

Tests:
clinfo.
Conformance tests - basic, API, info, and all images tests.
Internal runtime tests - all passed.

Change-Id: I3c822e55398cdf35c2c4a46ed9fc20fbee7cc908
2021-03-30 15:56:01 -04:00
pghafari f1d58ae0d6 SWDEV-245532 - HIP - Vulkan interop
Change-Id: I741f48e095c203bb1304f5b5e44f8c87b14b5497
2021-03-29 12:06:35 -04:00
pghafari e64ce02ea2 SWDEV-245532 - HIP - Vulkan interop
Change-Id: I0be4279bb1037640d138dd07e125b78a719743ca
2021-03-26 13:59:13 -04:00
pghafari 6e888b15ff SWDEV-245532 - HIP - Vulkan interop
Change-Id: I0e5bc4862925f344b3fcadf1fa0c0acaeaae6c4d
2021-03-23 23:40:17 -04:00
Jason Tang 8d01cbddbe SWDEV-3 - Backport M0 changes
Change-Id: I36f676713442479ede142b7e887656f0b658bc7b
2021-03-10 10:25:42 -05:00
Vladislav Sytchenko 27e3b875f7 SWDEV-232428 - Fix CI regressions caused by 99e8ac5
Change-Id: I36e9ce964f4d7733450eee356d425d23e1d7ff2c
2021-03-09 11:09:55 -05:00
Vladislav Sytchenko 99e8ac55cd SWDEV-232428 - PAL Hostcall support
Since the majority of the Hostcall implementation now sits in the
commmon layer, the PAL backend simply just needs to invoke it. One thing
that is missing though is HSA signal support.

The newly added pal::Signal class is a light emulaion of what HSA
signals provide. The current implementation is just enough to get
Hostcall working, but it can be expanded in the future if needed to
fully emulate HSA signals.

The major difference for now between PAL and ROCm hostcall
implemenations is that PAL doesn't support blocking signals. This will
be enabled in the near future. For now use active wait for PAL.

Change-Id: I746557354ab9d71a7d4a31f9320fcc2fee5aee7f
2021-03-09 10:44:34 -05:00
German Andryeyev dee99ca807 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
2021-03-05 11:36:12 -05:00
Vladislav Sytchenko b4064ad557 SWDEV-1 - Remove unannounced asic
Change-Id: I0ec360e7f924dcfbc26bc70981a714abb57804c9
2021-03-03 23:21:41 -05:00
Vladislav Sytchenko d8c1da5669 SWDEV-1 - [PAL] Force luxmark to use HSAIL on gfx10+
Change-Id: I929d6d15365d3a6e9fd7eaed0b8b4910694f9504
2021-03-02 16:16:56 -05:00
Tao Sang c1c5c89cd0 SWDEV-270973 - Add missing copyright headers
Change-Id: I6bb17650f74371dae6e29c59fd6bb2022cc062fe
2021-03-02 12:01:54 -05:00
Vladislav Sytchenko 9e8a2f3266 SWDEV-86035 - [PAL] Correct allocation logging
Since the allocation can be a suballocation, we should print both the
VA range for the allocation and the underlying memory object.

Change-Id: Ic9c707bbb78113b366d1b2c688e6fd33bdc8fd94
2021-02-24 11:35:49 -05:00
Vladislav Sytchenko dbcf023cb1 SWDEV-86035 - [PAL] Propagate gl2Uncached setting to the backend
Change-Id: I594f304a20d448fe198ec27901e6c97b265c1183
2021-02-21 13:52:38 -05:00
Vladislav Sytchenko 263173914f SWDEV-86035 - [PAL] Fix runtime init
The settings need to be populated ASAP, otherwise the dummy context is
not created properly.

Change-Id: Iede0066308bb601dc68164e894775a646a0372f1
2021-02-20 16:39:13 -05:00
Vladislav Sytchenko 671778bdd3 SWDEV-232428 - Push hostcall implementation to the device layer
This change unifies the hostcall implementation for all the backends,
by pushing the common logic to the device layer. This is done by
replacing the use of hsa_signal_t with device::Signal (a light wrapper
around it).

Change-Id: I7b6fca7930b5a0b199da5d85e2e048354cc04e7b
2021-02-16 17:19:57 -05:00
Vladislav Sytchenko ac237ac094 SWDEV-271486 - [PAL] Temporarily disable reporting sramecc support
Change-Id: I089af8f8a4645ce5353f351dbf3a018cd31df216
2021-02-16 10:39:18 -05:00
Ravi C Akkenapally 0a5f9a3b10 SWDEV-179105 - Stream Operations: Add support for Wait and Write
Change-Id: Ibffa1d6d573826b64763da280074a77271d66808
2021-02-15 17:02:38 -08:00
kjayapra-amd 2df099df9e SWDEV-270013 - Allocate kernel_arguments from kern_arg & finegrain pool instead of coarse grain.
Change-Id: Id4c6977934fdd6ef2311f6e75593801f1e51983c
2021-02-15 18:20:08 -05:00
German Andryeyev 70f06c79fa SWDEV-86035 - switch PAL interface to 656 version
Change-Id: I162ba6e49aa866c013f37a114df5bb7ea3e08874
2021-02-12 13:08:59 -05:00
Joseph Greathouse 54d1d69c0a SWDEV-270773 - Fix workgroup calculation logic for GWS initialization
The existing workgroup calculation logic for GWS initialization is
incorrect. It tries to add together workgroups across dimensions,
leading to major under-count in 2D and 3D kernels. An (x,y,z) kernel
uses x * y * z blocks, not x + y + z.

In addition, the previous logic was incorrect for the case of launching
a single-threaded kernel. It calculated 0 workgroups, leading to
initializing GWS to -1.

Change-Id: I1bb20a0d5b6e0cc10ac55901c28d8f93aac61c09
2021-01-31 01:16:48 -06:00
Vladislav Sytchenko 0d0739a39b SWDEV-268186 - [PAL] Enable MALL for persistent allocations
Change-Id: Ibc21255d5be52289cb4de3de7d12e0415fd1bc91
2021-01-28 12:47:18 -05:00
Tony Tye c2308216dd 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
2021-01-18 22:32:37 +00: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 e0448535a3 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
2021-01-13 08:24:28 +00:00
Tony Tye 76c371d78a Make hsa_agent_t handles use pointer to device::Device
For roc devices create hsa_agent_t handles using a pointer to the
device::Device. This ensures each device has a different hsa_agent_t
handle. This may be necessary to ensure the loader symbol lookup will
search only symbols for the correct device.

Change-Id: Iee6dd40d68bf22a02ce8c75cbe5ac8f5a0d9e418
2021-01-13 08:24:28 +00:00
Tony Tye 583dddf6b6 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
2021-01-13 08:24:28 +00:00
Tony Tye f92b060707 Use properties() method consistently in paldevice.cpp
Change-Id: I8074ecc283dde57bddfabf72a439bf6132ee900e
2021-01-13 08:24:28 +00:00
Tony Tye 682774a09d Refine sampler handling
- Use std::unique_ptr to levarage RAII for managing the allocation in
  the presence of errors.

Change-Id: I55de515bbf72938e1dd09731c5e51f538cf9d34a
2021-01-13 08:24:28 +00:00
Tony Tye 30729a716f Check error return from aqlCreateHWInfo
Change-Id: If57c30d0605dc628d93a0d8131836ecde9834261
2021-01-13 08:24:28 +00:00
Tony Tye e5431676d4 Add stronger checking
- Add assertions to enforce that objects are of the correct kind and
  have been allocated.

- Make destructors check if objects have been allocated before
  deleting.

- Operations that require a non-NullDevice return failure if given a
  NullDevice.

- Use static_cast rather than reinterpret_cast when cohersing from a
  base class to a derived class.

Change-Id: I02ee0ea9d7982fd7ca29d49c9b02cfae111b7127
2021-01-13 08:24:28 +00:00
Tony Tye 001fd66cac Rename device access functions
Rename functions that access devices to reflect the derived device
they return. This includes the base device::Device and the derived
gpu/pal/roc device classes in both NullDevice and Device forms. Change
to use the least derived versions to clarify what operations will be
available.

Change-Id: I1abb6bfed7efa24852bc8d0d49acaea357d8b5d0
2021-01-13 08:24:28 +00:00
Tony Tye 8992f9e18d [NFC] Reorder some system includes alphebetically
Change-Id: I5245eb8482b447f6ce95e1c0b686d09ca7d20deb
2021-01-13 08:24:28 +00: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
Jason Tang 318eecfc87 Fix Windows 32bit build
Change-Id: Iab4a9a3f15c47d2c13d09ad098c52b21e078fd0a
2021-01-12 09:23:00 -05:00
Vladislav Sytchenko f45cea29b7 [PAL] Clamp max image buffer size...
to the maximum size we can possibly create.

Change-Id: Iade51d84fdada4ae1299d9b2410d373a46357c66
2020-12-15 12:14:09 -05:00
Jason Tang d4316141b7 SWDEV-263539 - More Target ID fix in GSL path
On behalf of Tony Tye. The bootleg passes CQE Baffin/Ellesmere test.

Change-Id: I4c21d21b3aaba360682ef15b8a4dda239f8af276
2020-12-14 16:48:55 -05:00
Jason Tang 054f256589 SWDEV-260632 - [PAL] Report correct Target ID
Change-Id: Ia39395e2c02e7c95b3df93be1f8030b4fa734583
2020-12-01 18:33:25 -05:00
German Andryeyev 08b846ae12 Remove obsolete terminate() method
Change-Id: I66b4a74f17977f1af320f402402a2f1b602e9911
2020-11-30 11:46:09 -05:00
Jason Tang 0c62d3bf1c SWDEV-260632 - [PAL] Use new Target ID format
Change-Id: Icd2d95b9c3f5adbd295fb2272bf453ccb9f09678
2020-11-24 17:38:13 -05:00
Jason Tang 3351b9c993 SWDEV-260632 - [PAL] Simplify NullDevice::init()
Change-Id: I9d44162f38806e3742c18da48e382baafeb7060f
2020-11-21 10:00:35 -05:00