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

175 Коммитов

Автор SHA1 Сообщение Дата
Saleel Kudchadker 1b4bbfcb53 Sync streams when freeing or destroying mem
Change-Id: I6932f225a8b932bb2adbd5e37880f7e604496809


[ROCm/hip commit: 8b39e0b74e]
2020-03-20 10:53:23 -07:00
Christophe Paquot 7a418b2fce Merge "hipStreamAddCallback test seg faults" into amd-master-next
[ROCm/hip commit: d98879a250]
2020-03-20 12:05:37 -04:00
kjayapra-amd 64677e52e2 SWDEV-216213 - Lookup module functions from PlatformState::functions_.
Change-Id: I91dfe327f2ebdcf4c9b39ddd14d60aa0ce2fa9f4


[ROCm/hip commit: cd92bd7fee]
2020-03-20 11:52:28 -04:00
Christophe Paquot 0d5638f513 hipStreamAddCallback test seg faults
Change-Id: I1f107fc8a5c586cd571f0280ed8716c5f89d25b7
SWDEV-227875: Need to add a dummy marker in case the stream is empty.


[ROCm/hip commit: 3dfbfc408b]
2020-03-19 11:11:59 -07:00
Vladislav Sytchenko 2847cdc6f0 Add support for creating typed buffers
What Cuda refers to "linear texture memory" is the OpenCL equivalent of CL_MEM_OBJECT_IMAGE1D_BUFFER. For these types of allocations we should create a typed buffer instead of an image.

Currently there is no check in the texture fetch functions as to what kind of SRD is written into the texture object, so any kind of incorrect programming will cause the TA to hang. Fortunately for us, every one writes correct code :)

Change-Id: I80dab85a992f2c0754ebf303d40ac6b5e045c7c1


[ROCm/hip commit: 4829a7c215]
2020-03-18 18:15:17 -04:00
Vladislav Sytchenko a6af2fc07f Program texture flags in a better way
Not sure what I was thinking when initially implementing this...

Change-Id: Ib82f0f5a86683c08823dd4b59c98259d27151822


[ROCm/hip commit: e8fa3b2589]
2020-03-18 18:15:09 -04:00
Vladislav Sytchenko 87cb03c270 Purge the use of ihip*impl() texture APIs
These are artifacts left from HIP-HCC and now are not needed by HIP-VDI.

Change-Id: Ib25a1081fe6146c8a89659395151e9d5bdaf7519


[ROCm/hip commit: 2bad9e2821]
2020-03-18 18:15:01 -04:00
Vladislav Sytchenko 68c96cca38 Correctly infer the texture read mode
Currently we extract the read mode from the ihip*impl() calls, which is not correct. We should be getting it from the texture itself directly.

Change-Id: Idf6449fefa395a887138a252e8ea937a6897e600


[ROCm/hip commit: 7385a032ae]
2020-03-18 18:14:45 -04:00
Vladislav Sytchenko edc6cd4d87 Correct the definition of ...
hipBindTextureToMipmappedArray()

The texture reference needs to be passed as a constant pointer.

Change-Id: I6d31204c7f2325a5bc1e8b6e089fd9f8d21d1d78


[ROCm/hip commit: c7407a3b57]
2020-03-18 18:14:36 -04:00
Vladislav Sytchenko b61a7da1ec Correct the declaration of hipBindTexture2D()
The texture reference needs to be passed as a constant pointer.

Change-Id: Idde461f0f328ac87ce677b6bab3203161b514cbf


[ROCm/hip commit: 3e460ab514]
2020-03-18 18:08:23 -04:00
Vladislav Sytchenko 4723ceced8 Correct the declaration of hipBindTextureToArray()
The texture reference needs to be passed as a constant pointer.

Change-Id: Iff171626536071fb2020cfff7132ec930577b1b9


[ROCm/hip commit: 2d77399747]
2020-03-18 18:08:13 -04:00
Vladislav Sytchenko efca40a693 Correct the declaration of hipBindTexture()
The texture reference needs to be passed as a constant pointer.

Change-Id: I36ca0bddaba30becfc2ce70dd9e5b7db66c57f27


