Gráfico de commits
95 Commits
Autor SHA1 Mensaje Fecha
Vladislav Sytchenko 6f895e3fc5 SWDEV-1 - Prepare for c++17 switch
std::mem_fun() and std::bind2nd() are removed in c++17. Switch to
simpler logic that does not require those functions.

Change-Id: I19a31f076e1813e367615bd377b424046ce144c7


[ROCm/clr commit: d934612948]
2021-09-08 16:18:33 -04:00
Vladislav Sytchenko f04c71975f SWDEV-301636 - Manually find NUMA
CMake does not provide a way to query the NUMA library, hence we need
to find it manually.

Change-Id: I370b286acdee75cbebc21340da3c432c79f8ffa7


[ROCm/clr commit: dd23379ac8]
2021-09-08 15:04:15 -04:00
Vladislav Sytchenko ab7fe870fd SWDEV-1 - Fix Windows build
std: :mem_fun() is removed in c++17. Simplify logic to not require it.
Change-Id: Ic9a4753b48dd13fcb20cd5b90ff73c3df3211b9f


[ROCm/clr commit: c68f024b35]
2021-09-08 12:59:48 -04:00
Vladislav Sytchenko f9722c79a8 SWDEV-298985 - Calm down build warnings
This resolves -Wreorder warning.

Change-Id: I28851d66e19a70c4851ac056819d2daadbdc7113


[ROCm/clr commit: 215853fd54]
2021-08-29 13:58:48 -04:00
Vladislav Sytchenko 926ea9c801 SWDEV-1 - Fix line endings for .asm files
Change-Id: Ie315acd708178ca0722457e688859244fbddcd9f


[ROCm/clr commit: 86b577fb19]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko f34036e155 SWDEV-297808 - Don't update free memory counter when creating views
Current logic when creating a buffer view will end up going into the
allocation block. Even though no memory will be allocated, since
owner()->getSvmPtr() is already allocated, we'll still end up
calling updateFreeMemory().

Checking if we're creating a view, will skip the SVM allocation logic
and let us fall into the actual view creation logic. This won't end up
updating the free memory counter.

Change-Id: I1c260a9ef57895130b272ea1246e06e812b25b37


[ROCm/clr commit: f167136918]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 48cbefdacf SWDEV-292408 - [PAL] Always force high clocks for HIP
Redshift sees around a 3x performance uplift this change.

Turning this on for OpenCL might cause unwanted behaviour, due to
apps like RSX running in the background all the time.

Change-Id: I9f32d5f2e05b6697a8aaa9ddf74474b5531bb7e1


[ROCm/clr commit: 2f00782829]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko a4306451fe SWDEV-283981 - [PAL] Support hostcall SQ interrupt
Note that this requires base driver CL#2340320+ to have SQ interrupt
functionality enabled by default.

Change-Id: I04b936819ebe1eb7cf5de1db4fafe83af3a1b5f6


[ROCm/clr commit: 4171e9e0a3]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 135551359e SWDEV-273235 - Add ROCclrCompilerOptions cmake module
This module will be used to add any specific compiler options to ROCclr
and it's clients.

Currently it only adds a workaround to remove the MSVC flag /GR, which
is added by default CMake <3.20. This resolves the conflict of PAL
adding /GR-.

Change-Id: If83adb271bcec86812a6e9de940da3920fc75393


[ROCm/clr commit: ce9182e62b]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 1560d8d6fe SWDEV-240806 - Fix Windows build
Fixes error "All control paths should return a value".

Change-Id: I4718688b55b24862465e15ea0d64b32fa44b3299


[ROCm/clr commit: de53cd1903]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 4a2da6ea45 SWDEV-293519 - [PAL] Limit mgpu SVM logic only to mgpu cases
Below logic allocates the host buffer whenever a subbuffer is created
from a SVM allocation. This is only needed for multi-device contexts.

HIP does not support multi-device contexts, hence this logic just ends
up performing unnecessary system allocations.

Change-Id: I8eae635f7c5289c52ef73434218c1658b788a456


[ROCm/clr commit: ffbf368f4c]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 9b02e5baa4 SWDEV-283981 - Revert "SWDEV-283981 - [PAL] Support hostcall SQ interrupt"
This reverts commit 9df70fa03ce60d47247eb0e8f278e1f8dbd33d6e.

