Commit Graph

4127 Commits

Author SHA1 Message Date
German Andryeyev a2248eca4c SWDEV-287137 - Add blocking signal logic
With HIP API callback runtime has to stall the queue until the
callback is done. Rocclr will introduce SW blocking HSA signal,
which will be released after the callback is done.

Change-Id: I6411f3efab31b468e3b87ebb5c8d155e116b613d


[ROCm/clr commit: d93df7037c]
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
Jason Tang e24706f99d SWDEV-287945 - LinuxPro: Disable PAL for gfx9+
Change-Id: Ief81629e53a4c0ca529a510dac5063a8885257bf


[ROCm/clr commit: 1b832c0182]
2021-05-27 11:05:43 -04:00
Chauncey Hui a0f432fdc4 SWDEV-2 - Change OpenCL version number from 3314 to 3315
[ROCm/clr commit: be7bb4b63c]
2021-05-27 03:00:06 -04:00
German Andryeyev 1184f7af0b SWDEV-287137 - Fix regression with dependent signals
- Make sure barrier with dependent signals issues before queue
index reservation
- Don't issue extra barrier if it's already a barrier command
with dependent signals

Change-Id: I179a8b7adac79eed698f4a4d9eca2606d8e913aa


[ROCm/clr commit: 148a5cac39]
2021-05-26 12:36:56 -04:00
Jason Tang e8ca936563 SWDEV-287332 - Disable NullDevice in HIP
Change-Id: I45c6010d2a3fcd0576438e3c72fbed78dff09b6b


[ROCm/clr commit: 7932b5a562]
2021-05-26 09:27:59 -04:00
Chauncey Hui 5d93ef67af SWDEV-2 - Change OpenCL version number from 3313 to 3314
[ROCm/clr commit: a3f24ec93e]
2021-05-26 03:00:03 -04:00
German Andryeyev 3e36acd579 SWDEV-278894 - Use GPU waits for HIP events
Save HW events in amd::Event.
Use HW events for synchronization

Change-Id: I98cf9c2d0ec3c7fcaf254b749ac6c568d7270ae0


[ROCm/clr commit: fa2e154a8b]
2021-05-25 13:41:15 -04:00
Chauncey Hui ae9cc2d400 SWDEV-2 - Change OpenCL version number from 3312 to 3313
[ROCm/clr commit: af4efc3b22]
2021-05-21 03:00:03 -04:00
Jason Tang 5406cc5b42 SWDEV-277566 - HSAIL: put back the original setKernels logic for now
In HSAIL path, kernel akc info is obtained after code object
loading, and kernel signature creation requires the akc info
when one of the kernel argument is a reference object.

Change-Id: I9cdb1dbf2c72f4620b0b6e46a88402a2473c3e97


[ROCm/clr commit: 8cac880779]
2021-05-20 11:16:48 -04:00
German Andryeyev 7dadaa1ccb SWDEV-285318 - Wait for the queue before destruction
With direct dispatch enabled make sure the queue is done before
destruction.

Change-Id: Ib80af3efb97dfb93e2dce60a11db34fb5c45f5cd


[ROCm/clr commit: a81756bba3]
2021-05-20 10:28:24 -04:00
Chauncey Hui f7d3ce9651 SWDEV-2 - Change OpenCL version number from 3311 to 3312
[ROCm/clr commit: 721c3eb150]
2021-05-20 03:00:05 -04:00
Ravi C Akkenapally 51663d1605 SWDEV-245531 - GLInterop: Add Buffer Interop support
Change-Id: I38326173475e84f8eca2605522542ef89a3cf524


[ROCm/clr commit: 0aa524363d]
2021-05-19 12:24:24 -07:00
Chauncey Hui 095222bf9a SWDEV-2 - Change OpenCL version number from 3310 to 3311
[ROCm/clr commit: e637c2f637]
2021-05-19 03:00:35 -04:00
kjayapra-amd aae0d4ca51 SWDEV-286346 - Implement Arena Memory Object for externally created memory.
Change-Id: I8530602d89edf83ad367c52167e48a1559ee1e18


[ROCm/clr commit: 1c49d8816c]
2021-05-18 10:59:52 -04:00
Jason Tang c521759b09 SWDEV-269983 - Re-enable OpenCL Offline Compilation in ROCr path
Change-Id: I160c56a6964219c56c85ebeb5f475be535c39022


