Commit Graph

11513 Commits

Author SHA1 Message Date
Michael LIAO 134b33e4e0 [vdi] Revise the symbol management.
- As different modules may have symbols with the same name, each symbol
  needs identifying with a pair of the module handle and the symbol
  name.

Change-Id: I85650a787d9a424545154cc40ebd59e706fa358f


[ROCm/clr commit: f8062c6fbd]
2020-04-24 22:28:31 -04:00
Matt Arsenault be849b740d Don't use intermediate object library
This added an unnecessary level of indirection, and also didn't
automatically pull in interface dependencies from the linked targets.

Change-Id: I7371ab3c184f6045947a96c8a393f2e3452fc5c1


[ROCm/clr commit: 5943e4d93e]
2020-04-24 15:31:35 -04:00
Yaxun (Sam) Liu c13a63bcff Enable template max and min for HIP-Clang (#2028)
It was for HCC only. HIP-Clang also needs it for __fp16 since AMDMIGraphX uses it.

Change-Id: Id49322b7b89ef799accdf6b47627a6fce51d1ab5

[ROCm/clr commit: 29549ce4dc]
2020-04-24 12:30:28 -07:00
German Andryeyev 6aa9951a42 SWDEV-232918
hipEventRecord is much slower in hipclang/vdi

- Make sure default streams don't sync each other.
- Add null stream into the list of default streams.
- Code clean-up to simplify queue look-up.

Change-Id: I36e1fc8d86a600e3dce806694d95d146ed8afd03


[ROCm/clr commit: 5a7c094729]
2020-04-24 14:40:43 -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
Christophe Paquot 6a64edc032 Merge "cherrypick from master branch" into amd-master-next
[ROCm/clr commit: cf6df62b3a]
2020-04-24 11:48:18 -04:00
Yaxun Liu 80edc2b562 Merge "Enable template max and min for HIP-Clang" into amd-master-next
[ROCm/clr commit: 040ca11925]
2020-04-24 11:44:49 -04:00
Tao Sang 8d2cbef722 Merge "Add Performance/memory/hipPerfMemMallocCpyFree" into amd-master-next
[ROCm/clr commit: cf6345d7c7]
2020-04-24 11:32:47 -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
Michael Hong Bin Liao 72b42ff530 Merge "[vdi] Fix texture reference sample." into amd-master-next
[ROCm/clr commit: 17e9c63708]
2020-04-24 10:30:38 -04:00
Michael Hong Bin Liao 07bde00301 Merge "[vdi] Fix hang due to recursive locking." into amd-master-next
[ROCm/clr commit: 2e61683b33]
2020-04-24 10:30:26 -04:00
Yaxun (Sam) Liu 066b79be84 Enable template max and min for HIP-Clang
This change is required by AMDMIGraphX.

It was for HCC only. HIP-Clang also needs it for __fp16 since AMDMIGraphX uses it.

Change-Id: Id49322b7b89ef799accdf6b47627a6fce51d1ab5


[ROCm/clr commit: 1013e4eca8]
2020-04-24 09:51:17 -04:00
Paul Fultz II b42e1216d9 cherrypick from master branch
75a5088446
727c9f77d8

These are needed by MIOpen and rocBLAS.

Add __HIP_PLATFORM_HCC__ to hip::host target (#2029)

Fix hip-config.cmake for CMAKE_CXX_COMPILER=g++ (#2035)

* Fix hip-config.cmake for CMAKE_CXX_COMPILER=g++

* Add inlineall option to hip::device in hip-config.cmake

Change-Id: Ib51f82d0b9e38d2137df65c940592413e22ba07a


[ROCm/clr commit: 9227b08458]
2020-04-24 09:32:02 -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
Tao Sang b0f72224a1 Add Performance/memory/hipPerfMemMallocCpyFree
Change-Id: Id1ac415f85028da3e9517c2226764bcb4acec1b1


[ROCm/clr commit: 33d7005b10]
2020-04-23 23:49:56 -04:00
Michael LIAO 5147a686ff [vdi] Fix texture reference sample.
- The driver code should not re-define `tex` again as it's already
  defined in the kernel code. Eventually, the driver code should be as
  regular C++ code instad of HIP code.

Change-Id: I8c7cab204b98990619d6e7109b990d7089ea9261


[ROCm/clr commit: b469e5c573]
2020-04-23 23:41:56 -04:00
Michael LIAO 310a0d2640 [vdi] Fix hang due to recursive locking.
- Declare recursive lock for global function map.

Change-Id: I3e792e21688c980343c4fd1c61dcad97f7a890cd


[ROCm/clr commit: c56a3ca63e]
2020-04-23 23:32:56 -04:00
kjayapra-amd 3077742b22 SWDEV - 231874 - Do Dword aligned memset if the total size aligns.
Change-Id: Id05db4cfd9c43b2cffa3cec8b02f1cd07f340dd6


[ROCm/clr commit: 92c63384cb]
2020-04-23 21:08:50 -04:00
Vlad Sytchenko 9fb3564410 Make sure to zero out all the unset texture fields
These might contain garbage causing the runtime to incorrectly parse the state of the texture references.

Change-Id: I93c726fa30b580b3e14c50ac939f3c71b0d1c8d9


[ROCm/clr commit: bfa363d00c]
2020-04-23 16:38:52 -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
Michael Hong Bin Liao e4aef105f3 Merge "[hip] Fix typos." into amd-master-next
[ROCm/clr commit: b70dac2557]
2020-04-23 13:32:09 -04:00
eshcherb 3a519a8f0d fix pointers format (#2037)
* fix pointers format

* fix pointers format - cleanup

* fix pointers format - fix

[ROCm/clr commit: 6cb57ee64a]
2020-04-23 21:54:51 +05:30
Yaxun (Sam) Liu 9c9ed1cab0 Fix hip-config.cmake for CMAKE_CXX_COMPILER=g++ (#2035)
* Fix hip-config.cmake for CMAKE_CXX_COMPILER=g++

Change-Id: I84ae83a5d223853706dd36834b7962ffe9573c1f

* Fix HIP_CXX_COMPILER

Change-Id: I4e2523b560113420af1ab877a0bc48ca2e9e957a

* Fix hip-config.cmake

Change-Id: Ida4ef8f40fed83d5f659a9a9835b1f521cb6a374

* Add inlineall option to hip::device in hip-config.cmake

Change-Id: Ib51f82d0b9e38d2137df65c940592413e22ba07a

[ROCm/clr commit: 5abcda3ab7]
2020-04-23 21:51:54 +05:30
Aaron Enye Shi 7c6aa863d6 extractkernel obj dump args to use double dashes (#2034)
More recent llvm-objdump has changed disassemble and mcpu arguments to require double dashes.

[ROCm/clr commit: 17e439e572]
2020-04-23 21:51:33 +05:30
Paul Fultz II a7d56e7159 Add __HIP_PLATFORM_HCC__ to hip::host target (#2029)
[ROCm/clr commit: 445953aa94]
2020-04-23 21:51:02 +05:30
Maneesh Gupta 11fe5b06de Merge in the rocclr based hip runtime (#2032)
* Merge master-next changes in master (include vdi development in master branch)



[ROCm/clr commit: f2e1118d7a]
2020-04-23 09:12:06 -07: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
Evgeny Shcherbakov be4f312ee4 Merge "cleanup" into amd-master-next
[ROCm/clr commit: e8d64b509e]
2020-04-22 23:28:22 -04:00
Michael LIAO 4e3c8a5ff4 [hip] Fix typos.
Change-Id: I9d85d0e70033d144dbd4d61cb434ffbe023af8c0


[ROCm/clr commit: a353df6b36]
2020-04-22 16:44:54 -04:00
Tao Sang 9d88e0ff89 Fix hip_get_devices failure in lammps
Support hipDeviceAttributeIntegrated in hipDeviceGetAttribute() with hip-vdi rt

Change-Id: Ie5ba81222af3554a843c184ae75af7f369a3c24b


[ROCm/clr commit: 85abd8f028]
2020-04-22 15:16:59 -04:00
Evgeny c4c08791e2 cleanup
Change-Id: Ia0ee0e4cab2ee8eaa9931024681d0db5b2802594


[ROCm/clr commit: b05e54bf84]
2020-04-22 13:42:45 -05: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
Michael LIAO 07f08b78c1 [hip] Generate assertion message in assertion.
Change-Id: Ie66f6563e8728fd0e21cf22dcc6619e4a0e5c28d


[ROCm/clr commit: 2c1933e0f3]
2020-04-21 16:44:40 -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
Tao Sang 98a2707931 Merge "support hipLaunchParm test with static lib of hip-vdi rt" into amd-master-next
[ROCm/clr commit: 8d63204887]
2020-04-21 15:54:46 -04:00
Matt Arsenault f4faac3cb6 Update cmake project name
Change-Id: If4bdf15ca3774148c0c415e8cd950efa310ef62f


[ROCm/clr commit: 356c3bf5b8]
2020-04-21 15:23:06 -04:00
Matt Arsenault 6e10ca7f0a Use cmake features to set C++ version
Change-Id: Icf5dcd781b8fecc7a39117f3c6dee97dcba9dcca


[ROCm/clr commit: fc4afbd0f9]
2020-04-21 15:22:50 -04:00
Tao Sang 672f243a42 Add perfDispatch tests into hip direct_tests
Port perfDispatch tests from OpenCL into hip direct_tests

Change-Id: I9f8362636e329d2d0a434c4f012ccc46a524c746


[ROCm/clr commit: b52873ff98]
2020-04-21 14:00:27 -04:00
Tao Sang 876c5c568e support hipLaunchParm test with static lib of hip-vdi rt
Let hipMalloc() be called in main() so that global variable can be initialized.

Change-Id: I9aa1f0a0bb4fa0825d10af0b58c843e7b928e9a3


[ROCm/clr commit: d27880ac39]
2020-04-21 13:55:42 -04:00
Michael LIAO f0df4418a0 [vdi] Refactor texture/surface reference support.
Change-Id: I8014d82aae7139ef5f95e4b50c4fc6da200dbc9d


[ROCm/clr commit: 441284841d]
2020-04-21 11:56:48 -04:00
German Andryeyev 2266bc700b SWDEV-231579 - [hipclang-vdi-rocm][perf]
- HIPPerfDispatchSpeed disparity between HIP/HCC vs HIP/VDI
Insert a wait marker command in the default stream only when
HIP has pending operations on other async streams

Change-Id: I68660a54867fab7571ba57eb1df5feb1bca1c61a


[ROCm/clr commit: 21840ac6a0]
2020-04-21 10:05:26 -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