Commit Graph

4272 Commits

Author SHA1 Message Date
Vladislav Sytchenko c68f024b35 SWDEV-1 - Fix Windows build
std: :mem_fun() is removed in c++17. Simplify logic to not require it.
Change-Id: Ic9a4753b48dd13fcb20cd5b90ff73c3df3211b9f
2021-09-08 12:59:48 -04:00
Saleel Kudchadker 21ba34d0fe SWDEV-297448 - Add 64bit and 16bit write support
For the fillBuffer shader, if there are two 32bit writes to a MMIO
register, it can get dropped. It has to be a single 64bit write.
Add optimization to fillBuffer to write 64bit and 16bit writes.

Change-Id: I3aa78e027898f8ae01e9c8f09004615673720c2b
2021-09-08 12:30:04 -04:00
Chauncey Hui 1786fd8851 SWDEV-2 - Change OpenCL version number from 3362 to 3363 2021-09-08 03:00:04 -04:00
Jatin Chaudhary b5a57327bb SWDEV-299162 - Add new comgr API to demangle names
Change-Id: I84174d7e40e9afff9a8ea135abadb69d580478e0
2021-09-08 00:35:34 -04:00
Sarbojit Sarkar 42d33029dc SWDEV-300655 - Added thread ID to hip trace
Change-Id: I9234d4ec93e7687cd0a5d1bd930bd4f80936311b
2021-09-06 00:22:42 -04:00
Chauncey Hui 1b218d6861 SWDEV-2 - Change OpenCL version number from 3361 to 3362 2021-09-04 03:00:05 -04:00
Saleel Kudchadker e29b9c00ee SWDEV-301667 - Kern arg placement
Add a env var ROC_USE_FGS_KERNARG to toggle kernel arg placement
By default its in Fine Grain Kernel arg segment for supported asics.

Change-Id: I3d57ed69a1a4db2b392b0438ead499f3ddca4716
2021-09-02 12:36:49 -04:00
Chauncey Hui 6ebbc0a8af SWDEV-2 - Change OpenCL version number from 3360 to 3361 2021-09-02 03:00:06 -04:00
jujiang f63115cec6 SWDEV-286322 - clean up trailing white space
Change-Id: I01f3a559cbd1835aa2fdad7abe2bd685d90fc6a8
2021-09-01 11:45:47 -04:00
Jason Tang 1d0364e590 SWDEV-294768 - Fix PCMark10 performance drop
PCMark10 counts the time spent in clCreateKernel as part of execution
time, so as workaround for the PAL path, move code object loading
back to clBuildProgram.

Change-Id: I3b9cf1879ece08ab59f447ec165b0525bc8593a4
2021-09-01 09:25:40 -04:00
Jason Tang 7f83bcdb45 SWDEV-1 - Disable OpenCL support for gfx8 in ROCm path
Change-Id: Ie1e0c0d6273edf6b734909447c2a08252cba305b
2021-08-31 12:48:47 -04:00
Chauncey Hui 037fc843ba SWDEV-2 - Change OpenCL version number from 3359 to 3360 2021-08-30 03:00:04 -04:00
Vladislav Sytchenko 215853fd54 SWDEV-298985 - Calm down build warnings
This resolves -Wreorder warning.

Change-Id: I28851d66e19a70c4851ac056819d2daadbdc7113
2021-08-29 13:58:48 -04:00
Chauncey Hui d5f51db5b1 SWDEV-2 - Change OpenCL version number from 3358 to 3359 2021-08-28 03:00:07 -04:00
Satyanvesh Dittakavi 169cc857fd SWDEV-298985 - hipMemPrefetchAsync should prefetch the data to the specified destination device
Pass the device agent specified by the user to the ROCr api instead of passing the device agent attached to the specified stream

Change-Id: I86c98935b9dc404eaa6d47ccdd082a8c3678fb36
2021-08-27 05:12:07 -04:00
Chauncey Hui e43e773283 SWDEV-2 - Change OpenCL version number from 3357 to 3358 2021-08-27 03:00:06 -04:00
Satyanvesh Dittakavi 48c1b895c0 SWDEV-299491 - Update data index in GetSvmAttributes appropriately
Fixes Seg fault caused when the attribute hipMemRangeAttributeAccessedBy
is queried using hipMemRangeGetAttribute