[ROCm/clr commit: ed923eb12e]
2021-05-18 10:46:46 -04:00
German Andryeyev 9d920e88f3 SWDEV-240804 - Switch SVM attribute for the first alloc
Use HSA_AMD_SVM_ATTRIB_AGENT_ACCESSIBLE flag for the initial
allocation instead of HSA_AMD_SVM_ATTRIB_AGENT_ACCESSIBLE_IN_PLACE.

Change-Id: Ia52fe205563df1ea916dc2dc81e749e11c16f83d


[ROCm/clr commit: 9b3072ae12]
2021-05-18 09:32:29 -04:00
Chauncey Hui 2f1b389886 SWDEV-2 - Change OpenCL version number from 3309 to 3310
[ROCm/clr commit: 8514ab4fa4]
2021-05-18 03:00:06 -04:00
Jason Tang af79937953 SWDEV-277566 - Fix LinuxPro build
Change-Id: I3e15ae55591d669a87ce0d69fecf9fa32b85b0a6


[ROCm/clr commit: 8aa89274c8]
2021-05-17 15:18:40 -04:00
Saleel Kudchadker 0d91eae1aa SWDEV-286092 - Flush log file
Flush log file for every log line, helps in cases where there is a softhang.
Change-Id: I3e396678d82b57ec275c3a079fafd1d08f0706a3


[ROCm/clr commit: ce0f1c7c35]
2021-05-17 13:48:46 -04:00
Siu Chi Chan 1ded52c591 SWDEV-286082 - Fix C string processing in GPU printf
This fixes an issue in hostcall when processing printf of a C string.
The calculation to round-up the string size to the next data chunk
didn't include the extra byte for the null terminating character.

Change-Id: I4cf0c250fa4fda253b0db15be461819ffce76d32


[ROCm/clr commit: 8341fd31d1]
2021-05-17 12:41:19 -04:00
Jason Tang 6f2e1cec35 SWDEV-277566 - Fix HIP/PAL build
Change-Id: Ib460ac70423ebc3aceab22829cd2606d0db20f59


[ROCm/clr commit: e1b226588f]
2021-05-15 12:24:18 -04:00
Chauncey Hui b4e2b455f3 SWDEV-2 - Change OpenCL version number from 3308 to 3309
[ROCm/clr commit: 32cac1471b]
2021-05-15 03:00:07 -04:00
German Andryeyev 2b409b7e57 SWDEV-240804 - Remove AMD_HMM_SUPPORT define
Use dynamic logic for HMM based on it's availability

Change-Id: I63751d94571d5af6eb57bef2cb0e071120bfa103


[ROCm/clr commit: 3f7a6b01e3]
2021-05-14 17:41:06 -04:00
Ravi C Akkenapally 6b6b4c0d57 SWDEV-286446 - StreamOperations: Enable for all gfx9
Change-Id: I913a31c8bfdf1031d4cd491f1c689aa4df05c02c


[ROCm/clr commit: 93ae30730a]
2021-05-14 16:15:27 -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
Chauncey Hui 6775f980a9 SWDEV-2 - Change OpenCL version number from 3307 to 3308
[ROCm/clr commit: a2f6bf8522]
2021-05-14 03:00:07 -04:00
Jason Tang 0ea636c0b1 SWDEV-277566 - Only build kernelNames_ when requested.
Currently only clGetProgramInfo/CL_PROGRAM_KERNEL_NAMES requests it.

Change-Id: I38be16999ac2f631850fb5e07eeae54bfbe161ad


[ROCm/clr commit: f2a077f62f]
2021-05-13 15:07:50 -04:00
Saleel Kudchadker eeea586a2a SWDEV-283726 - Workaround for rocprof hang
This addresses the rocprof hang seen with direct dispatch. The
workaround queues the handler back if any of the signal value in the batch
is not decremented. To rememmber the last position in the list, we save
the parsed command in the current timestamp struct.

Change-Id: I02959e463cfe3cee83c54808ffd6e6f48f43b4e8


