Commit Graph

3527 Commits

Author SHA1 Message Date
jujiang ca678c2ffd SWDEV-230009-Cltrace log is not created as expected-fix build errors on windows
Change-Id: I9eaa15f39fff0f65858f4a0b8b43ef4288ea97b1


[ROCm/clr commit: bc9351f904]
2020-05-11 13:51:55 -04:00
Christophe Paquot f03339a1e2 Fix cooperative flag for hsa_queue creation in case they're not available
SWDEV-233766

Change-Id: If410ecfed61f2b3bb50b847cf2ededc573139494


[ROCm/clr commit: 3ed185307e]
2020-05-11 13:40:50 -04:00
Chauncey Hui 5aeb28a8e3 SWDEV-2 - Change OpenCL version number from 3139 to 3140
[ROCm/clr commit: da8c217e6f]
2020-05-09 03:00:03 -04:00
Christophe Paquot b6ecb9ce82 Add gpu().hasPendingDispatch() in the SDMA path
SWDEV-234947

Change-Id: I8aa501f8755d136708b0d12ee3c30229c238660d


[ROCm/clr commit: 2a02026696]
2020-05-08 18:19:51 -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
Chauncey Hui 56f422cc5c SWDEV-2 - Change OpenCL version number from 3138 to 3139
[ROCm/clr commit: 06ee6f209a]
2020-05-08 03:00:03 -04:00
Michael LIAO 0e2c6ebac3 Fix build failure.
- Also fix `-Wreorder` warning. NFC.

Change-Id: I766fdc622c9107f901a55498bdc8fef3d821d1b7


[ROCm/clr commit: 12fcfee41d]
2020-05-07 10:39:10 -04:00
Michael LIAO b785d25506 Clear executable permission.
Change-Id: Ia0d363b1ba89d7947e5b5a55cb67edba86f0515e


[ROCm/clr commit: 503ef06555]
2020-05-07 10:38:58 -04:00
Chauncey Hui 10deec7751 SWDEV-2 - Change OpenCL version number from 3137 to 3138
[ROCm/clr commit: 3c7f376ec0]
2020-05-07 03:00:03 -04:00
German Andryeyev 6620689d2b Switch PAL version to 592
Change-Id: I7e90b8fd55c57d8d49e4ec1273ab671f96197bae


[ROCm/clr commit: 3446d4e638]
2020-05-06 14:51:32 -04:00
Chauncey Hui 5131244d24 SWDEV-2 - Change OpenCL version number from 3136 to 3137
[ROCm/clr commit: 0981ba433b]
2020-05-06 03:00:03 -04:00
Payam f66b02a3a2 name change vdi to rocclr
Change-Id: I856d6ac1a9a83d89715d6e33dec4aa17abc2f2f2


[ROCm/clr commit: d6100a9547]
2020-05-06 00:54:45 -04:00
Alex Xie 1e75874295 SWDEV-234684 - hipmemcpy optimization does not work in tests
Change-Id: I899d172c5b2af88c796fe9a36f97d15ac45caf94


[ROCm/clr commit: bfbc8cd09b]
2020-05-05 15:58:03 -04:00
Saleel Kudchadker c6d4b16980 Disable small copy optimization for now
Change-Id: Ib7a4aa676bb60940e067c985eb19070bd63b2fc2


[ROCm/clr commit: 0fbc0a895b]
2020-05-05 11:52:42 -04:00
kjayapra-amd aa6dfb2d96 SWDEV-209747 - Enable DevLogs on DEBUG or DEV_LOG_ENABLE Compiletime var
Change-Id: Ie5b7855c469f03947b680d4844c1657cbae55b11


[ROCm/clr commit: 8931ac106c]
2020-05-05 09:55:54 -04:00
Chauncey Hui a4725430f9 SWDEV-2 - Change OpenCL version number from 3135 to 3136
[ROCm/clr commit: 339a830bc0]
2020-05-05 03:00:04 -04:00
kjayapra-amd 6c270f2292 SWDEV-232464 - Memory Map modules loaded via file from hipModuleLoad
Change-Id: I0e644a161c8000abe1b07fbec72de09f1c0a4b18


[ROCm/clr commit: 347e36e31b]
2020-05-04 12:40:16 -04:00
Chauncey Hui 14f81f64be SWDEV-2 - Change OpenCL version number from 3134 to 3135
[ROCm/clr commit: 6d0fa49c5d]
2020-05-01 03:00:03 -04:00
German Andryeyev 6610976c7d Optimize synch operations
- Stall the queue only for HSA copy operations

Change-Id: Ia3debcc0f36284c5f8cd2776d31674f3aeed04ea


[ROCm/clr commit: 7302ebcfbc]
2020-04-30 11:17:48 -04:00
Alex Xie a97194485a SWDEV-232894 Port hipMemcpy optimizations from HCC to VDI
Apply the optimization to change for OpenCL too.
Clean up some unnecessary checks.

Change-Id: I840261fe35baeeadeba7388e86779d482f509aad