Reason for revert: need SWDEV-294782 to be resolved before we can enable SQ interrupt support.

Change-Id: I328170b60f1a3aab28c0b1fd3191297a1a51ecb7


[ROCm/clr commit: 6566361144]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko b67329da52 SWDEV-291787 - Fix Windows build
Change-Id: I1b97a1100e4c498f53aaad7157f21d0c5f8a130d


[ROCm/clr commit: 0a59c9c4c3]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 74adf82805 SWDEV-283981 - [PAL] Support hostcall SQ interrupt
Change-Id: Ic6f0ad384404712d5eeb1eaf600e231a8f8631f7


[ROCm/clr commit: 4589343c3e]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 89e36989ec SWDEV-294514 - Limit HIP-GL interop logic to HIP
Below logic is causing a crash in the CL-GL interop. As a workaround,
limit it only to HIP.

Change-Id: I12e81d035ebd80a4a9a09eb6eea2fae7040d90c9


[ROCm/clr commit: 74ccf71d53]
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko f84c2399b8 SWDEV-273235 - [PAL] Ignore system headers on Linux
CMake always searches system paths for specified files before resorting
to the hints we give it. We should not be using elf and GL headers
from /usr/include.

Change-Id: I2172ce3da9cc101ced63e22d95ecc031b94f0a67


[ROCm/clr commit: a2612343d5]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko 4def94c516 SWDEV-273235 - Remove dependency on ADL
Currently ADL is only being included if we build HSAIL and not LC. The
only configuration that does this is Ellesmere on Linux.

As the appprofile logic doesn't do anything right now, it should be
safe to remove it.

Change-Id: I13ce8c27af08c25b95edcbfd2ee1ce447b0bfd39


[ROCm/clr commit: 6ff4839d76]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko d873da3b79 SWDEV-273235 - Restore missing LinuxPro option
Change-Id: Iccc0206f3f2c5b3c03f6ed313537f0f364a4ca29


[ROCm/clr commit: 970bc2c4f5]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko 6c612d8ce7 SWDEV-274815 - [PAL] Navi24 support
Change-Id: I934797bda471618c3f69484a1552b37345ae638b


[ROCm/clr commit: f6c00765e7]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko de280603a7 SWDEV-289548 - [PAL] Revive Raven 2 support
Revert back to using the Raven (gfx902) target ID for Raven 2 (gfx909).
This is due to the HSAIL compiler not supporting gfx909.

In theory there should be no issue with running Raven isa on Raven 2.

Change-Id: I425edebc99075799eda5522fad231b8fb3184873


[ROCm/clr commit: 0b1481d4f1]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko bbc9b26788 SWDEV-273235 - Find UGL headers based on AMD_DRIVERS_PATH
All KMD/asic_reg/UGL headers are located under the drivers folder. No
need for the AMD_UGL_PATH variable as it essentially is
${AMD_DRIVERS_PATH}/ugl.

Change-Id: I070d737d50f2096493b3e75ef9b9e824cb19d048


[ROCm/clr commit: 1423c1db64]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko f93ee8d319 SWDEV-273235 - Fix Windows CMake build
Change-Id: I337b8d3b38a492b77b55602ab3a6bb3c05e693e0


[ROCm/clr commit: 77d6373502]
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko ed789dd3dc SWDEV-273235 - Initial support for Windows CMake
This change refactors the current ROCclr cmake build to accomodate a
more modular approach. This allows easier support for multiple compiler
and/or multiple runtime backends.

Currently supported compilers:
    HSAIL - enabled by ROCCLR_ENABLE_HSAIL (defaults to OFF)
    LC    - enabled by ROCCLR_ENABLE_LC    (defaults to ON)

Currently supported runtimes:
    HSA - enabled by ROCCLR_ENABLE_HSA (defaults to ON)
    PAL - enabled by ROCCLR_ENABLE_PAL (defaults to OFF)

Any configuration is supported as long as at least one compiler and one
runtime is enabled.

Since ROCclr clients can configure it differently, one cannot reuse the
same ROCclr build artifacts between different clients. To assure this,
this patch assumes that ROCclr will be built as part of the clients
project.

Change-Id: Id4a5c43634296802b8ae87d1ad5984968391ccaf