[ROCm/hip commit: 7190fa518e]
2020-03-18 18:08:01 -04:00
Vladislav Sytchenko 67e8b8bcd2 Merge "Start the lifetime of the texture reference" into amd-master-next
[ROCm/hip commit: 816a56a70b]
2020-03-18 18:07:24 -04:00
Jiabao Xie c12977513d Merge "Cleaned include statements and deleted unnecessary operator overloads" into amd-master-next
[ROCm/hip commit: ae6dd6c2fc]
2020-03-18 14:37:19 -04:00
Vladislav Sytchenko a7ff065adc Start the lifetime of the texture reference
reinterpret_cast<> doesn't create an object, so the texref is actually unitiliazed. This may lead to garbage data in some of its struct members.

Initialize it by performing a placement new. The constructer should set all of its members to default values. There's no way currently to extract the channel type, so use single channel char for now.

Change-Id: I41b305a75bb3f30130324de785099f55b3e130c7


[ROCm/hip commit: 292d008a64]
2020-03-18 12:30:11 -04:00
Sarbojit Sarkar 4135ec890a [hip-vdi]Fix for TF build failure [SWDEV-225827]
Change-Id: I8478779bef92bad8353b8d066b28c220bb59b98d


[ROCm/hip commit: 82926666c4]
2020-03-17 22:52:01 -04:00
Jiabao Xie 1e76a4a5be Cleaned include statements and deleted unnecessary operator overloads
Change-Id: I5eb322c05082e8f27584446af2f6a19243dc63c9


[ROCm/hip commit: e7abc7a553]
2020-03-12 14:13:01 -04:00
Saleel Kudchadker 27288c9358 Merge "Fix P4 linux make builds" into amd-master-next
[ROCm/hip commit: ffcbd7e633]
2020-03-11 16:17:18 -04:00
Jiabao Xie 0c637f136f Merge "Structs expanded to print struct information than address. Moved to hip_formatting.hpp. Reformatted to follow Google standards" into amd-master-next
[ROCm/hip commit: edce444e33]
2020-03-10 15:56:49 -04:00
Jiabao Xie 608d85a005 Structs expanded to print struct information than address. Moved to hip_formatting.hpp. Reformatted to follow Google standards
Change-Id: I08695058c11db51b9f3cbe1deb4af944ebf9e64d


[ROCm/hip commit: 604befb472]
2020-03-10 13:12:28 -04:00
Saleel Kudchadker 411708c6c1 Fix P4 linux make builds
Change-Id: I6cc4e69a914389b53bc3b52535eb6faf24897a09


[ROCm/hip commit: aa04b964cf]
2020-03-10 00:02:10 -07:00
Saleel Kudchadker 2b4b2b2dc9 Merge "Change HIPRTC Version to 9.0" into amd-master-next
[ROCm/hip commit: bcd23335fb]
2020-03-09 22:55:27 -04:00
Vladislav Sytchenko 88ae7337b3 Add hipDrvMemcpy3D.
This is the equivalent of cuMemcpy3D.

Change-Id: Ib2e06dbd6f5093c931cdfd36c87617f32acffc2d


[ROCm/hip commit: ecd7c99b49]
2020-03-09 16:11:25 -04:00
Saleel Kudchadker 0585e40955 Change HIPRTC Version to 9.0
Change-Id: I7e88df61248f0fe6e33c2315805f9e49a493cf29


[ROCm/hip commit: c540a55d21]
2020-03-09 11:28:55 -07:00
Saleel Kudchadker 043b44934a Fix HIPRTC headers to export C style symbols
Change-Id: I3e0d2b19ace4a9096e3e46bd22f420483da51a8a


[ROCm/hip commit: 08c6d941ca]
2020-03-09 14:18:46 -04:00
Vladislav Sytchenko 7affd35b9b Fix Windows build.
extern "C" on Windows implies nothrow. We shouldn't be throwing exceptions either way.

Change-Id: If0ed1f7ec194bf7f65b7cea1a5c250e768a8f190


[ROCm/hip commit: 38004b6ef0]
2020-03-09 11:46:55 -04:00
Vladislav Sytchenko 2f8a37880d Add hipMemcpy3DParams -> HIP_MEMCPY3D conversion
Change-Id: I66dd1ae722b8c0d7ddb2562c958b14854e6b86bc


[ROCm/hip commit: 2e9d177304]
2020-03-06 14:33:52 -05:00
Vladislav Sytchenko 42d9576cbe Fix dangling pointer after hipUnbindTexture() call
Change-Id: Ic4b476c62ebfae31e94dd139b20b6aaaa52bb866


