Grafik Komit

81 Melakukan

Penulis SHA1 Pesan Tanggal
Vlad Sytchenko 614aaa8409 Load versioned comgr library
Change-Id: I4cc81f33e6889ac81a82747159bc210256f33c21
2020-05-13 16:46:35 -04:00
German Andryeyev 8904848abc Set CPU access flag for SVM
Make sure all GPUs have CPU access flag for the fine grain buffer.

Change-Id: Ifc843c2807e70a271b269192ae7859205ff458f3
2020-05-13 16:05:46 -04:00
German Andryeyev d2b9a57c4f Disable cooperative groups support
Change-Id: I1b526f2228d083ecad7907a6eaf37c1dd4428277
2020-05-12 14:31:10 -04:00
Saleel Kudchadker d10d691e76 Add env var to toggle large bar support in runtime
Use ROC_ENABLE_LARGE_BAR (0/1) to toggle. The support is
enabled by default.

Change-Id: I6cb93a46594cb6f5e90bf6057738330225efb553
2020-05-12 13:20:06 -04:00
Jason Tang b4f1239f34 device/rocm: split gfxVersion to major/minor/stepping
Change-Id: I1e437eaee30794147713d9516229211670f01d90
2020-05-12 12:17:13 -04:00
German Andryeyev ae4aceb55e Make sure the list of HSA agents is valid
If HIP_VISIBLE_DEVICES is active, then make sure the list of HSA
agents contains the valid agents

Change-Id: I584aad999a230ab7f88a0cfe20dcd0abe79c43a5
2020-05-11 15:49:30 -04:00
Christophe Paquot 3ed185307e Fix cooperative flag for hsa_queue creation in case they're not available
SWDEV-233766

Change-Id: If410ecfed61f2b3bb50b847cf2ededc573139494
2020-05-11 13:40:50 -04:00
Christophe Paquot 2a02026696 Add gpu().hasPendingDispatch() in the SDMA path
SWDEV-234947

Change-Id: I8aa501f8755d136708b0d12ee3c30229c238660d
2020-05-08 18:19:51 -04:00
Michael LIAO 12fcfee41d Fix build failure.
- Also fix `-Wreorder` warning. NFC.

Change-Id: I766fdc622c9107f901a55498bdc8fef3d821d1b7
2020-05-07 10:39:10 -04:00
Michael LIAO 503ef06555 Clear executable permission.
Change-Id: Ia0d363b1ba89d7947e5b5a55cb67edba86f0515e
2020-05-07 10:38:58 -04:00
German Andryeyev 3446d4e638 Switch PAL version to 592
Change-Id: I7e90b8fd55c57d8d49e4ec1273ab671f96197bae
2020-05-06 14:51:32 -04:00
Payam d6100a9547 name change vdi to rocclr
Change-Id: I856d6ac1a9a83d89715d6e33dec4aa17abc2f2f2
2020-05-06 00:54:45 -04:00
Alex Xie bfbc8cd09b SWDEV-234684 - hipmemcpy optimization does not work in tests
Change-Id: I899d172c5b2af88c796fe9a36f97d15ac45caf94
2020-05-05 15:58:03 -04:00
Saleel Kudchadker 0fbc0a895b Disable small copy optimization for now
Change-Id: Ib7a4aa676bb60940e067c985eb19070bd63b2fc2
2020-05-05 11:52:42 -04:00
German Andryeyev 7302ebcfbc Optimize synch operations
- Stall the queue only for HSA copy operations

Change-Id: Ia3debcc0f36284c5f8cd2776d31674f3aeed04ea
2020-04-30 11:17:48 -04:00
Alex Xie 6c5a42b33c 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
2020-04-30 11:06:28 -04:00
Christophe Paquot b54c3f7db9 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
2020-04-29 09:18:07 -07:00
Saleel Kudchadker 5f64e6e7ad 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
2020-04-28 17:11:24 -04:00
Vlad Sytchenko 2963d0d454 Add entry for another unannounced asic
Change-Id: I63c6ce6221e812a33e9427841be49840a8f48154
2020-04-28 14:23:57 -04:00
Vlad Sytchenko 63b90a32c4 Add entry for new device id
This is accomodate upcoming Pal::AsicRevision changes.

Change-Id: Ic108b647f3548d34b7aa83d6077fb88452768998
2020-04-28 14:23:49 -04:00
agodavar f149fe0803 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
2020-04-28 07:10:57 -04:00
Alex Xie 009d0b5f55 SWDEV-232894 Port hipMemcpy optimizations from HCC to VDI
Change-Id: I6bebe9ac503a9f80d067aeea8a848409ad210338
2020-04-27 14:53:58 -04:00
German Andryeyev 082cbfa1f5 Don't attempt to reuse the cooperative queue
Change-Id: I0e98e292a562715a7b395118f899af859f3e42bb
2020-04-27 09:18:05 -04:00
Matt Arsenault c60d7d860d 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
2020-04-24 12:12:54 -04:00
Matt Arsenault 350d54e198 Don't use include_directories for ROCR includes
Use the modern cmake, target specified method.