[ROCm/clr commit: 7f0c18457d]
2021-08-22 23:56:00 -07: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
Vladislav Sytchenko fde7c9072d SWDEV-273235 - Windows PAL/LC fixes
HIP should be built with HSAIL support disabled.

Currently HSAILProgram::info() and VirtualGPU::buildKernelInfo() expose
ACL interfaces directly. This should not be allowed.

Change-Id: Iae15d4f19be16806826f2f6cb600752c11f97fc1


[ROCm/clr commit: bbe6246f19]
2021-05-11 17:41:09 -04:00
Vladislav Sytchenko c7b6347a34 SWDEV-273235 - Minor build fixes for Windows CMake
Change-Id: Ia0631c8d6c2a58526b9938cfd141cbe64437f8fb


[ROCm/clr commit: ece83262de]
2021-05-05 14:32:47 -04:00
Vladislav Sytchenko d63de355fe SWDEV-273235 - Allow explicitly disabling LF support
Currently LiquidFlash cannot be supported from Github Enterprise,
hence we need to be able to build with out it.

Allow this by setting -DWITH_LIQUID_FLASH=0.

Change-Id: I975e8ee16b7ba033e3eb95fe40955d8c1d4779b7


[ROCm/clr commit: 7034e749e3]
2021-05-05 14:32:30 -04:00
Vladislav Sytchenko b739fb879d SWDEV-280473 - Remove dependancy on internal ACL API
aclutGetTargetInfo() is an internal compiler lib helper functions. This
will not be imported in the HSAIL shared library build, however it is
simple enough that we can maintain our own local copy of it.

Change-Id: I91d1a336c7da027bf8a7df8fae86a25add533611


[ROCm/clr commit: 7fd1e9c10a]
2021-05-05 12:19:52 -04:00
Vladislav Sytchenko 6ff739e446 SWDEV-1 - Remove VEGA10_ONLY macro
This is a relic of the past.

Change-Id: I888cf96368e321dcb000c1e59e9ed3f7c5dff7ab


[ROCm/clr commit: 3a12ab8fae]
2021-04-15 16:11:31 -04:00
Vladislav Sytchenko 1ec25599c7 SWDEV-280473 - Fix warnings in combined LC/HSAIL build
Enabling both LC and HSAIL will cause the DYN macro to be redefined.
Rename it for each compiler to avoid name clashing.

Change-Id: I607f022f37c4d05bef4e3a8070d19bd3659d7bc2


[ROCm/clr commit: b771377665]
2021-04-14 15:46:21 -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
Vladislav Sytchenko 16aedba832 SWDEV-232428 - Fix CI regressions caused by 9eb113d
Change-Id: I6523a8abc19dc5b01f7eacb3a949da01afae60d5


[ROCm/clr commit: 07702bb28f]
2021-03-09 13:50:13 -05:00
Vladislav Sytchenko b1b12e51d1 SWDEV-232428 - Fix CI regressions caused by 9eb113d
Change-Id: I36e9ce964f4d7733450eee356d425d23e1d7ff2c


[ROCm/clr commit: 27e3b875f7]
2021-03-09 11:09:55 -05:00
Vladislav Sytchenko 9eb113d991 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


[ROCm/clr commit: 99e8ac55cd]
2021-03-09 10:44:34 -05: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 9f2bb57232 SWDEV-1 - Remove unannounced asic
Change-Id: I0ec360e7f924dcfbc26bc70981a714abb57804c9


[ROCm/clr commit: b4064ad557]
2021-03-03 23:21:41 -05:00
Vladislav Sytchenko fe244055b7 SWDEV-1 - [PAL] Force luxmark to use HSAIL on gfx10+
Change-Id: I929d6d15365d3a6e9fd7eaed0b8b4910694f9504


[ROCm/clr commit: d8c1da5669]
2021-03-02 16:16:56 -05:00
Vladislav Sytchenko f22b6ede06 SWDEV-232428 - Fix typo from ac53942
Change-Id: Iec1f07e04ca3ae8ad72d38034bc136b59eb89dfe


[ROCm/clr commit: 8c4cf8c1b0]
2021-03-02 12:34:38 -05:00
Vladislav Sytchenko 3cd2c487d3 SWDEV-193973 - Enable HSAIL for all Navi Asics
Change-Id: I0a48442f9a970de3d449e512293bc4600c62db13