[ROCm/clr commit: e5e635f9bf]
2021-05-13 11:58:03 -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
Chauncey Hui dc35269278 SWDEV-2 - Change OpenCL version number from 3306 to 3307
[ROCm/clr commit: 509f528980]
2021-05-13 03:00:06 -04:00
German Andryeyev c5aff0dea0 SWDEV-286150 - Fix compilation with PAL_GPUOPEN_OCL disabled
Change-Id: If6d77ecce7395023db4aa9cb1ff494bc64cb1f17


[ROCm/clr commit: 1b82ff6678]
2021-05-12 22:48:45 -04:00
Chauncey Hui e0270c15f1 SWDEV-2 - Change OpenCL version number from 3305 to 3306
[ROCm/clr commit: cb09d0448e]
2021-05-12 03:00:06 -04:00
Saleel Kudchadker f42ed0672d SWDEV-280773 - Log affinity reset
Change-Id: I101c14174097d262d5d5b924cb31a69483a49c04


[ROCm/clr commit: df5b6cf202]
2021-05-11 15:52:55 -07:00
Saleel Kudchadker 4b03f02a61 SWDEV-280773 - Honor CPU affinity with env var
Setting AMD_CPU_AFFINITY = 1 will make runtime honor core affinity that
the process may set. This is disabled by default as it can prevent
worker thread or any thread that runtime creates from getting scheduled
thus affecting performance.

Change-Id: Ibe4cc95e7b99caee5ce750b7bf66e09e999cc9a3


[ROCm/clr commit: 1398719b0d]
2021-05-11 18:21:56 -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
Brian Sumner 508e2606be SWDEV-285332 - add hostcall service to allocate and deallocate device...
Change-Id: Ia63c1d9bc65367837a5161c09d274c51aead8f8d


[ROCm/clr commit: c44c866cf6]
2021-05-11 07:30:37 -07:00
Chauncey Hui 6718b2daa0 SWDEV-2 - Change OpenCL version number from 3304 to 3305
[ROCm/clr commit: c2e31fa8cb]
2021-05-11 03:00:09 -04:00
Brian Sumner 567d9cc617 SWDEV-285332 - move common context into parent
Change-Id: I99ceb62ad948e1fa9d1dcaa5ede98626cc95bea7


[ROCm/clr commit: 6d09a83b2d]
2021-05-09 09:18:39 -07:00
Chauncey Hui 3be8c0a0c3 SWDEV-2 - Change OpenCL version number from 3303 to 3304
[ROCm/clr commit: 01722818d0]
2021-05-08 03:00:05 -04:00
Jason Tang 7f71fd4036 SWDEV-277566 - Add amd::Program::load interface
Skeleton implementation to allow change at HIP and OpenCL.

Change-Id: I70e69d33c6870cc96238b2f18010ace86d56147f


[ROCm/clr commit: b2116c2137]
2021-05-07 17:07:15 -04:00
Chauncey Hui a8e09cd69b SWDEV-2 - Change OpenCL version number from 3302 to 3303
[ROCm/clr commit: 6feda9e15c]
2021-05-07 03:00:08 -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
Chauncey Hui 04a68c85b6 SWDEV-2 - Change OpenCL version number from 3301 to 3302
[ROCm/clr commit: 34ccb004df]
2021-05-04 03:00:05 -04:00
Saleel Kudchadker 6c1f022834 SWDEV-280773 - Additional logging for signals
Cleanup new lines in debug log

Change-Id: I6862c332eb9457b51e23cf4e9db9ba3f870d0c39


[ROCm/clr commit: 42b8236f93]
2021-04-30 15:05:57 -07:00
Chauncey Hui 92a0d07ebb SWDEV-2 - Change OpenCL version number from 3300 to 3301
[ROCm/clr commit: badfea2019]
2021-04-29 03:00:08 -04:00
pghafari b6e62f99d0 SWDEV-245532 - HIP - Vulkan interop semaphores
linuxpro syntax update

Change-Id: Id77e0d82c504fb7a1bd8edfac7dc962e428c87b4


[ROCm/clr commit: 89168d4812]
2021-04-28 13:48:25 -04:00
pghafari 45a930465e SWDEV-245532 - HIP - Vulkan interop semaphores
linuxpro syntax update

Change-Id: I947f24f67ed59c15fe5047348b0c005e19e93544


[ROCm/clr commit: 6e69bcef9e]
2021-04-28 07:44:22 -04:00