提交图

33 次代码提交

作者 SHA1 备注 提交日期
Vladislav Sytchenko 21ec6d005e Bump c++ version to 14.
This is to match our p4 build.

Change-Id: I084b07968ced98cca216146a0228cc36e9f56ab3
2020-02-25 14:41:55 -05:00
Vladislav Sytchenko fd76d220a5 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
2020-02-25 13:50:34 -05:00
Saleel Kudchadker 1ccaea7ca8 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
2020-02-25 00:13:43 -08:00
Christophe Paquot 2bdfc73649 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
2020-02-24 20:14:10 -08:00
Payam Ghafari 45b1691e0a Merge "updated lib elf path and clean ups" into amd-master-next 2020-02-24 17:35:36 -05:00
Vladislav Sytchenko f71817a342 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
2020-02-24 15:23:45 -05:00
Payam 3beac02cbd updated lib elf path and clean ups
Change-Id: Id0b3c295fa8353a5da8517204bf53dab9887defb
2020-02-24 15:09:34 -05:00
Payam Ghafari 9518af6083 Merge "export hip::host and hip::device" into amd-master-next 2020-02-24 13:29:01 -05:00
Payam e5c8903925 export hip::host and hip::device
Change-Id: If1427a180f91d3f8bae203d956f21cd69345c060
2020-02-21 19:58:42 -05:00
Vladislav Sytchenko 16ffc6fe3e Update hipGetErroName() to match hipError_t
Change-Id: I8f7fe0cca01ddec5d6333ba6e876128276323be9
2020-02-21 18:31:27 -05:00
Vladislav Sytchenko d934d731a0 Fix Windows build
MSVC unlike gcc doesn't add colons for you.

Change-Id: I06d81a9a9b346065d0452fe7117ab82144a06f74
2020-02-21 14:37:41 -05:00
Vladislav Sytchenko 8be685e7b9 Report the HW requirments for pitch alignment
Change-Id: Iaaa9d597dff57cfad5d07d931f881aba1a5f98f1
2020-02-21 11:09:47 -05:00
Vladislav Sytchenko 8c8d963c65 Disable hip{Create/Destroy}SurfaceObject
The current implementation of surd2D{read/write} directly addresses into
the image buffer via the hipArray::data ptr. This is incorrect to do
since we don't know the layout of the image. Also with VDI we won't have
access to the underlying image buffer.

Disable the surface api untill the device functions are switched to
using __ockl_image_{load/store}().

Change-Id: I19a33680176812d5aad3660e9045812061a1c443
2020-02-21 11:09:28 -05:00
Karthik Jayaprakash 4b2ff6ec91 SWDEV-223674 - Return hipErrorNoBinaryForGpu in case particular binary is not found in clang offload bundler.
Change-Id: Iaa08fcdc8ecb719edd9f81e4a1456ea642f362f4
2020-02-19 20:01:36 -05:00
Christophe Paquot 13bf30569e SWDEV-223262
hipMemcpyWithStream is supposed to be synchronous.

Change-Id: Ie44e37ecc9246e26a6b315c01e88a279f9e42fd7
2020-02-19 14:08:12 -08:00
Evgeny Shcherbakov 9c4e11f217 Merge "adding 'hipHccModuleLaunchKernel' and 'hipExtModuleLaunchKernel'" into amd-master-next 2020-02-18 18:10:22 -05:00
Christophe Paquot b4ad4262cc Introducing hip::Device which wraps around amd::Context and deviceId
Change-Id: Ie35a6edb65c001b35eb9f5d2af26e765dc41c00e
2020-02-18 17:18:56 -05:00
Karthik Jayaprakash e066cc6f60 SWDEV-223394 - Pass module info from hipModuleGetTexRef to internal Platformstate:: functions.
Change-Id: I7d1ba3f940f595c3fca74a57fa20f484c52d4741
2020-02-18 11:23:03 -05:00
Christophe Paquot 1f5ae789bb Don't create a marker for start event in hipModuleLaunchKernel
And also don't optimize the case where start==stop event to compute
elapsed time since the command can be a NDRange one.
HIP directed test will need to be fixed for that.