[ROCm/clr commit: 4e1232a110]
2021-02-26 11:56:09 -05:00
Vladislav Sytchenko 0a132499ce SWDEV-271964 - Revert "SWDEV-264244 Fix StreamSync"
This reverts commit a962e2d0b3.

Change-Id: I870c8b71edeb31f587fffe2447762acba61a7938


[ROCm/clr commit: 184b2631d5]
2021-02-24 11:43:08 -05:00
Vladislav Sytchenko cae2f29c10 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


[ROCm/clr commit: 9e8a2f3266]
2021-02-24 11:35:49 -05:00
Vladislav Sytchenko dfdb975c7d SWDEV-270013 - Fix uninitialized variable warning
Change-Id: Ic4c8090e94e82798c294ac4532ca20efbc5a3a54


[ROCm/clr commit: c93f66a5ec]
2021-02-23 11:49:28 -05:00
Vladislav Sytchenko c122c28e5d SWDEV-86035 - [PAL] Propagate gl2Uncached setting to the backend
Change-Id: I594f304a20d448fe198ec27901e6c97b265c1183


[ROCm/clr commit: dbcf023cb1]
2021-02-21 13:52:38 -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 086bdf83b4 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


[ROCm/clr commit: 671778bdd3]
2021-02-16 17:19:57 -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
Vladislav Sytchenko 27fea99659 SWDEV-270013 - Fix Windows build
Change-Id: I9573ef8b9d94367b8fa1dd90d40a93ddc4992f18


[ROCm/clr commit: 660e543f49]
2021-02-16 10:03:51 -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
Vladislav Sytchenko ac5394299f SWDEV-232428 - Use std atomics
Change-Id: Ieca85738621d056e612faf4de1e2011a817b8965


[ROCm/clr commit: 738fd1d24b]
2021-02-08 16:50:41 -05:00
Vladislav Sytchenko 95655fd5fd SWDEV-268186 - [PAL] Enable MALL for persistent allocations
Change-Id: Ibc21255d5be52289cb4de3de7d12e0415fd1bc91


[ROCm/clr commit: 0d0739a39b]
2021-01-28 12:47:18 -05:00
Vladislav Sytchenko b8ce1cc059 SWDEV-1 - Update ISA table
Disable gfx9+ for GSL.

Enable gfx9+ (except MI100/200/300) for PAL.

Change-Id: Ic5a238af939e1d8795503aae39df6a6ece50a9d2


[ROCm/clr commit: 81e331dc42]
2021-01-28 11:26:22 -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
Vladislav Sytchenko e6b6308e0b [PAL] Force large buffer mappings to use pinned memory
PAL doesn't perform chunking for system memory allocations, hence we
should fall back to using pinned memory for mapping large buffers.

Change-Id: I1b472616b72d12ed0105fb65532acacdb98ac7b3


[ROCm/clr commit: b4e212a0f9]
2020-11-18 17:12:32 -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
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
Vladislav Sytchenko 8f87022fde [PAL] Report actual HW limits for max image buffer size
Change-Id: I62aa3f1e9709b91ba223af0abf8bf6395fe8ec59


[ROCm/clr commit: 353a018bce]
2020-11-13 14:59:50 -05:00
Vladislav Sytchenko 5ba1294a49 [PAL] Change free mem tracking logic to use PAL size
PAL may internally align up the allocation size to the page size
reported by KMD. This will cause a mismatch in size between OCL and PAL.

To avoid this, use PAL size when updating the free memory counter on
both alloc and free.

Change-Id: Ic6e8c861a52170476474fb70a769eef93be3261f


[ROCm/clr commit: be66e29e94]
2020-10-20 12:10:14 -04:00
Vladislav Sytchenko 36c8902ed8 [PAL] Allow more heaps for non-SVM suballocations
On ReBar systems the invible heap is not present, so in theory we should
fail creating the suballocation chunk, however PAL doesn't report any
errors.

To make sure we never fail, allow creating the allocation in the visible
heap and system memory.

Change-Id: Iea9cc68d98b9cb396a2b7a37398b98b66274083b


[ROCm/clr commit: 330b674821]
2020-10-14 16:56:12 -04:00
Vladislav Sytchenko 3e6989c1c2 [PAL] Allow for embedding debug info into IBs
Change-Id: I4473b9c5aa36370d9af37f22a78f4414eaa21e01


