提交線圖

77 次程式碼提交

作者 SHA1 備註 日期
Saleel Kudchadker f69dbb2438 Merge "Sync streams when freeing or destroying mem" into amd-master-next
[ROCm/clr commit: 436e5bb664]
2020-03-21 13:33:41 -04:00
Christophe Paquot f037cb7285 hipStreamAddCallback test seg faults
Change-Id: If419d2fad490d0ed50eb1315af809fc1deda1ce3
SWDEV-227875: Add a lock in streams to lock when the callback is call so we make sure things aren't moving forward in the stream


[ROCm/clr commit: 9f81498bb5]
2020-03-20 13:07:34 -07:00
Saleel Kudchadker adc574b2ed Sync streams when freeing or destroying mem
Change-Id: I6932f225a8b932bb2adbd5e37880f7e604496809


[ROCm/clr commit: 68df8efe90]
2020-03-20 10:53:23 -07:00
Christophe Paquot ee23705de2 Merge "hipStreamAddCallback test seg faults" into amd-master-next
[ROCm/clr commit: 446c8685e2]
2020-03-20 12:05:37 -04:00
kjayapra-amd 216aba5512 SWDEV-216213 - Lookup module functions from PlatformState::functions_.
Change-Id: I91dfe327f2ebdcf4c9b39ddd14d60aa0ce2fa9f4


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


[ROCm/clr commit: 31df9b358d]
2020-03-19 11:11:59 -07:00
Vladislav Sytchenko fd286a205b 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/clr commit: 78f7954765]
2020-03-18 18:15:17 -04:00
Vladislav Sytchenko fadfaf9c80 Program texture flags in a better way
Not sure what I was thinking when initially implementing this...

Change-Id: Ib82f0f5a86683c08823dd4b59c98259d27151822


[ROCm/clr commit: ea7170d33c]
2020-03-18 18:15:09 -04:00
Vladislav Sytchenko b2e593fc62 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/clr commit: 8083935855]
2020-03-18 18:15:01 -04:00
Vladislav Sytchenko 5dc14caf87 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/clr commit: 42b149fe3c]
2020-03-18 18:14:45 -04:00
Vladislav Sytchenko 6f93cfe58e Correct the definition of ...
hipBindTextureToMipmappedArray()

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

Change-Id: I6d31204c7f2325a5bc1e8b6e089fd9f8d21d1d78


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

Change-Id: Idde461f0f328ac87ce677b6bab3203161b514cbf


[ROCm/clr commit: 7a81e55de7]
2020-03-18 18:08:23 -04:00
Vladislav Sytchenko 77867d5700 Correct the declaration of hipBindTextureToArray()
The texture reference needs to be passed as a constant pointer.

Change-Id: Iff171626536071fb2020cfff7132ec930577b1b9


[ROCm/clr commit: 7765792a42]
2020-03-18 18:08:13 -04:00
Vladislav Sytchenko 900f2a76c0 Correct the declaration of hipBindTexture()
The texture reference needs to be passed as a constant pointer.

Change-Id: I36ca0bddaba30becfc2ce70dd9e5b7db66c57f27


[ROCm/clr commit: 600b1006c8]
2020-03-18 18:08:01 -04:00
Vladislav Sytchenko b255d351b0 Merge "Start the lifetime of the texture reference" into amd-master-next
[ROCm/clr commit: da5f852cdd]
2020-03-18 18:07:24 -04:00
Jiabao Xie 7c5db60141 Merge "Cleaned include statements and deleted unnecessary operator overloads" into amd-master-next
[ROCm/clr commit: bbfba3bae1]
2020-03-18 14:37:19 -04:00
Vladislav Sytchenko 84ba26979a 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/clr commit: b4a0008b36]
2020-03-18 12:30:11 -04:00
Sarbojit Sarkar 7cac7ff3b5 [hip-vdi]Fix for TF build failure [SWDEV-225827]
Change-Id: I8478779bef92bad8353b8d066b28c220bb59b98d


[ROCm/clr commit: 957caff8b4]
2020-03-17 22:52:01 -04:00
Jiabao Xie 3b776dfe6a Cleaned include statements and deleted unnecessary operator overloads
Change-Id: I5eb322c05082e8f27584446af2f6a19243dc63c9


[ROCm/clr commit: f81175c3bc]
2020-03-12 14:13:01 -04:00
Saleel Kudchadker 80c688d9f5 Merge "Fix P4 linux make builds" into amd-master-next
[ROCm/clr commit: 7d86f10c3c]
2020-03-11 16:17:18 -04:00
Jiabao Xie 9bfc5ba7a9 Merge "Structs expanded to print struct information than address. Moved to hip_formatting.hpp. Reformatted to follow Google standards" into amd-master-next
[ROCm/clr commit: 214c07a5b8]
2020-03-10 15:56:49 -04:00
Jiabao Xie 3f843860d0 Structs expanded to print struct information than address. Moved to hip_formatting.hpp. Reformatted to follow Google standards
Change-Id: I08695058c11db51b9f3cbe1deb4af944ebf9e64d


[ROCm/clr commit: 10d90ab2ad]
2020-03-10 13:12:28 -04:00
Saleel Kudchadker 049340f08e Fix P4 linux make builds
Change-Id: I6cc4e69a914389b53bc3b52535eb6faf24897a09


