커밋 그래프

5116 커밋

작성자 SHA1 메시지 날짜
German Andryeyev 5fe91ccb1b SWDEV-184710
Support hipLaunchCooperativeKernelMultiDevice()

- Add validation logic for MGPU launches to pass a cuda test

Change-Id: Iccca7fde43493fc3bc6685512d39202271ae3e92
2020-04-06 16:38:27 -04:00
German Andryeyev 382d5ce77f Merge "(SWDEV-228488)" into amd-master-next 2020-04-06 16:30:37 -04:00
German Andryeyev da1444bfc8 SWDEV-184710
Support hipLaunchCooperativeKernelMultiDevice()

- Add hipCooperativeLaunchMultiDeviceNoPreSync and
hipCooperativeLaunchMultiDeviceNoPostSync support to pass a cuda test

Change-Id: If518f11ef2636a2235e5df9e77f879d8ced68102
2020-04-06 15:29:03 -04:00
Vladislav Sytchenko 1bd640b659 (SWDEV-228488)
These fixes address regressions caused by http://gerrit-git.amd.com/c/compute/ec/hip/+/337601

Currently we're converting a 1D offset into a 3D offset, which doesn't make much sense once you consider the fact that this offset is relative to a different origin than our current 3D offset.

I traced through our blit kernels in VDI - the copy buffer rect path is able to handle immediate offsets in the 3D buffer via the amd::BufferRect::start_ parameter.

Instead of adjusting the offset, simply adjust the start of the region.

Change-Id: Ic8797a2c8ac0ad106f246f61ff06ca1ca03d3058
2020-04-06 14:17:11 -04:00
Michael LIAO 7e051d8a96 [vdi] Fix -Wsign-compare warning. NFC.
- TeamCity build failed as `-Werror` is turned on.