[ROCm/clr commit: 2ec5a47c88]
2020-10-14 15:54:48 -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 1d35a5a69b [PAL] Skip extra calls to MakeResident
With the PAL_ALWAYS_RESIDENT flag memory objects are resident at allocation time, no need to make them resident again before submit.

Also we should never evict anything with this setting, or we'll generate a VM fault.

Change-Id: Ieacc6af88ab4e09c20efd94100e148b2502e1d70


[ROCm/clr commit: fd09a7a23c]
2020-10-09 14:13:32 -04:00
Vladislav Sytchenko 2acef41e2c [PAL] Add entry for unannounced device
Change-Id: I323f240068ee1eff6981e69b7a2837f06157e44b


[ROCm/clr commit: f26bb1d76d]
2020-10-02 13:52:25 -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
Vladislav Sytchenko 46c26cc6d8 Fix Windows build
Change-Id: Icdc723843541a5c13503670b5f972b78db0cccbf


[ROCm/clr commit: 1183455755]
2020-09-30 14:40:07 -04:00
Vladislav Sytchenko f092eeb18e Fix Windows legacy LLVM build
The os.hpp header gets added to the include path of legacy llvm via the compiler lib. Having "windows.h" included causes a lot conflicts with LLVM headers, as they forward declare many Windows types. Best to not include it here.

Change-Id: I60c44a8d28660368f1a4a95741e1053ef3528fa1


[ROCm/clr commit: e1b916260a]
2020-09-21 11:52:01 -04:00
Vladislav Sytchenko 60b435a7c3 Fix typo
Change-Id: I571e84cab9258dfd5e94b70865505f452ed89016


[ROCm/clr commit: be0d98b433]
2020-09-12 20:16:27 -04:00
Vladislav Sytchenko 061f949567 Add missing include
Change-Id: I21683ddb981581a0456ad0aa79843a44422a6ab0


[ROCm/clr commit: 29efce7520]
2020-09-12 20:16:09 -04:00
Vladislav Sytchenko 618619e903 Navi21 support
Change-Id: I7263556fdb85dc0152a2a72cc0ec4d7cd5e978a6


[ROCm/clr commit: d6e89ec371]
2020-09-03 11:14:37 -04:00
Vlad Sytchenko 7395ae1366 Remove unnecessary SVM commit
Change-Id: I5cb887ead166401a59b0c980f29fd615b19745be


[ROCm/clr commit: 6780a9ac66]
2020-08-13 13:21:03 -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
Vlad Sytchenko ec1205b497 Revert "Added file logging for rocclr & HIP"
This reverts commit bc5075c2c5.

This change broke the legacy-complib build in p4. It seems that we can't use any flags in debug.cpp.

Change-Id: I17bb83651b85d6f415d9074634b479658fd4c3f9


[ROCm/clr commit: 20c24cae93]
2020-06-23 16:46:56 -04:00
Vlad Sytchenko baaf3e9d1f Fix typo from previous change
Change-Id: Ib8f3418a3460d86d75fc5529ed6270a164e9b10e


[ROCm/clr commit: b835120dfa]
2020-06-16 11:12:33 -04:00
Vlad Sytchenko 0b3fc7bc5d Fix some -Wunused-but-set-variable warnings
Change-Id: I281583b5abdfc09d5dd8b7dfb20b8821581db193


[ROCm/clr commit: 5b9af8f28d]
2020-06-15 17:51:01 -04:00
Vlad Sytchenko 23b193fcd8 Fix -Wsequence-point warning
Change-Id: Ib6322e06f83887da4a29f8eafb99b743211e851d


[ROCm/clr commit: e50a9eec9d]
2020-06-15 17:40:11 -04:00
Vlad Sytchenko f88ff3ebc1 Enable the use of some warnings when building ROCclr
Enabling anything beyond -Wall like -Wextra or -pedantic seems impossible as our code base explodes in thousands of warnings.

-Wno-unused-{variable/function} is not present in the p4 build, but with gcc7.4.0 we get hundreds of instances of this warning being triggered in the code base.

With this change only two warnings show up during the build - -Wsequence-point and -Wunused-but-set-variable. The fix for the first is alredy in review.

Change-Id: I2ff37981377487b0e07fd9490498e38a60792c0c


