نمودار کامیت

66 کامیت‌ها

مولف SHA1 پیام تاریخ
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
Jason Tang 9cfb973c3f SWDEV-207312 - Fix images_write_cube failure for gfx10
Change-Id: I7f6a8c77eb712103e4c0a5f36bba95093ffbff98
2020-03-12 17:25:52 -04:00
German Andryeyev f7c95a7ec5 SWDEV-86035 - Switch PAL version to 572
Change-Id: I948bcfdb247a9d2d10c4089fd40d184f8999501b
2020-03-12 14:27:02 -04:00
German Andryeyev ab85674f8a SWDEV-224471 - [19H1][Polaris10][Acer]
Test window will quit or show error message when run OpenCL API.

Add a workaround for the race condition with the first page
during pinning.

Change-Id: I9a27b4e173cf94c84aefcb94e255f11169453d94
2020-03-12 14:20:48 -04:00
German Andryeyev c6d3aea572 SWDEV-79445 - Fix a regression in Linux
PAL doesn't report queue priorities under Linux

Change-Id: I3e1632ee2bcbbbaf52b45565f6b6aec24c559922
2020-03-10 12:39:56 -04:00
Sameer Sahasrabuddhe ce4a34bc71 SWDEV-204784 - implement printf based on hostcall
The printf call in the device code is expanded by the compiler into a
series of hostcalls that together form a "message". This change
introduces the following functionality in the runtime:
1. Receive a generic message consisting of a series of hostcalls.
2. Process a printf message.

Change-Id: I9d667d6f91607a907a96e46cc5fca55734339747
2020-03-08 23:57:03 -04:00
Vladislav Sytchenko e76d867740 SWDEV-224023
Each WGP consists of 2 CU, so the number of available SIMD units is doubled.

Change-Id: I43978a8a9139c33f5f776b344a36bee927cc187d
2020-03-06 13:43:36 -05:00
German Andryeyev 0fc433e076 SWDEV-193956 - [hipclang-vdi-rocm][perf]
~45% to 50% of Performance drop on rocBLAS_int8 test

Add support for active waits without blocking the host thread.

Change-Id: Ie7bb48dcafcb4c93d448bf74749b829b626c3578
2020-03-04 17:02:15 -05:00
Payam 9106a7dff4 clean up
Change-Id: I1a5bbd12bba35af5d52f9ddc0df71dd0d004d122
2020-03-04 13:35:49 -05:00
Jason Tang f51ff32113 Seperate PAL and ROCm
Change-Id: I7d0fbbab88c0541f17274da6e8850f2c6783dcd1
2020-03-03 16:06:51 -05:00
Vladislav Sytchenko 243a3c2aa4 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
2020-03-03 11:50:37 -05:00
German Andryeyev 622c714165 SWDEV-79445
Add MS HWS support. PAL reports just one compute engine
in that mode and runtime needs extra logic to detect RT queues.

Change-Id: I011f1f1b18dec6a7195a4f1fe939f8029bc269ae
2020-02-28 19:05:17 -05:00
Vladislav Sytchenko 019d1feea5 Remove OpenCL Single Buffer Allocation Restriction
Change-Id: I5c37a7f08b02ed74ec6984c6da9ffa5dc9bf0f52
2020-02-25 11:41:18 -05:00
Payam 0eea98b755 removed AMD referenced internal url
http://172.24.5.22:8888/palamida/InventoryDetails.htm?inventoryId=80447&projectId=1704

Change-Id: I917942cfddd165018904afda7a1ab76cdbc91595
2020-02-25 11:08:19 -05:00
jujiang 518a75ca66 SWDEV-196333-hipCopyhammer_H2D&hipCopyHammer_D2H tests fix return false case
Change-Id: I919e098f8b1b8c41b200bd32dcf108977c472b43
2020-02-24 15:08:21 -05:00
German Andryeyev 0fb8e378b1 SWDEV-221395 - [OpenCL] Failure to Create RTQ2
Don't add real time queues into the pool of generic queues.

Change-Id: I7f6865df740b8a2fbbec5e897a988a2151ef5a9e
2020-02-21 16:50:10 -05:00