Change-Id: Icd2cbd45f60e3c296894e8e73685e1d177f125a8
2020-04-06 12:16:07 -04:00
German Andryeyev b72ec19c0e Merge "SWDEV-184709 - support hipLaunchCooperativeKernel()" into amd-master-next 2020-04-06 11:45:34 -04:00
Sameer Sahasrabuddhe db3e17d552 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
Christophe Paquot fa5a9b3810 Default HostMalloc to uncached memory
Change-Id: I72e19c7f7820a77fd5afc09f09cfea9acd0b8e84
2020-04-03 19:19:33 -04:00
Saleel Kudchadker f1a9a4f22a Merge "Wake up commandQueue before returning" into amd-master-next 2020-04-03 18:27:03 -04:00
Michael LIAO 9e619430f4 [vdi] Add hipFreeHost
Change-Id: I8a5b7ff3f0ab4f5674efd6723c18808ad6ef33f5
2020-04-03 16:34:28 -04:00
German Andryeyev 6f19e77f69 Merge "SWDEV-184709 - support hipLaunchCooperativeKernel()" into amd-master-next 2020-04-03 16:23:05 -04:00
Vladislav Sytchenko 5f14ae1161 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 7820018037 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 fad9e39597 Merge "Fix size type in __hipRegisterVar" into amd-master-next 2020-04-03 15:12:21 -04:00
Saleel Kudchadker bc8d6ac97c Wake up commandQueue before returning
Change-Id: I87eb5a22c81a9cb807474a960b5987d5fb6c2b86
2020-04-03 10:23:36 -07:00
Aaron En Ye Shi a2104f6c94 Merge "Fix path for hip-clang when using hipcc (#1961)" into amd-master-next 2020-04-03 12:28:50 -04:00
Michael LIAO 00bb2ce04a Fix size type in __hipRegisterVar
Change-Id: I6b667600ae8f133583b768ab963318882b84179f
2020-04-03 10:51:58 -04:00
Michael Hong Bin Liao dbedce9e54 Merge "[hip] Clean up unnecessary casting." into amd-master-next 2020-04-03 10:50:40 -04:00
German Andryeyev 0d69b79622 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 79d8f7e47e [hip] Clean up unnecessary casting.
Change-Id: I64b08aaef5c67ffb49330c9c605611f1fbd3f5a2
2020-04-02 12:46:15 -04:00
Paul Fultz II c8bcf28320 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 2c246dabfe 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
Saleel Kudchadker 68d013d030 Merge "OpenCL2.2 Header changes" into amd-master-next 2020-04-02 02:46:49 -04:00
Vladislav Sytchenko aea688b79c 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
Saleel Kudchadker 34a3ed9c1b Merge "Cleanup stream from hip:Event class." into amd-master-next 2020-03-31 20:14:48 -04:00
Vladislav Sytchenko 77223a8eca (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
Reshabh Sharma bb62f8553f 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 e4ea1f60bb Cleanup stream from hip:Event class.
Change-Id: I98de07d33bb7fea8f5e2d32b288c15f10ce58902
2020-03-31 11:22:00 -07:00
Michael Hong Bin Liao 5b96f38c1e Merge "[hipcc] Remove the previous workaround." into amd-master-next 2020-03-31 10:05:56 -04:00
Michael LIAO b72196613a [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
Christophe Paquot 94a7ef6ed1 Do not retry to allocate when OOM. Shouldn't be needed since we idle on Free.
SWDEV-229214

Change-Id: I183006f409388e3c7981f2569649d01d6378be46
2020-03-30 12:49:48 -07:00
kjayapra-amd b081912962 SWDEV-216213 - Use different static & dynamic module maps for faster lookup.
Change-Id: Ia605e76a411ad5be04046b9d61f1ac111d49bb4a
2020-03-30 14:28:07 -04:00
Anusha Godavarthy Surya caa083357a Merge "Update Enable/Disable peers to match cuda behaviour" into amd-master-next 2020-03-30 13:46:42 -04:00
agodavar bdb3a4b393 Update Enable/Disable peers to match cuda behaviour
Change-Id: I67194ccf77a0019368579ff7d95b7790fcf228f3
2020-03-30 12:49:16 -04:00
Tao Sang 1697cfc790 Merge "enable HCC printf when using hip-clang" into amd-master-next 2020-03-30 11:37:23 -04:00
Michael LIAO f1566f6dc5 [hipcc] Remove the previous workaround.
Change-Id: Ie1c2aa21689bc343c10fd4b699546cf500ced5b2
2020-03-30 10:18:47 -04:00
Michael LIAO 3a690e960f [vdi] Fix calculation of MaxWaves
- Consider the case where `usedVGPRs` is zero.
- This fixes [SWDEV-228537](http://ontrack-internal.amd.com/browse/SWDEV-228537)

Change-Id: I8675311f5fe24fb59c5d45bada122afefb55b128
2020-03-30 09:10:16 -04:00
Sameer Sahasrabuddhe 9a0c5d0653 enable HCC printf when using hip-clang
This is cherry-picked from PR#1947 that was committed to the
github repo. It allows printf to work with hip-clang and HCC
runtime.

Change-Id: I754753250ea1e694cf3441722e2d4c9d25fa75bc
2020-03-28 00:18:21 -04:00
Saleel Kudchadker 5a8add03a5 Merge "Check event status before notify" into amd-master-next 2020-03-27 20:19:40 -04:00
Vladislav Sytchenko 6ed73f50f7 (SWDEV-228794)
Adjust the origin of the copy if the user passes a pointer that wasn't allocated by the runtime.

Change-Id: I0aeb20195ed730857a461a53f537626ec2573fd1
2020-03-27 16:33:16 -04:00
Vladislav Sytchenko fd7a8f0367 (SWDEV-228794)
Add hipMallocHost()

Change-Id: Ia3c7c5ca94b39fe30f3a51d1b60782d3472259ff
2020-03-27 15:57:48 -04:00
Vladislav Sytchenko a91b82f00e (SWDEV-228782)
The only requirment from hipMallocPitch() is that the returned pitch is aligned to the HW image pitch alignment. There is no restriction on the size of the allocation, since the memory might not be used for images.

Change-Id: I97438e5fe4012ca4721b14b85f514dbac803c17c
2020-03-27 15:52:17 -04:00
Tao Sang af7d131749 Merge "Support hipFuncGetAttributes with hip-clang+Hcc RT" into amd-master-next 2020-03-27 14:36:41 -04:00
Saleel Kudchadker 178fc17846 Check event status before notify
Change-Id: I68f6bbbf236e49b859be2d5afbe0c8282fe15dd3
2020-03-27 11:32:46 -07:00
Tao Sang d967be8eeb Support hipFuncGetAttributes with hip-clang+Hcc RT
Fix issues of missing kernel function symbols and missing argument list via
using __hipRegister* functions.
Then the following tests can pass,
directed_tests/runtimeApi/module/hipFuncGetAttributes
directed_tests/runtimeApi/module/hipExtLaunchMultiKernelMultiDevice
directed_tests/gcc/LaunchKernel

Change-Id: I52135b61e8283eb4f9f10f77895151e4e55418d9
2020-03-26 23:28:35 -04:00
Saleel Kudchadker a5fb06f4db OpenCL2.2 Header changes
Change-Id: I3285a8ffc7e34333feb68e925ebd460831c8e3d4
2020-03-26 17:35:09 -07:00
Vladislav Sytchenko 2a2b9e47a0 Add support for formating hipExtent objects
Change-Id: Iea54a510e81a856c0c450305b3e5a7179ee48295
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko 8ddeeb4551 Enable initial sRGB support
Instead of using the sampler field force_degamma to perform sRGB->linear conversion during pixel sampling, we use an appropriate image format instead. The overhead of this is having to create an image view when creating a texture object from an array.

Change-Id: I1ca368c312c1fd4b6f784a3a1b35b5eeb28070ff
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko e0187ba405 Add initial entry points for mipmapped array API
Change-Id: Icd59cc7323ddcb6773da6105260415a1e6f4cdcb
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko faf3b83594 Handle offsets for dptr <-> image copies
Change-Id: I7a4a56ee07a26a741d2aac35502446d248f720ad
2020-03-26 14:45:20 -04:00