[ROCm/clr commit: 6c5a42b33c]
2020-04-30 11:06:28 -04:00
Chauncey Hui e853810230 SWDEV-2 - Change OpenCL version number from 3133 to 3134
[ROCm/clr commit: 1de8abd031]
2020-04-30 03:00:03 -04:00
Laurent Morichetti 963bae11a2 Make the device binary copy optional
Device binaries that are embedded inside the host binary do not
require a copy. Their lifetime is guaranteed to exceed that of the
loaded executable.

Add a 'make_copy' parameter to amd::Program::addDeviceProgram. If
make_copy is false the original image will be used and will not
get freed when the amd::Program is destroyed.

Change-Id: I7973bb0243f5a2d1b639b8a88445cfe6af919dd7


[ROCm/clr commit: 9e1964ddaa]
2020-04-29 18:39:57 -04:00
Christophe Paquot 2b3875882f Couple of cleanups.
Remove queue limitation since we loop through HW queues now.
Add a DevLogError if we fail to create the hsa_queue. A ticket showed a regression there.

Change-Id: I4f58e405f88e75600a762f6d6352838c969cdb5e


[ROCm/clr commit: b54c3f7db9]
2020-04-29 09:18:07 -07:00
Chauncey Hui bb295c0b67 SWDEV-2 - Change OpenCL version number from 3132 to 3133
[ROCm/clr commit: 860ba6f0a1]
2020-04-29 03:00:03 -04:00
Saleel Kudchadker 6b7c6748b1 Add a threshold for forcing ROCr to take blit path
This workaround is to avoid performance penalty of SDMA engine
taking a while to clock up from a lower DPM state. Add env var
GPU_FORCE_BLIT_COPY_SIZE (1024 by default for HIP in KB). Forcing
Src and Dst agent to be amdgpu makes ROCr take blit copy path for
what otherwise should have been SDMA copy

Change-Id: I222f687155f86000d17d66d25182e490b6710463


[ROCm/clr commit: 5f64e6e7ad]
2020-04-28 17:11:24 -04:00
Matt Arsenault 1cb198dba2 Avoid intermediate object library
Object libraries are weird, and producing a library by using the
target objects from them doesn't automatically import the interface
properties of the linked targets. These object libraries only have
single uses, so just directly create the final library from the
sources.

Leaves libelf as an object library, since there seems to be some cmake
oddity when trying to link an unexported target to an exported one.

Change-Id: Ic379612c89340c40085c9862cfe111fa4bbff425


[ROCm/clr commit: cba7a4d20e]
2020-04-28 16:41:34 -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
agodavar d6275e96d9 P2PStating buffer allocation when P2P is not enabled between all GPUs
SWDEV-232580 & SWDEV-232580
Allocate p2p statging buffer when full P2P access is not available between all devices.
p2p staging buffer will eventually be used when required.

Change-Id: If8490ba7b1c52c432c1e942ae95421b9d2ec7097


[ROCm/clr commit: f149fe0803]
2020-04-28 07:10:57 -04:00
Chauncey Hui 0cd4c0bfcf SWDEV-2 - Change OpenCL version number from 3131 to 3132
[ROCm/clr commit: 27bfd2a3ee]
2020-04-28 03:00:02 -04:00
Alex Xie c158b9b3d0 SWDEV-232894 Port hipMemcpy optimizations from HCC to VDI
Change-Id: I6bebe9ac503a9f80d067aeea8a848409ad210338


[ROCm/clr commit: 009d0b5f55]
2020-04-27 14:53:58 -04:00
German Andryeyev 0567dd299a Don't attempt to reuse the cooperative queue
Change-Id: I0e98e292a562715a7b395118f899af859f3e42bb


[ROCm/clr commit: 082cbfa1f5]
2020-04-27 09:18:05 -04:00
Chauncey Hui 4f9046b49b SWDEV-2 - Change OpenCL version number from 3130 to 3131
[ROCm/clr commit: d2091cc266]
2020-04-25 03:00:03 -04:00
Matt Arsenault 1060511a84 Prune some unused compile definitions
There's a lot of unnecessary system configuration junk here which
isn't used, and is already available through compiler predefines. This
is also blindly placed without really checking the host architecture.

-DLINUX is unused.

-D__AMD64__ is predefined by the compiler, and is also redundant with
 __x86_64__ and ATI_BITS_64.

__x86_64__ should also be removed. It's used in libelf, but I'm not
sure if msvc predefines this or not.

-DqLittleEndian is unused, and also doesn't follow macro naming
 conventions (plus compilers have their own predefines for checking
 this).

Change-Id: I89f6fc4c88e861623be7f32df41aecbb4e9009ab


[ROCm/clr commit: e7d6a5e5a6]
2020-04-24 12:38:42 -04:00
Matt Arsenault 9ad645d7a8 Add comgr macros to public definition export
This should allow the cmake build for the opencl runtime to work
without manually adding these definitions. The PAL build also adds
these as private defines in its build, so change rocm to match. This
should probably be including these a config header to benefit other
builds, but this will at least avoid some clutter in the opencl build
for now.