Change-Id: I2ceb2267d89bfc31a55d9eae2685610c7ad89b1f
2021-08-26 13:36:35 -04:00
Chauncey Hui 1e8da33d49 SWDEV-2 - Change OpenCL version number from 3356 to 3357 2021-08-26 03:00:08 -04:00
Saleel Kudchadker 75fea4dca6 SWDEV-297448 - Improve logging
Print non pointer kernel args
Change-Id: Ice0dbc894aae1430ac085df319f4b91dfa21665a
2021-08-25 15:46:06 -07:00
Jason Tang 75cafd85b8 SWDEV-1 - Correct class name
Change-Id: I20d7092e010cabae6ac1a4eb39a62112fe4c6629
2021-08-25 16:31:46 -04:00
Saleel Kudchadker 24442be35a SWDEV-297448 - Refactor streamOperations code
Reuse FillMemory function, that should fix the cache syncs from the host

Change-Id: Ieebec5fc3ed3a322b88d5187c8dca4805ec6f84b
2021-08-25 12:33:02 -04:00
Chauncey Hui 4ab11c0366 SWDEV-2 - Change OpenCL version number from 3355 to 3356 2021-08-24 23:52:03 -04:00
Jason Tang cb41710384 SWDEV-297294 - Make sure the binary ISA is compatible with the agent ISA
Change-Id: Idf86714d1a494d24faa665c9fede1e776ce253f1
2021-08-22 23:56:08 -07:00
Saleel Kudchadker 3a7008cf07 SWDEV-297448 - Fix typo in debug print
Change-Id: Idc94d5fcd7eabf1e9c0a9617b987c58f507813a7
2021-08-22 23:56:08 -07:00
vpykhtin 51cc9c2f8c SWDEV-1 - OpenCL binary substituion feature based on source program text hash matching.
This patch allows to substitute binary for the opencl program. It supposed to be used as:

1. Run the opencl program with -save-temps.

2. Open the cl temp and find the following text in the program header:
    Hash to override:
	Source: 0xd66bcfa20e69e605
	Source + clang options: 0x656a9dd8aedcbfb6

3. Create config file (ascii text) with a pair(s):

    <hash> <path_to_binary_to_substitute>

    where hash is the hex value from step 2 (without leading 0x), you can use either hash
    depending on what you're going to match:
	only the source text of the program or along with it's clang options.

4. Set the env variable AMD_OCL_SUBST_OBJFILE to the path of your config file.

5. Rerun the opencl program.

Change-Id: I977c80fe529ea14458194918c6ddfbe2de6a8857
2021-08-22 23:56:08 -07:00
Saleel Kudchadker 2e26ed1cbb SWDEV-297448 - Add debug log print
Change-Id: Ieba1b2e5d766e3fbe84dfc875dde8268166b3f99
2021-08-22 23:56:08 -07:00
vpykhtin 4be447ab8d SWDEV-1 - fix line endings for .asm files
Change-Id: I8cf23829184618e41789220e43c00acc0e408fa5
2021-08-22 23:56:08 -07:00
Chauncey Hui 5426c323de SWDEV-2 - Change OpenCL version number from 3354 to 3355 2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 86b577fb19 SWDEV-1 - Fix line endings for .asm files
Change-Id: Ie315acd708178ca0722457e688859244fbddcd9f
2021-08-22 23:56:08 -07:00
Chauncey Hui fa94ddef9a SWDEV-2 - Change OpenCL version number from 3353 to 3354 2021-08-22 23:56:08 -07:00
Julia Jiang 411a75e865 SWDEV-291894 - update branch info in RORCclr readme
Change-Id: I77aa3421f39f058db9a3b68258a1ac72c5a22c64
2021-08-22 23:56:08 -07:00
Jatin Chaudhary 751937af14 SWDEV-286257 - Check for --save-temps option for HIP. Create Temp files if its present.
Change-Id: Ie5787d03b73081bca1ad03699ed7015badc342c7
2021-08-22 23:56:08 -07:00
Chauncey Hui 9ec5be5e2d SWDEV-2 - Change OpenCL version number from 3352 to 3353 2021-08-22 23:56:08 -07:00
Satyanvesh Dittakavi b46ffd5fe0 SWDEV-274145 - Fix to return correct data when queried for hipMemRangeAttributeReadMostly attribute
Change-Id: I9041c974b61e7a9c8fbdc748a407bbd04c060876
2021-08-22 23:56:08 -07:00
Chauncey Hui 6691318760 SWDEV-2 - Change OpenCL version number from 3351 to 3352 2021-08-22 23:56:08 -07:00
Vladislav Sytchenko f167136918 SWDEV-297808 - Don't update free memory counter when creating views
Current logic when creating a buffer view will end up going into the
allocation block. Even though no memory will be allocated, since
owner()->getSvmPtr() is already allocated, we'll still end up
calling updateFreeMemory().