[ROCm/clr commit: 947dbe82fb]
2020-06-15 17:32:45 -04:00
Vlad Sytchenko 20c5916b32 Handle the option USE_COMGR_LIBRARY correctly
This is a follow up to http://gerrit-git.amd.com/c/compute/ec/vdi/+/359563. The setting is now either ON or OFF, never "yes".

Change-Id: I031d013a8d239dc72ef610da81bd31b8b78a3ba8


[ROCm/clr commit: 3a84fcd13e]
2020-06-03 17:25:47 -04:00
Vlad Sytchenko 6313310fa6 Load versioned comgr library
Change-Id: I4cc81f33e6889ac81a82747159bc210256f33c21


[ROCm/clr commit: 614aaa8409]
2020-05-13 16:46:35 -04:00
Vlad Sytchenko 9896d70910 Take into account dynamic LDS size when validating the launch parameters.
Bottom layers don't error check this value, so we might and up writing a bad value to a register and cause the SPI to hang.

Change-Id: I6da4ae71c66a25c63ebb804da4afe4ca7fb831b7


[ROCm/clr commit: 6e985845b3]
2020-05-08 09:37:06 -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
Vlad Sytchenko 4720e03e65 Revert "(SWDEV-210228)"
This reverts commit 9ce8e0eeb8.

Change-Id: I1e24ce384ae4cc7b39b019dac328e17cca687d38


[ROCm/clr commit: e57dbb684f]
2020-04-14 16:15:58 -04:00
Vladislav Sytchenko 668d49db62 Don't call updateFreeMemory() if the allocation failed
Change-Id: I978cb2e463914f6a48b3d4a9057c0f67e7bdb646


[ROCm/clr commit: c781f4d419]
2020-04-09 18:41:11 -04:00
Vladislav Sytchenko 040c4fbcc0 Enable large allocations by default for gfx8+ in GSL
Change-Id: Ie386fca59ea3f364d49d5390d87412f7fc869f8e


[ROCm/clr commit: a8e0f92bc4]
2020-04-07 12:37:57 -04:00
Vladislav Sytchenko 9ce8e0eeb8 (SWDEV-210228)
Don't error when querying the number of devices if there are no devices present in the system.

We should just return 0 for the number of devices in this case and let the application handle this situation.

Change-Id: I20614ade5e649f3ce9ddd970d4b38bfe296f6cdb


[ROCm/clr commit: 2a223ecec6]
2020-04-01 13:36:44 -04:00
Vladislav Sytchenko 3f66311210 SWDEV-224023
Correct typo.

Change-Id: I72131a6e0210e7b961e586cd0ae18608d21fc529


[ROCm/clr commit: 52046e41b2]
2020-03-15 16:37:25 -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
Vladislav Sytchenko c64226cefe SWDEV-224335
cl_bool needed to be replaced with uint32_t instead of bool. This is due to cl_bool being a typedef of cl_uint32.

Currently clGetDeviceInfo() reports incorrect size for the return value, due to cl_bool being 4 bytes and c++ bool being 1 byte.

Change-Id: I647a4b8873627059865c84c8ca27694dbc0916de


[ROCm/clr commit: 243a3c2aa4]
2020-03-03 11:50:37 -05:00
Vladislav Sytchenko 2b134b6f30 Remove OpenCL Single Buffer Allocation Restriction
Change-Id: I5c37a7f08b02ed74ec6984c6da9ffa5dc9bf0f52


[ROCm/clr commit: 019d1feea5]
2020-02-25 11:41:18 -05:00
Vladislav Sytchenko e716e4bc02 Correct pitch alignment calculation
When we're aligning rowPitch to imagePitchAlignment, rowPitch is in pixels,
but imagePitchAlignment_ is bytes, so we end up overaligning the pitch.

Convert imagePitchAlignment_ to pixels before doing any logic.

Change-Id: Ia5ab9d54bed150fe974e86b060dbadc196165b29


[ROCm/clr commit: 696d00e71b]
2020-02-20 18:00:27 -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
Vladislav Sytchenko 37b7dda7bc Add .gitignore file.
Change-Id: Ia072769a04a6c2ed11eb245efc00dd9d555c4d93


[ROCm/clr commit: afa685234c]
2020-02-18 11:09:50 -05:00