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

13197 Коммитов

Автор SHA1 Сообщение Дата
Sarbojit2019 3523219b43 hipEventElapsedTime should respect device (#1992)
Fixes SWDEV-228636.
Also added a unit test to verify this.
2020-04-06 15:38:25 +05:30
lmoriche 67830996a9 Don't duplicate embedded code objects (#1991)
If the code object is embedded in an already mapped file, and the
lifetime of the mapped file exceeds the lifetime of the executable,
we do not need to make a copy of the binary.

This allows the ROCR to present the code object URI as
file:///path/to/file#offset=X&size=Y.
2020-04-06 15:37:35 +05:30
Jatin Chaudhary eab81ca91b Removing header size from formula (#1988)
Fixed a bug in the elf file size computation.
2020-04-06 15:37:07 +05:30
Rahul Garg 017a27214c Fix 2D and 3D memset (#1987) 2020-04-06 15:35:59 +05:30
ansurya ff7aaedca2 Initial support for bfloat16 (#1980) 2020-04-06 15:35:43 +05:30
Yaxun (Sam) Liu 6f439f0232 Fix ambiguity of fma for _Float16 for libc++ (#1976)
libc++ defines fma as template function for auto promotion of mixed-type
arguments. libc++ does not handle _Float16 as _Float16 is not a supported
type by C++ standard. As such, it is unlikely we can commit our fix for
_Float16 to libc++ trunk.

Therefore we handle _Float16 with a template specialization of
__numeric_type in HIP headers.

Change-Id: If01960a657ebf1a7a67463cdcf66fab7458dff3c
2020-04-06 15:35:18 +05:30
Sameer Sahasrabuddhe 01d4117789 SWDEV-227201: Introduce tests for printf on hostcall
Tests that check POSIX specifiers with a single thread:
 - hipPrintfSpecifiers.cpp     : all conversion specifiers
 - hipPrintfFlags.cpp          : common flags that modify conversions
 - hipPrintfAltForms.cpp       : alternate forms ('#')
 - hipPrintfStar.cpp           : additional arguments ('*')
 - hipPrintfWidthPrecision.cpp : floating point details

Tests that check functionality on top of hostcall
 - hipPrintfBasic.cpp       : divergent calls, series of calls, return value, etc
 - hipPrintfManyWaves.cpp   : many waves printing together
 - hipPrintfManyDevices.cpp : many waves on many devices

Change-Id: I35e069f4c542f896999239996dc89eda0faad7b8
2020-04-06 00:49:34 -04:00
Chauncey Hui 2480be8413 SWDEV-2 - Change OpenCL version number from 3117 to 3118 2020-04-05 03:00:03 -04:00
Payam 7052e21c87 removing file path from LOG_LEVEL and adding time stamp
Change-Id: Ia32f21353adad4dcb4928909361fe0420c502c1e
2020-04-04 17:56:16 -04:00
eshcherb e524d1d54a adding HIP_PROF version macro (#2000) 2020-04-04 13:10:28 -07: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
Chauncey Hui a6708a2c26 SWDEV-2 - Change OpenCL version number from 3116 to 3117 2020-04-04 03:00:06 -04:00
Christophe Paquot b820c66c55 Default HostMalloc to uncached memory
Change-Id: I72e19c7f7820a77fd5afc09f09cfea9acd0b8e84
2020-04-03 19:19:33 -04:00
Saleel Kudchadker 74dc32537e Merge "Wake up commandQueue before returning" into amd-master-next 2020-04-03 18:27:03 -04:00
Michael LIAO 6fe3edc5a8 [vdi] Add hipFreeHost
Change-Id: I8a5b7ff3f0ab4f5674efd6723c18808ad6ef33f5
2020-04-03 16:34:28 -04:00
German Andryeyev 9e4aeb0f67 Merge "SWDEV-184709 - support hipLaunchCooperativeKernel()" into amd-master-next 2020-04-03 16:23:05 -04:00
Vladislav Sytchenko c9084d0ad2 Take into an account the number of channels...
when querying the element size of an array.

Change-Id: Id57d3374b14d80a59230ec8286704f2fbabb0fae
2020-04-03 15:43:18 -04:00
German Andryeyev 5efb3f26c0 SWDEV-184709 - support hipLaunchCooperativeKernel()
- Add validation checks for cooperative launch to pass Cuda test

Change-Id: Ie296f0c3f113909d9a357879db3b2a833ab314c5
2020-04-03 15:18:21 -04:00
Michael Hong Bin Liao 16ac35c4d5 Merge "Fix size type in __hipRegisterVar" into amd-master-next 2020-04-03 15:12:21 -04:00
Saleel Kudchadker e2def55164 Wake up commandQueue before returning
Change-Id: I87eb5a22c81a9cb807474a960b5987d5fb6c2b86
2020-04-03 10:23:36 -07:00
Aaron En Ye Shi 0bb217245c Merge "Fix path for hip-clang when using hipcc (#1961)" into amd-master-next 2020-04-03 12:28:50 -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
Vladislav Sytchenko b82ab8b329 Merge branch 'amd-master-next' into amd-npi-next
Change-Id: I3b91e45da7cb38c2a2c6d8675e7651de754764ec
2020-04-03 12:11:22 -04:00
Michael LIAO d904f30f9e Fix size type in __hipRegisterVar
Change-Id: I6b667600ae8f133583b768ab963318882b84179f
2020-04-03 10:51:58 -04:00
Michael Hong Bin Liao 66aca97d6f Merge "[hip] Clean up unnecessary casting." into amd-master-next 2020-04-03 10:50:40 -04:00
kjayapra-amd cd7de89fc3 SWDEV-229840 - Improve Error Codes. RocKernel and RocProgram
Change-Id: I8f785308e0562a50924f8bdd02e88c92a759f01a
2020-04-02 22:30:53 -04:00
Saleel Kudchadker 49f3835666 Promote Khronos OpenCL-ICD-Loader master
master as of https://github.com/KhronosGroup/OpenCL-ICD-Loader/
commit/c7fda8bb042760b5ead8650c64445f5972a64ad7

Change-Id: Ia852f55ecf0b0aceff915991328812ed9788698f
2020-04-02 17:02:58 -04:00
German Andryeyev 2e948e4034 SWDEV-184709 - support hipLaunchCooperativeKernel()
- Enable cooperative tests for single and multiple devices

Change-Id: I54b6713f578b6b5e670f117b17469c0091028c99
2020-04-02 12:55:05 -04:00
Michael LIAO e3795436b2 [hip] Clean up unnecessary casting.
Change-Id: I64b08aaef5c67ffb49330c9c605611f1fbd3f5a2
2020-04-02 12:46:15 -04:00
Paul Fultz II 58f04fb774 Fix path for hip-clang when using hipcc (#1961)
* Fix path for hip-clang when using hipcc

* Fix typo

* Update regex

Change-Id: I31bbee2e70d58b89191f970f5c6ae7e1c8b40900
2020-04-02 12:09:31 -04:00
Paul Fultz II 631f82ab82 Add missing flags for hip::device target on hip-clang (#1230)
This adds the missing compilation flags to hip::device so it can compile with hip-clang compiler.

Change-Id: Ie2b30ea606bfca385a0e84ae03ee0a8d828ad16a
2020-04-02 12:09:03 -04:00
Chauncey Hui 55fad9b929 SWDEV-2 - Change OpenCL version number from 3115 to 3116 2020-04-02 03:00:03 -04:00
Saleel Kudchadker 5a357a795a Merge "OpenCL2.2 Header changes" into amd-master-next 2020-04-02 02:46:49 -04:00
Saleel Kudchadker 4092e3dee3 Update OpenCL 2.2 headers
Update headers as of master https://github.com/KhronosGroup/OpenCL-Headers/
commit/9dde5da9c32cbd78656a5e2417c256922e851111

Change-Id: I698a3a1b92730c52b160b51af95469c2b54331c1
2020-04-02 02:46:20 -04:00
Saleel Kudchadker a97f206ab1 Change for OpenCL2.2 header promotion
Change-Id: Icd579e5c94af6e8d984a3f6c2606be44dec72e91
2020-04-01 16:32:03 -04:00
Vladislav Sytchenko a09fadecf2 Add entry points for hipTexObject*() API
Even though the runtime and driver texture object API is one to one, the structs used by these APIs are not. See hipResourceDesc vs HIP_RESOURCE_DESC differences.

These differences are not trivial and most likely won't be able to handled by hipify, so we need new API entry points.

Change-Id: Id4bcb1ad0ae15378dbdb5a2ed07e5ea30f320082
2020-04-01 14:51:51 -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
Chauncey Hui 39467ad9e6 SWDEV-2 - Change OpenCL version number from 3114 to 3115 2020-04-01 03:00:03 -04:00
eshcherb 1e5ea70588 adding hipApiString (#1989) 2020-04-01 12:10:33 +05:30
ansurya 68f1b814b1 tex1Dfetch behaviour for different address mode and filter mode (#1772)
Fixes github issue: #1754

- When ResourceDesc::resType is hipResourceTypeLinear ignore address mode and filter mode.
- When textureDesc::normalizedCoords is set to zero, AddressModeWrap and AddressModeMirror won't be supported and will be switched to AddressModeClamp.
2020-04-01 12:10:17 +05:30
Saleel Kudchadker 99a024fc14 Merge "Cleanup stream from hip:Event class." into amd-master-next 2020-03-31 20:14:48 -04:00
Vladislav Sytchenko 6e0722a5d0 (SWDEV-229354)
This patch is a workaround to support user pitch for hipMemcpy{2D/3D}.

Historically OpenCL didn't support pitch with clEnqueueFillBuffer(), so neither did we in VDI. Adding it now will be slightly nontrivial, since the fill kernel and runtime in many places will need to be modified.

As a temporary workaround for cases when pitch > width, we can just enqueue a fill for each row separately. This implementation is slow, but it satisfies the correctness criteria.

Change-Id: Idfeca349288b51d6ff84a7cf001fb63c6a66818a
2020-03-31 18:12:56 -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
Reshabh Sharma 36f24a40e5 Output file name should not change flags picked for compiler (#1938)
Fixes SWDEV-207362,

The output file name should not contribute to picking up the right flags for the compiler. This fix solves issues when the output has conflicting extensions which confuses hipcc to treat them as the source files and add the required flags for them.

PS: Output file refers to the file followed by -o

Change-Id: I1095966c11143ad73e81fabc35b4e9de5d3afada
Example: hipcc test.o -o test.hip will add the flags for .hip compilation ignoring the fact that it is an output file
2020-03-31 16:13:43 -04:00
Saleel Kudchadker 65722f8cca Cleanup stream from hip:Event class.
Change-Id: I98de07d33bb7fea8f5e2d32b288c15f10ce58902
2020-03-31 11:22:00 -07:00
Michael Hong Bin Liao 9420f56c66 Merge "[hipcc] Remove the previous workaround." into amd-master-next 2020-03-31 10:05:56 -04:00
Chauncey Hui b0164a9819 SWDEV-2 - Change OpenCL version number from 3113 to 3114 2020-03-31 03:00:03 -04:00
Michael LIAO a14695d4eb [vdi] Fix hipGetSymbol{Address|Size}
- Use symbol value as the qeury key. Compared to the symbol name, the
  symbol value is more robust as developers may use unqualified or
  qualified identifiers. It also removes the mangling and/or demangling
  requirement for the runtime API.

Change-Id: I9d4259f3842612c7cc98551269fc2092d8b5c19e
2020-03-31 00:26:53 -04:00