Change-Id: I64fadd6ab8ab1a490e7a2b7165a591df5a5cf3a2
2020-02-17 14:16:31 -08:00
Evgeny 45b1673e26 adding 'hipHccModuleLaunchKernel' and 'hipExtModuleLaunchKernel'
Change-Id: Id9990ed3041b82956872a088ff019ade69d40afb
2020-02-17 16:06:24 -06:00
Christophe Paquot d6b9b323b8 Merge "hipLaunchByPtr and hipLaunchKernel deviceId potential issue" into amd-master-next 2020-02-13 18:49:06 -05:00
Christophe Paquot eb132ccef8 SWDEV-222949 - hipEventRecord
hipEventRecord should always create a new marker so it can track work going on at the time the API is called.

Change-Id: I10ce98044be894fbacab8798441ec3d3f2753b93
2020-02-13 15:01:49 -05:00
Christophe Paquot 8f5a70a150 hipLaunchByPtr and hipLaunchKernel deviceId potential issue
Those APIs should look at the device associated with the stream first.
If that stream is null then get the current device ID.

Change-Id: Iedde1d1644818ba64f128b988f0bd9674f5b8ad6
2020-02-13 12:00:30 -08:00
Tao Sang 62ef029288 Support app(hcc compiled/Hip-Vdi runtime linked)
The issues of the following functions have been fixed.
hipModuleLoad: Make Hip-Vdi runtime able to read code object module
generated by Hcc compiler.
hipLaunchKernel: Use introspect method to find function if it cannot
be found from platform state instance.

Change-Id: Id740e5a96614ec6a0b6c704f8f74600bfdc4983e
2020-02-12 16:42:54 -05:00
Laurent Morichetti 64d9e658a9 Remove cl_icd.cpp from the build.
We should be using the temporary fixme.cpp instead.

Change-Id: I7e7a04bb518f56584c41bdb46a9192bde1f70060
2020-02-12 10:46:33 -08:00
Mark Searles 0c6b34845f Change 2068543 by michliao@hliao-dev-11-hip-workspace on 2020/02/10 10:04:50
SWDEV-125823 - Fix the build issue due to API interface change.

        - PR#1625 is temporarily reverted. Revert CL#2064519 correspondingly.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#61 edit

Change-Id: I519b11532d7e6fe8cbee41804155cc9ca64e596c
2020-02-12 00:22:48 -08:00
Christophe Paquot 0c6efd9678 SWDEV-220533 - HostMapped should use fine grained.
Change-Id: I4ad2064e8e5ea1cd4ed7df143c778ccb685c4f22
2020-02-10 16:53:06 -05:00
Saleel Kudchadker c98a17c80f HIP/VDI CMake fixes
Fix the install directory for libamdhip64.so and create libhiprtc.so symlink

Change-Id: Id731bfa18bb3585c3f9e3ae6697b4f4687c49195
2020-02-07 00:01:35 -08:00
Saleel Kudchadker b3a0015a25 Disable symbol versioning for HIP/VDI
Change-Id: Ide6372bab136dd5df886ed78f61cd6c06e98e983
2020-02-05 22:20:51 -08:00
Mark Searles 657734689d Change 2064519 by michliao@hliao-dev-00-hip.rocm-workspace on 2020/01/30 11:34:18
SWDEV-125823 - Fix the build issue due to API interface change.

        - `hipOccupancyMaxActiveBlocksPerMultiprocessor` interface is revised
          and the runtime needs updating.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#60 edit

Change-Id: Ia7901b0dbbfd37977ce4adf2ae1a821aba0ac044
2020-02-05 14:59:37 -08:00
Laurent Morichetti 5b098e68b6 Update copyright info for VDI files
Change-Id: Ib160fbf89ec89a5895321f73402a33b4d344a68f
2020-02-04 08:47:10 -08:00
Laurent Morichetti 2f1305b9a4 Merge branch 'origin/pghafari/hip-vdi' into lmoriche/amd-master-next
Change-Id: I22c145d39f430ca571a981687bcb034ea6e3b8a2
2020-01-31 07:33:12 -08:00
Laurent Morichetti 6f3e18a764 Merge HIP/VDI branch 'amd-staging' into lmoriche/amd-master-next
Change-Id: Iabaab4e72815ba483a1330ec6a1130f2b86676f0
2020-01-29 15:02:13 -08:00