[ROCm/hip commit: dbb8f96a8e]
2020-03-06 14:10:56 -05:00
Vladislav Sytchenko 8bf13d8d20 Add missing coversion cases.
Handle converting signed int cases of hipResourceViewFormat to number of channels.

Change-Id: Ica8ae6f644edfaa0d4803d0b8e90e320479118e2


[ROCm/hip commit: 90feaf046f]
2020-03-06 14:06:21 -05:00
Vladislav Sytchenko 9a62b2ffe7 Correct logic in ihipMemcpyAtoA()
HIP assumes that image width is in bytes, but VDI assumes that image width in pixels. Need to perform byte -> pixel coversion before doing anything.

Change-Id: Ia9fd1f46d05db3fbe8049add10b4d7e5118a2b9a


[ROCm/hip commit: 3fc50731ae]
2020-03-05 15:03:18 -05:00
Vladislav Sytchenko 2f2a2843dc Fix typos in ihipMemcpy3D()
Change-Id: I8720f113642f00bb013cf46284e9b13cc932bf4a


[ROCm/hip commit: f28e2ebb42]
2020-03-05 14:11:55 -05:00
agodavar de0b92948e Enable tests that are passing on hip-vdi
Change-Id: I7de965f7e8bb7e4d0fa61cd584f0cd118c1e212e


[ROCm/hip commit: 65ffaf82d8]
2020-03-05 16:08:51 +05:30
German Andryeyev c503c44b67 Merge "SWDEV-193956 - [hipclang-vdi-rocm][perf]" into amd-master-next
[ROCm/hip commit: 33da3f5c50]
2020-03-04 18:04:52 -05:00
Michael LIAO 2f7869ae2c Fix -Werror=switch.
Change-Id: Ib0850a3f79308efeeecd18bb03ecd82bd355ef85


[ROCm/hip commit: f70a66a7b3]
2020-03-04 17:52:39 -05:00
Saleel Kudchadker 60e9a26fe0 Merge "Add -Wno-ignored-attributes flag to mute warnings" into amd-master-next
[ROCm/hip commit: d97e32d837]
2020-03-03 20:39:16 -05:00
Vladislav Sytchenko 01db2848c4 Fix Windows build.
Calm down warning C4715: not all control paths return a value.

Change-Id: I99d939b84770a499bb6a0edcc3bc0bf12961a711


[ROCm/hip commit: 25f107e2b6]
2020-03-03 16:14:12 -05:00
German Andryeyev 5af52cba15 SWDEV-193956 - [hipclang-vdi-rocm][perf]
~45% to 50% of Performance drop on rocBLAS_int8 test

Enable cudaSetDeviceFlags() api call. Use active wait by default
for all devices.

Change-Id: Ifc2ebe3dd9b0aa3fdbfbc9cb5c2cd8b3b726124f


[ROCm/hip commit: fe1fad4805]
2020-03-02 18:35:56 -05:00
Vladislav Sytchenko 05c26e5aa7 Fix hipMemcpy3d (partially)
Incoming changes from upstream split the struct hipMemcpy3DParms into two separate ones - hipMemcpy3DParms and HIP_MEMCPY3D, which are cudaMemcpy3DParms and CUDA_MEMCPY3D equivalents respectively.