Change-Id: I1044984b87ba3fc72e280e255ceea2dd9e3337ff


[ROCm/clr commit: c60d7d860d]
2020-04-24 12:12:54 -04:00
Matt Arsenault df90e345d0 Don't use include_directories for ROCR includes
Use the modern cmake, target specified method.

Change-Id: Icd7196bfccb85f255bbc01bc87c6667d961bb236


[ROCm/clr commit: 350d54e198]
2020-04-24 11:05:40 -04:00
Matt Arsenault a8f183bb1b Use target_compile_definitions for HSA vs. PAL device macros
Change-Id: I7e1240cb4d32ce86948814d727a516025ee976fa


[ROCm/clr commit: ff12016c7b]
2020-04-24 11:05:16 -04:00
Matt Arsenault e12c98c3dd Cleanup libelf build
Use target specific forms for define/include. Don't set
CMAKE_CXX_FLAGS for the standard, which is already implied from the
parent build.

Change-Id: I4000893376d6685e9889b66ad8451fc493020272


[ROCm/clr commit: 815198bec9]
2020-04-24 11:04:52 -04:00
Matt Arsenault c81f73d82b Unscreamake some cmake functions
This was already using the new lowercase style in most places.

Change-Id: I7ed04a3652c932581a2897f2fee79d79aa732f8e


[ROCm/clr commit: ec62f9b8de]
2020-04-24 11:04:21 -04:00
Matt Arsenault ca932ef38d Remove leftover cmake debug printing
Change-Id: I886b21717eadab6b4365ddaff063fbcd37300aa8


[ROCm/clr commit: 3c2e0f6155]
2020-04-24 11:03:37 -04:00
Matt Arsenault e5fb81bb55 Modernize cmake usage for finding amd_comgr
Don't use find_path on the header, it's redundant with the interface
include directories on the imported target. Use the target specific
forms for including and linking it.

Change-Id: I3923143c992888ee7d5ee1130084ac2e5eaa0f3a


[ROCm/clr commit: 83455f36c5]
2020-04-24 11:03:27 -04:00
Matt Arsenault 36c3008b33 Don't use CMAKE_SOURCE_DIR
This is almost never the correct thing to use since it breaks adding
this as a subproject build in a larger build. Switch to refer to
CMAKE_CURRENT_SOURCE_DIR, which is equivalent in a standalone build.

Change-Id: Ib8dbbc0668491f4227389b9a5b27da770b3bc5ce


[ROCm/clr commit: a36f19df51]
2020-04-24 11:02:52 -04:00
Chauncey Hui 1bf1ba550b SWDEV-2 - Change OpenCL version number from 3129 to 3130
[ROCm/clr commit: bb348a463d]
2020-04-24 03:00:03 -04:00
German Andryeyev 715425d074 SWDEV-232807
[ROCm][TCT][HIP] cooperative stream test case is failing.

Make sure lockXfer() in the blit manager returns a valid value.
Port the latest PAL backend logic into the ROCr backend.
This change doesn't fix the issue, reported in the ticket.

Change-Id: I54101a824f49a2dcfbbf5414cb5b3af41745306d


[ROCm/clr commit: 89133a7301]
2020-04-23 15:01:02 -04:00
Chauncey Hui cd75ef7208 SWDEV-2 - Change OpenCL version number from 3128 to 3129
[ROCm/clr commit: a3f163be6a]
2020-04-23 03:00:03 -04:00
Michael LIAO 78e7b67076 [vdi] Add device assertion support.
- Once device assertion occurs, abort the host execution as well.
- TODO: This's the initial support. As we need to drain hostcall queue
  to ensure device assertion message being flushed out, hostcall
  listener needs an interface to explicitly drain its queue.

Change-Id: I8a04400aa7109bfd054ae5777c41a4abbf0db4a9


[ROCm/clr commit: 97f55b5c7f]
2020-04-22 10:03:55 -04:00
Chauncey Hui 16466634e2 SWDEV-2 - Change OpenCL version number from 3127 to 3128
[ROCm/clr commit: 43a8e929a2]
2020-04-22 03:00:03 -04:00
Matt Arsenault 97100bbd20 Use cmake features to set c++ version
Change-Id: I2649cdca5bc68298371f770a7a624a21db3f4137


[ROCm/clr commit: d4a447967e]
2020-04-21 16:01:30 -04:00
Matt Arsenault f4faac3cb6 Update cmake project name
Change-Id: If4bdf15ca3774148c0c415e8cd950efa310ef62f


[ROCm/clr commit: 356c3bf5b8]
2020-04-21 15:23:06 -04:00
Chauncey Hui d75474fc8e SWDEV-2 - Change OpenCL version number from 3126 to 3127
[ROCm/clr commit: a8150cfe39]
2020-04-21 03:00:03 -04:00