Change-Id: Icd7196bfccb85f255bbc01bc87c6667d961bb236
2020-04-24 11:05:40 -04:00
Matt Arsenault 83455f36c5 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
2020-04-24 11:03:27 -04:00
Matt Arsenault a36f19df51 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
2020-04-24 11:02:52 -04:00
German Andryeyev 89133a7301 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
2020-04-23 15:01:02 -04:00
Michael LIAO 97f55b5c7f [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
2020-04-22 10:03:55 -04:00
kjayapra-amd 7458bf9964 SWDEV-229840 - Improve error messages on ROCCLR Layer.
Change-Id: Iab7d9156cdc206db86385aa05023a0095ed40f92
2020-04-19 20:01:49 -04:00
Matt Arsenault 55cc77d7d1 Fix -Winconsistent-missing-override warnings
Change-Id: I67d4a853045197ed28e5d616a4afc86f1d6a1d7c
2020-04-17 15:24:39 -04:00
German Andryeyev e289ebdf20 SWDEV-231691
- Problem with CL_DEVICE_GLOBAL_FREE_MEMORY_AMD query.
Check if allocated memory exceeds the total size.

Change-Id: Ieed8829860663bac1acfa41d21309dff4d8772c7
2020-04-17 09:03:04 -04:00
Vlad Sytchenko e57dbb684f Revert "(SWDEV-210228)"
This reverts commit 2a223ecec6.

Change-Id: I1e24ce384ae4cc7b39b019dac328e17cca687d38
2020-04-14 16:15:58 -04:00
kjayapra-amd 348bb0d59f SWDEV-229480 - Fixing type on commit: 6bd52dd052
Change-Id: I19f0bddb9db4140641c10a0e36ed4302c05efe2a
2020-04-13 11:48:35 -04:00
Payam ddea39382b updating copyrights
Change-Id: I592a84b64c85ac07ee7db7bb43c73ce623662246
2020-04-10 14:45:28 -04:00
Vladislav Sytchenko c781f4d419 Don't call updateFreeMemory() if the allocation failed
Change-Id: I978cb2e463914f6a48b3d4a9057c0f67e7bdb646
2020-04-09 18:41:11 -04:00
kjayapra-amd 6bd52dd052 SWDEV-229480 - Fixing itoa conversion in LogError.
Change-Id: I9f11394c0e13e8c57d415c4f19fcd1de7935ef23
2020-04-09 18:30:35 -04:00
Vladislav Sytchenko a8e0f92bc4 Enable large allocations by default for gfx8+ in GSL
Change-Id: Ie386fca59ea3f364d49d5390d87412f7fc869f8e
2020-04-07 12:37:57 -04:00
Alex Xie 43b9863e17 SWDEV-229731 - [Lnx][Rocm][Navi]Support images in full Opencl Conformance tests
1. Enable pitch workaround
2. When we use copy image, we don't need to create the custom pitch image
3. wrtBackImageBuffer_ stores device memory object, not amd image object.

Tests:
conformance kernel read / write test pass with this code change.

Change-Id: I7dca3127adde6ac83e78dd270a2256ebed55c60d
2020-04-04 09:43:03 -04:00
Alex Xie 3e247d2afd SWDEV-229731 - [Lnx][ROCm][Navi]Support images in full OpenCL conformance tests
Duplicate similar blit logic from PAL path

Tests:
1D Array image read/write tests and copy image tests passed

Change-Id: I838bbde252ad0108bfeb82c0c2b669881747c0af
2020-04-04 09:28:37 -04:00
German Andryeyev 481cecec78 SWDEV-79445 - HIP improvement
- Make sure only one GPU barrier is issued per dispatch
when memory tracking is disabled

Change-Id: I974569ab42a8835304a2930eef87b561a3750327
2020-04-03 12:21:03 -04:00
kjayapra-amd cd7de89fc3 SWDEV-229840 - Improve Error Codes. RocKernel and RocProgram
Change-Id: I8f785308e0562a50924f8bdd02e88c92a759f01a
2020-04-02 22:30:53 -04:00
Vladislav Sytchenko 2a223ecec6 (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
2020-04-01 13:36:44 -04:00
German Andryeyev 481d526859 SWDEV-184709 - support hipLaunchCooperativeKernel()
- Enable cooperative groups support, based on ROCr capability

Change-Id: I975bcea0af7865009eaed24454ce71d897ea8fc4
2020-04-01 12:13:33 -04:00
Todd tiantuo Li b96e25c5f8 SWDEV-222615 - delete VirtualGPU::Queue and return NULL when Pal::IDevice::CreateQueue() fails, in order to avoid undefined behavior and crash.
Change-Id: I4b94d3b3b0495530a8bf7840dc77a98aed9aa8ae
2020-03-31 16:50:53 -04:00
German Andryeyev 9f795d750d SWDEV-224639 - Device memory is still occupied
- Add cache free on OCL context destroy
- Remove std::mem_fun() usage, since it was removed in c++17

Change-Id: If6acd08f13a2298912ecd78fc025dcf0b32aee54
2020-03-30 17:39:21 -04:00
German Andryeyev 7ef8dfdfe7 SWDEV-184709 - support hipLaunchCooperativeKernel()
Add ROCr cooperative queue allocation

Change-Id: I1384482692f4080d31255b09e0f68a21ccad3da8
2020-03-30 16:09:09 -04:00
jujiang d392082a30 SWDEV-223160, SWDEV-227911- Fix Memory Copy Peer failure on Navi10 MGPU configuration
Change-Id: I2bf559b87cba638b5af858c2d4fe5a252d16a5d9
2020-03-26 10:13:19 -04:00
kjayapra-amd d961c64b00 SWDEV-216213 - Function to lookup module functions from COMGR.
Change-Id: I3890fb188b5b3ae44d2bb161d1b7e75228e30942
2020-03-18 12:45:21 -04:00
Vladislav Sytchenko 52046e41b2 SWDEV-224023
Correct typo.

Change-Id: I72131a6e0210e7b961e586cd0ae18608d21fc529
2020-03-15 16:37:25 -04:00