Note that HIP_MEMCPY3D is missing half the members of CUDA_MEMCPY3D (this should be fixed in PR#1887). Work around this by using a substitute _HIP_MEMCPY3D struct for now.

Change-Id: Ic15134e6deb260189b662b3804d2309a9b8473e9


[ROCm/hip commit: 87178f9456]
2020-03-01 13:52:05 -05:00
Saleel Kudchadker 299f117a58 Add -Wno-ignored-attributes flag to mute warnings
Change-Id: Ib9ad75554c0ddfe025e7d500f057830f7ad2ef5b


[ROCm/hip commit: 6f2a872d87]
2020-02-27 10:52:13 -08:00
Christophe Paquot e673e8e0c9 Blocking and default streams' sync:
Add hip::syncStreams(dev) to sync blocking streams on a given device.
hip::syncStreams(void) should only sync streams on the current device.

Change-Id: Ib6b0735215fa0ed12c646ebd029e9763ee3712ce


[ROCm/hip commit: fa6ed89cff]
2020-02-26 08:54:00 -08:00
Payam Ghafari bf2b4f988a Merge "removed excutable permission from source files" into amd-master-next
[ROCm/hip commit: c9b64aa2da]
2020-02-25 17:44:43 -05:00
Payam 6b7eecb037 removed excutable permission from source files
Change-Id: Iae8639a96c55a098e28de41c5a3f38a07acbe25c


[ROCm/hip commit: 224d41c2f0]
2020-02-25 16:16:47 -05:00
Vladislav Sytchenko 0c80838a3a Bump c++ version to 14.
This is to match our p4 build.

Change-Id: I084b07968ced98cca216146a0228cc36e9f56ab3


[ROCm/hip commit: 657fb46b45]
2020-02-25 14:41:55 -05:00
Vladislav Sytchenko b13baaf346 hipBindTexture() should handle nullptr offset.
If a user passes a ptr that was allocated by hipMalloc(), the offset is guaranteed to be 0 and NULL may be passed as the offset parameter. We shouldn't return an error in this case.

Change-Id: I4a8d645121e5a17d5e2861a0629356a3599de9ee


[ROCm/hip commit: ccc73a9fb4]
2020-02-25 13:50:34 -05:00
Saleel Kudchadker afbb96f6b6 Use the context variant of getNullStream
Do not create a new queue to call finish in hipFree if none was
created earlier elsewhere.
Change-Id: I87bb191e6b186ddbe607ab29d11e3ae5bc2ac8e6


[ROCm/hip commit: 631fd65be4]
2020-02-25 00:13:43 -08:00
Christophe Paquot c8bce5553d Fixed a few multithreaded potential issues
Also make D2H and H2D keep track of the chain of events
when we need to use a different HostQueue.

Change-Id: I1c5da6ea6104b37ad7aac00f0eb8ea9371e6ba1c


[ROCm/hip commit: 2203093159]
2020-02-24 20:14:10 -08:00
Payam Ghafari 6e07ef7963 Merge "updated lib elf path and clean ups" into amd-master-next
[ROCm/hip commit: b6324407f2]
2020-02-24 17:35:36 -05:00
Vladislav Sytchenko 82a8810572 HIP-VDI texture rework
The current texture implementation is based off the one for HIP-HCC. There's a lot of problems with it - only creating images from buffers, hard coding logic and ignoring user parameters. This leads to a whole lot of UB even with simple examples (as seen with RedShift's code).

This CL is aimed to bring the HIP-VDI texture implementation closer to what is described by Cuda.

hipMemcpyAtoA() - image to image copy.
hipMemcpyHtoA()/hipMemcpyDtoA() - buffer to image copy.
hipMemcpyAtoH()/hipMemcpyAtoD() - image to buffer copy.

hipArrayCreate()/hipArray3DCreate()/hipMallocArray()/hipMalloc3DArray() - creates 1D/2D/3D/1D Array/2D Array images.
hipCreateTextureObject() - creates sampler, (optional) creates 1D/2D image from buffer, (optional) creates image views.
hipBindTexture() - creates 1D image from buffer (should create a typed buffer, however this is not compatible with HIP-HCC).
hipBindTexture2D() - creates 2D image form buffer.
hipBindTextureToArray() - creates image view.
hipTexRefSetAddress() - creates 1D image from buffer (should create a typed buffer, however this is not compatible with HIP-HCC).
hipTexRefSetAddress2D() - creates 2D image from buffer.
hipTexRefSetArray() - creates image view.

There are still a lot of  TODOs in the code, here's a few important ones:
1. VDI doesn't support a lot of sampler flags.
2. VDI doesn't support device to image 2D/3D copy.
3. Mipmaps implementation is incomplete.
4. Image view implementation is incomplete.

Change-Id: Ia374ee27aa14f76451fee7667495036f4419a487


[ROCm/hip commit: c22eb7808d]
2020-02-24 15:23:45 -05:00
Payam d34a857799 updated lib elf path and clean ups
Change-Id: Id0b3c295fa8353a5da8517204bf53dab9887defb


[ROCm/hip commit: c6bb103dff]
2020-02-24 15:09:34 -05:00
Payam Ghafari a4bdf0e0ae Merge "export hip::host and hip::device" into amd-master-next
[ROCm/hip commit: bec7cfbe3c]
2020-02-24 13:29:01 -05:00