[ROCm/clr commit: 7bba326ed1]
2020-03-10 00:02:10 -07:00
Saleel Kudchadker 82a836eb22 Merge "Change HIPRTC Version to 9.0" into amd-master-next
[ROCm/clr commit: 8d05d06dce]
2020-03-09 22:55:27 -04:00
Vladislav Sytchenko 952502e2ed Add hipDrvMemcpy3D.
This is the equivalent of cuMemcpy3D.

Change-Id: Ib2e06dbd6f5093c931cdfd36c87617f32acffc2d


[ROCm/clr commit: cd76eb7486]
2020-03-09 16:11:25 -04:00
Saleel Kudchadker 1834fb4c5e Change HIPRTC Version to 9.0
Change-Id: I7e88df61248f0fe6e33c2315805f9e49a493cf29


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


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

Change-Id: If0ed1f7ec194bf7f65b7cea1a5c250e768a8f190


[ROCm/clr commit: a15e895cfd]
2020-03-09 11:46:55 -04:00
Vladislav Sytchenko 468ede4cc1 Add hipMemcpy3DParams -> HIP_MEMCPY3D conversion
Change-Id: I66dd1ae722b8c0d7ddb2562c958b14854e6b86bc


[ROCm/clr commit: 59fb85f94d]
2020-03-06 14:33:52 -05:00
Vladislav Sytchenko d65e730457 Fix dangling pointer after hipUnbindTexture() call
Change-Id: Ic4b476c62ebfae31e94dd139b20b6aaaa52bb866


[ROCm/clr commit: 7ffa6eb963]
2020-03-06 14:10:56 -05:00
Vladislav Sytchenko c5e8d27600 Add missing coversion cases.
Handle converting signed int cases of hipResourceViewFormat to number of channels.

Change-Id: Ica8ae6f644edfaa0d4803d0b8e90e320479118e2


[ROCm/clr commit: e746584d24]
2020-03-06 14:06:21 -05:00
Vladislav Sytchenko 53ab95f3f8 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/clr commit: 801c70279f]
2020-03-05 15:03:18 -05:00
Vladislav Sytchenko a4b38979b6 Fix typos in ihipMemcpy3D()
Change-Id: I8720f113642f00bb013cf46284e9b13cc932bf4a


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


[ROCm/clr commit: f360ff6479]
2020-03-05 16:08:51 +05:30
German Andryeyev 28fb4e50bb Merge "SWDEV-193956 - [hipclang-vdi-rocm][perf]" into amd-master-next
[ROCm/clr commit: a083dc8547]
2020-03-04 18:04:52 -05:00
Michael LIAO 6ea8286d14 Fix -Werror=switch.
Change-Id: Ib0850a3f79308efeeecd18bb03ecd82bd355ef85


[ROCm/clr commit: d2d0225c2e]
2020-03-04 17:52:39 -05:00
Saleel Kudchadker c69a3ecd25 Merge "Add -Wno-ignored-attributes flag to mute warnings" into amd-master-next
[ROCm/clr commit: f4caaeb308]
2020-03-03 20:39:16 -05:00
Vladislav Sytchenko 30d22b1ea8 Fix Windows build.
Calm down warning C4715: not all control paths return a value.

Change-Id: I99d939b84770a499bb6a0edcc3bc0bf12961a711


[ROCm/clr commit: 14810044f7]
2020-03-03 16:14:12 -05:00
German Andryeyev 597bf599ad 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/clr commit: b93d997fb7]
2020-03-02 18:35:56 -05:00
Vladislav Sytchenko 9347d89f8d 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/clr commit: d28b77bf23]
2020-03-01 13:52:05 -05:00
Saleel Kudchadker 574c54c6f6 Add -Wno-ignored-attributes flag to mute warnings
Change-Id: Ib9ad75554c0ddfe025e7d500f057830f7ad2ef5b


[ROCm/clr commit: d292b4eee9]
2020-02-27 10:52:13 -08:00
Christophe Paquot f659c9306a 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/clr commit: e9af4c8794]
2020-02-26 08:54:00 -08:00
Payam Ghafari 9e6d3e49b2 Merge "removed excutable permission from source files" into amd-master-next
[ROCm/clr commit: 630e28fcf1]
2020-02-25 17:44:43 -05:00
Payam 95100eb890 removed excutable permission from source files
Change-Id: Iae8639a96c55a098e28de41c5a3f38a07acbe25c


[ROCm/clr commit: eb4bd38c27]
2020-02-25 16:16:47 -05:00
Vladislav Sytchenko df166c9c65 Bump c++ version to 14.
This is to match our p4 build.

Change-Id: I084b07968ced98cca216146a0228cc36e9f56ab3


[ROCm/clr commit: 21ec6d005e]
2020-02-25 14:41:55 -05:00
Vladislav Sytchenko 952c6dab52 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/clr commit: fd76d220a5]
2020-02-25 13:50:34 -05:00
Saleel Kudchadker 389d21481f 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/clr commit: 1ccaea7ca8]
2020-02-25 00:13:43 -08:00
Christophe Paquot eabcfa3947 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/clr commit: 2bdfc73649]
2020-02-24 20:14:10 -08:00
Payam Ghafari 786608dd3d Merge "updated lib elf path and clean ups" into amd-master-next
[ROCm/clr commit: 45b1691e0a]
2020-02-24 17:35:36 -05:00
Vladislav Sytchenko b48d6279ef 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/clr commit: f71817a342]
2020-02-24 15:23:45 -05:00