Граф коммитов

104 Коммитов

Автор SHA1 Сообщение Дата
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
Vladislav Sytchenko 696d00e71b Correct pitch alignment calculation
When we're aligning rowPitch to imagePitchAlignment, rowPitch is in pixels,
but imagePitchAlignment_ is bytes, so we end up overaligning the pitch.

Convert imagePitchAlignment_ to pixels before doing any logic.

Change-Id: Ia5ab9d54bed150fe974e86b060dbadc196165b29
2020-02-20 18:00:27 -05:00
Vladislav Sytchenko 5de65ba4a0 Enable SVM atomics for HIP/Win
hip_threadfence_system passes locally with this change. This also fixes
hipHostMalloc() failures when hipHostMallocMapped flag is used.

Change-Id: Id412efe502accc7c6e7676b52c05ccb9d8fbbe67
2020-02-19 23:22:37 -05:00
Jason Tang 290b42625a SWDEV-207312 - Comment out incorrect cl-gl inter-op code to facilitate Linux-Pro testing
Change-Id: I273476465332ffcda50a6095f839e1bc07863c8e
2020-02-19 17:56:45 -05:00
German Andryeyev 1d25343af8 SWDEV-79445 OCL generic changes and code clean-up
Remove a workaround to CS_PARTIAL_FLUSH added in CL#1495187,
since PAL is no longer uses CS_PARTIAL_FLUSH.

Change-Id: I03edc7595459e19aad33b2b0901f0ebe4754d310
2020-02-18 18:00:12 -05:00
German Andryeyev 374f612b7c SWDEV-193956
[hipclang-vdi-rocm][perf]~45% to 50% of Performance drop on
rocBLAS_int8 test

- Enable AMD_OPT_FLUSH optimization by default to match HCC
- Disable CPU writes to GPU memory on boards with large bar,
because it requires HDP flush tracking.
- Enable L2 cache on kernel arguments, because L2 will be
invalidated on memory reuse .

Change-Id: I124cf250bdd4d19c523ce542c163813828f8fbdc
2020-02-18 14:26:00 -05:00
German Andryeyev 1be1e69f2a SWDEV-222307 - Add CMake support for PAL
Remove dependency on COMGR headers from backends.
Remove GFX103 PAL defines.

Change-Id: I6ff76dca2a0c84bc191e8fc8b639f2f5872d2085
2020-02-18 10:56:31 -05:00
Saleel Kudchadker a788f0bc15 Increase the amount of free mem withheld
Change-Id: I37ec2250885758f122db6eac0e897dc16d02558d
2020-02-15 16:14:16 -08:00
Saleel Kudchadker 0730b39adb Implement HIP_HIDDEN_FREE_MEM env var
Set value to 256Mb to reflect what HIP/HCC reserves
Change-Id: Icaadf79f60d3916965ac168da237d15b975b1fe4
2020-02-14 12:57:11 -05:00
Karthik Jayaprakash 7fb53890b8 SWDEV-210443 - For Numa nodes pick up the CPU that has Memory pool.
Change-Id: If52852b6f12053e4dfe8a83b8aa5743137c3d6dc
2020-02-13 20:48:37 -05:00
Scott Linder da2e4d449c Stop using deprecated Comgr option API
Update a use of the deprecated amd_comgr_action_info_set_options to
instead use amd_comgr_action_info_set_option_list.

Completely remove all references to amd_comgr_action_info_set_options
and amd_comgr_action_info_get_options from the runtime.

Change-Id: I12a0803c87430722364ec22818e249caf3798c88
2020-02-13 18:53:48 -05:00
Laurent Morichetti b81816f482 Fix build errors for PAL and GSL
The last commit to replace the cl_* types with standard types
failed to correct issues introduced in the PAL and GPU backend.

Change-Id: I926997234dfbe346fc165a7bc4e1b8aabab7bac5
2020-02-13 16:52:32 -05:00
Saleel Kudchadker a965c1eb0e HIP version can be set in HIPRTC top layer
Indicate that its HIP_VDI to the compiler.
Change-Id: I691ddaa764b3ad62398003856c2480b2eece1f46
2020-02-12 23:19:44 -08:00