Checking if we're creating a view, will skip the SVM allocation logic
and let us fall into the actual view creation logic. This won't end up
updating the free memory counter.

Change-Id: I1c260a9ef57895130b272ea1246e06e812b25b37
2021-08-22 23:56:08 -07:00
Chauncey Hui 1b6d2aba38 SWDEV-2 - Change OpenCL version number from 3350 to 3351 2021-08-22 23:56:08 -07:00
German Andryeyev 992830bab7 SWDEV-295555 - Add SVM mode query
The new query MemRangeAttribute::CoherencyMode can return current
coherency mode for the provided memory region. Coherency mode can
be one of the following types: FineGrain, CoarseGrain and
Indeterminate

Change-Id: Ib66feeeb14f57a8b1cc731c65bb3d0276d297ff7
2021-08-22 23:56:08 -07:00
Todd tiantuo Li ec411737aa SWDEV-1 - Rembrandt support
Change-Id: Id5c37e130fb2c0bdc01b84997c85324121ec4df9
2021-08-22 23:56:08 -07:00
Chauncey Hui 4bd84c2189 SWDEV-2 - Change OpenCL version number from 3349 to 3350 2021-08-22 23:56:08 -07:00
Jason Tang f42103c6a8 SWDEV-297294 - Fix TargetID typo
Change-Id: I351e38cbcaaf926f0561c96cf6e455e7167fd4be
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 2f00782829 SWDEV-292408 - [PAL] Always force high clocks for HIP
Redshift sees around a 3x performance uplift this change.

Turning this on for OpenCL might cause unwanted behaviour, due to
apps like RSX running in the background all the time.

Change-Id: I9f32d5f2e05b6697a8aaa9ddf74474b5531bb7e1
2021-08-22 23:56:08 -07:00
Chauncey Hui 465a370216 SWDEV-2 - Change OpenCL version number from 3348 to 3349 2021-08-22 23:56:08 -07:00
German Andryeyev ec89348291 SWDEV-296329 - Add lock protection for Timestamp update
There is a possible race condition when signal reuse can have
access to a destroyed Timestamp object, because the callback
was running asynchronously. Use reference counter and lock
to allow asynchronous timestamp update

Change-Id: I6224f7c62cb0a03a7466fcc512e5e5afb06736fa
2021-08-22 23:56:08 -07:00
Chauncey Hui 7d9fcd6c67 SWDEV-2 - Change OpenCL version number from 3347 to 3348 2021-08-22 23:56:08 -07:00
anusha GodavarthySurya 1884e4ca77 SWDEV-297215 - Set image descriptor as per the HSA specification for hsa_ext_image_descriptor_t
Change-Id: I0af0f09120f15a42349ec4de491df8aee7bfd46d
2021-08-22 23:56:08 -07:00
Chauncey Hui 01a3857f5e SWDEV-2 - Change OpenCL version number from 3346 to 3347 2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 4171e9e0a3 SWDEV-283981 - [PAL] Support hostcall SQ interrupt
Note that this requires base driver CL#2340320+ to have SQ interrupt
functionality enabled by default.

Change-Id: I04b936819ebe1eb7cf5de1db4fafe83af3a1b5f6
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko ce9182e62b SWDEV-273235 - Add ROCclrCompilerOptions cmake module
This module will be used to add any specific compiler options to ROCclr
and it's clients.

Currently it only adds a workaround to remove the MSVC flag /GR, which
is added by default CMake <3.20. This resolves the conflict of PAL
adding /GR-.

Change-Id: If83adb271bcec86812a6e9de940da3920fc75393
2021-08-22 23:56:08 -07:00
Chauncey Hui 7873ef0601 SWDEV-2 - Change OpenCL version number from 3345 to 3346 2021-08-22 23:56:08 -07:00