Commit Graph

816 Commits

Author SHA1 Message Date
Rahul Garg dd95d3d23c ROCMOPS-1956 - Push restructured code to hipamd
hipamd will have AMD's ROCCLR based HIP backend implementation

Change-Id: Id7de9634519b4ce46fca71a1b61f3d5b1e3fc459


[ROCm/clr commit: 19c84bc604]
2021-06-07 21:42:44 +00:00
Rahul Garg 28f8d08148 SWDEV-288707 - Merge HIP refactored code to staging
These changes move-
- rocclr based implementation inside src/hipamd/src
- platform specific (both nvidia and amd) headers inside
src/hipamd/include/hip

Change-Id: Ia29791a727244952591fe1d813dcef0303b73a9e


[ROCm/clr commit: 260a1fed06]
2021-06-07 00:07:24 +00:00
Tao Sang 2c1c9f78d6 Remove hip-hcc codes: Part three
1.Rename include/hip/hcc_detail/ as include/hip/amd_detail/

2.Rename include/hip/nvcc_detail/ as include/hip/nvidia_detail/

3.Create __HIP_PLATFORM_AMD__ to replace __HIP_PLATFORM_HCC__

4.Create __HIP_PLATFORM_NVIDIA__ to replace __HIP_PLATFORM_NVCC__

After hcc_detail, nvcc_detail, __HIP_PLATFORM_HCC__ and __HIP_PLATFORM_NVCC__
have been removed from upstream, they will be removed from hip runtime.

Change-Id: I1ae457effd739d6c25bca203c1724b026be21fce


[ROCm/clr commit: 8a2b0b7424]
2021-01-05 10:39:31 -05:00
Saleel Kudchadker 662d3c2964 Honor hipEventDisableTiming event flag
Change-Id: Ia949db96e81b9af467f04ab40d143e8d6faa9394


[ROCm/clr commit: 08a65054ea]
2020-12-09 15:10:18 -05:00
Satyanvesh Dittakavi 78101c1e6b Modify atomicAdd float to use clang builtin
SWDEV-261229: Change atomicAdd float implementation to use clang builtin
along with deprecating atomicAddNoRet
Change-Id: I5e98034fec54ee1a2b85d5f56273e34945d49ea3


[ROCm/clr commit: 542d3219dc]
2020-12-03 23:59:10 -05:00
Michael LIAO 07aeadae82 Add initalize _wassert support.
Change-Id: I8922867ec77c975cdb235276fffc3c6272253a11


[ROCm/clr commit: 65f3439a0d]
2020-11-24 11:24:54 -05:00
Aryan Salmanpour 4376b55b25 Add support for hipExtStreamGetCUMask API
Change-Id: I0fa67ad581dd75556f17c7410af2c1d5cb6ae99a


[ROCm/clr commit: 00268eaeed]
2020-11-20 13:41:38 -05:00
Julia Jiang 79807462cb SWDEV-249486-re-organize doxygen HIP API
Change-Id: I3d107de526e428ae16c6dffd97d9388bf54a6358


[ROCm/clr commit: eacb30afcd]
2020-11-11 13:31:56 -05:00
German Andryeyev 321f0964fc Update documentation
Add managed memory section for the doxygen documentation.
No code changes.

Change-Id: I2e9db4ec13422159e265193916f0a3cdb721732d


[ROCm/clr commit: ae8aec4834]
2020-10-23 18:28:43 -04:00
Aaron En Ye Shi ff24c82f34 Fix header for OpenMP AMDGCN support
Add ifndef for __OPENMP_AMDGCN__ target, which shares
these header files with HIP.

Change-Id: I720693cfbcfb7836cd2f361d48530fb55ee3557a


[ROCm/clr commit: 01bd165507]
2020-10-20 14:04:48 -04:00
Aaron En Ye Shi f3c39a8cfa Fix header invalid sqrt fwd decl and ifdef
The __ocml_sqrt_* functions only accept a single arg,
not two args. Also, change ifdef for if because the flag
__HCC_OR_HIP_CLANG__ is always defined.

Change-Id: Id9dc4eaf0f25df1df27a1bf643cb545ac23653f8


[ROCm/clr commit: bd9ed9ad3d]
2020-10-19 18:01:14 +00:00
Julia Jiang a4b94d9d3c SWDEV-249486-Update HIP doxygen
Change-Id: Id32772b8f4d495e0f1bd3cb5cd1ec211a06298c3


[ROCm/clr commit: 5a174daa09]
2020-10-14 13:59:58 -04:00
Sarbojit Sarkar 7e0e5ac4e2 SWDEV-255975: fix for gcc + hip_fp16.h compilation error
Change-Id: Ia152bad4af71a5b53a16e2f9fd9aeeacc61b39ac


[ROCm/clr commit: 40f27ec83a]
2020-10-14 06:57:25 -04:00
Julia Jiang 427cb5bf4c SWDEV-249487-remove two HCC related APIs
Change-Id: Icf90ece0808643e0c5f0cc00b6644d5171b553d8


[ROCm/clr commit: c144b57d54]
2020-10-13 11:08:37 -04:00
agodavar 815e10863c SWDEV-254909:Support for missing texture/array cuda driver types
Change-Id: I9c769f6335ec3e7feacaa8929719c666bff91934


[ROCm/clr commit: fae443cb36]
2020-10-13 05:30:31 -04:00
Sameer Sahasrabuddhe 4a1c0fca7f Do not inline the body of __assert_fail()
The device side assertion calls printf to write out a message. In the
device compiler, printf is expanded into a series of hostcalls that
transmit the printf payload to the host. This expansion increases the
length of the kernel, resulting in sub-optimal compilation. The
solution is to ensure that the assert() implementation is not inlined
into the kernel.

Change-Id: Ia3a075461a755cf007218f262b0863e1926c76aa


[ROCm/clr commit: 160dfb5a1f]
2020-10-10 01:03:04 -04:00
Yaxun (Sam) Liu f3663d440c Fix warpSize for gfx10
Change-Id: I8029ebeb91db1efa8e166ad349aaae6364e8069d


[ROCm/clr commit: 71586b02e3]
2020-10-05 20:45:07 -04:00
Vladislav Sytchenko 7b635ae18c Revert "Revert "Merge branch 'amd-master-next' into amd-npi-next""
This reverts commit 0627e8783b.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I92ceb171e31026ed1864704cef2fc1497b883ef9


[ROCm/clr commit: d5aa0f607d]
2020-10-05 13:20:58 -04:00
Vladislav Sytchenko 0627e8783b Revert "Merge branch 'amd-master-next' into amd-npi-next"
This reverts commit 6c6299acb2.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I53322718dadde2c98f96140b8e260ec7ee9ef721


[ROCm/clr commit: 9142674ef0]
2020-10-05 13:02:39 -04:00
mshivama c0eb26b2e7 Add missing definitions for class static members
The static members __HIP_Coordinates::x, ::y and ::z must be defined
outside the class. Otherwise, linker throws `undefined reference error`
when these definitions are needed in the HIP application.

Change-Id: Iabc09744b478c22e4b13cf9824877ec9cfdd4f7a


[ROCm/clr commit: 9b6d26f8b2]
2020-09-30 03:38:24 -04:00
Sarbojit Sarkar fc2cc1471c SWDEV-253247: add ulong and ulonglong version of__shfl*
Change-Id: I40ab6cfa12175f334e8392b71f567054d8256e2a


[ROCm/clr commit: deeb37412c]
2020-09-30 01:58:22 -04:00
agodavar dc55fb39c0 SWDEV-249870 - Short-Term solution for Pre-Compiled Headers for Online Compilation
Change-Id: Iec989787e546ff2eb68c4b146dc540655698b569


[ROCm/clr commit: 3c9bbc335a]
2020-09-24 12:18:06 -04:00
Rahul Garg e09740cd9b grid size optimization
Change-Id: I68b197548b961e1c0aa63119eecc8d9a25350cf2


[ROCm/clr commit: 590d00dd7c]
2020-09-10 15:10:55 -04:00
agodavar 0db6f96d07 SWDEV-249870 - Short-Term solution for Pre-Compiled Headers for Online Compilation
Change-Id: Ibcb365ce2ff27c4c2379609964078da42e1226b1


[ROCm/clr commit: 38ce8784c0]
2020-09-09 13:44:13 -04:00
Siu Chi Chan f06ca83a59 fix no matching push_macro warmnings
Change-Id: I352fe1170cfc9e8de5307536a21c86f0b483c68e


[ROCm/clr commit: da92c6b8cb]
2020-09-09 11:41:07 -04:00
Jatin Chaudhary a06d43114e Adding dim3 conversion operator to __hip_builtin_threadIdx_t
Change-Id: Ib7f9e45872ec6d48c0e5b7fc93ccecaafaeac754


[ROCm/clr commit: 9d4bdd466a]
2020-08-31 21:30:14 -04:00
mshivama b480989b12 Support public apis for cooperative group types.
Change-Id: I01346afde485e82c34b7868b9241b34c542d0cf9


[ROCm/clr commit: bfb54cc5e9]
2020-08-25 10:50:38 +05:30
Todd tiantuo Li 49910cc949 SWDEV-240803 - add hipFuncSetSharedMemConfig
Change-Id: I160b04677b3e7b99b3981ae7ecc84a0e3811d5e8


[ROCm/clr commit: a243a69e98]
2020-08-20 18:18:24 -04:00
Jatin Chaudhary 6b597909ce Adding Anyorder flag to HIP
Change-Id: Ie20931541b3febe23fa9ac36ebc0c90de75a5f0a


[ROCm/clr commit: 628a308475]
2020-08-17 08:46:52 -04:00
Todd tiantuo Li 4885fa0e48 SWDEV-240803 - add hipFuncSetAttribute and hipFuncAttribute
Change-Id: I3f4d67b19d89fd348fa5b884af4a2542ee4aba60


[ROCm/clr commit: fb43f21044]
2020-08-14 17:39:29 -04:00
Jatin Chaudhary bee94be69d Cuda 11 changes: https://docs.nvidia.com/cuda/cuda-runtime-api/structcudaPointerAttributes.html\#structcudaPointerAttributes
Change-Id: I8a5389b88df286043c365a734983a4c5de352102


[ROCm/clr commit: 94bfd485ef]
2020-08-07 05:33:33 -04:00
kjayapra-amd 7aa68bc3cb SWDEV-240800 - Adding initial support for hipDeviceGetP2PAttribute. Some attr support still pending.
Change-Id: I0611aed136270db497dfa374144f6f5e35352a8f


[ROCm/clr commit: 311fc8c513]
2020-07-22 14:54:34 -04:00
mshivama 3b311d6c70 Add support for few CUDA compatible reduction operations like __syncthreads_count()
Change-Id: I0917820058f0edad5c0bdd42dea37f06353fc63c


[ROCm/clr commit: 1c5537dde4]
2020-07-14 12:03:14 -04:00
Yaxun (Sam) Liu aad28fd31d Add pow(float/double/_Float16,int)
Change-Id: Ie65d15cd3df9853a3bbd613d8c7188ae39c327c7


[ROCm/clr commit: b72e8b54e0]
2020-07-06 07:38:57 -04:00
Ronak Chauhan 845c0a5b8a Support passing macros to hipLaunchKernelGGL
This makes hipLaunchKernelGGL take a variable argument list, that will be
expanded before being fed to hipLaunchKernelGGLInternal.

This is different from 4dfef9a25b.

We try to accomodate the case when a kernel template has multiple
type parameters.

Change-Id: I87577d402c92b0f3b51e298f8293f4065e1f6de8


[ROCm/clr commit: 133251a6e1]
2020-06-30 10:44:55 -04:00
Daniil Fukalov a2e2f9b8c6 Add __attribute__((const)) to grid related functions declarations
This is cherrypick of Daniil Fukalov's PR https://github.com/ROCm-Developer-Tools/HIP/pull/2110
which has been committed to master branch.

Make declarations consistent with https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/amd-stg-open/ockl/src/workitem.cl
Without the attribute these functions don't have "readnone" LLVM IR attribute. Without it some optimizations fails, e.g. Loop Invariant Code Motion doesn't hoist these calls out of a loop.

Change-Id: Idb599570d142152cc4f6a3c8986384ad7f0c4729


[ROCm/clr commit: 359ea4fcaf]
2020-06-29 13:33:18 -04:00
Ronak Nilesh Chauhan 179a9974f4 Revert "Support passing macros to hipLaunchKernelGGL"
This reverts commit 4dfef9a25b.

Reason for revert: This patch breaks ROCPrim tests

Change-Id: Ib2235f719861c9f4317c33e86b6c1f8bc669cfd4


[ROCm/clr commit: b15e835d9e]
2020-06-24 04:28:46 -04:00
Michael LIAO 5e3c45afde [hip] Disable assert workaround for HCC on HIP-Clang.
- HIP-Clang follows the standard assert definition by providing
  `__assert_fail`.  But, `assert` macro is added as an HCC-specific
  workaround due to the missing implementation. Only enable that on the
  HCC compilation to avoid unexpected behaviors on HIP-Clang
  compilation.

Change-Id: I1c9a707baff9b85c30faef58c52ebfe07e3fc3fc


[ROCm/clr commit: 41aedf5273]
2020-06-22 10:33:56 -04:00
Ronak Chauhan 4dfef9a25b Support passing macros to hipLaunchKernelGGL
This makes hipLaunchKernelGGL take a variable argument list, that will be
expanded before being fed to hipLaunchKernelGGLInternal.

Change-Id: Id76e2bf91acd5d68f56a24fc39f219f2eeb06d33


[ROCm/clr commit: fb6bb04f03]
2020-06-22 04:35:29 -04:00
Tao Sang b702f41277 Support numa policy set by user
Add hipHostMallocNumaUser flag to hipHostMalloc() in order to support
numa policy set by user.

Change-Id: I6d70ed539a5f97f27187f2242b68849c0e27e4d6


[ROCm/clr commit: 71c64e98a0]
2020-06-19 21:23:58 -04:00
Yaxun (Sam) Liu 8849a591f7 Fix missing ldexp(float,int)
Change-Id: I2c1553407dfc26948d3ab7aa532eef42a0f6b204


[ROCm/clr commit: 2461135d8a]
2020-06-18 15:16:59 -04:00
German Andryeyev 17bf7b0138 Initial support for HIP managed memory
- Call the new ROCclr interfaces for HMM

Change-Id: I2cd1bf438f712a9e9e328340e7d0c025257ca6c1


[ROCm/clr commit: b182ad9574]
2020-06-15 18:10:41 -04:00
Rahul Garg c2eb3cd2f7 Addback __mbcnt_lo and __mbcnt_hi
Change-Id: Ic3facba2e2245461515799f6a17842da0f5d9933


[ROCm/clr commit: 2d4b865d63]
2020-06-11 21:21:36 -04:00
Dittakavi Satyanvesh a0fbc8fd08 SWDEV-236670 Address Eigen unit test failure by adding __host__ attribute to half2 functions
Change-Id: Ifdc852c30a1b3704871e0ee58cb7a55d3d37fc6e


[ROCm/clr commit: bb785840b9]
2020-06-10 03:01:42 -04:00
Yaxun (Sam) Liu 0d8425ee5a Fix include path and wrapper header
Currently std::complex and some other std functions require uses to
include hip_runtime.h before any other headers to work, which is not
reliable.

changes are made in clang to fix this issue:
https://reviews.llvm.org/D81176

which requires hipcc and HIP headers to make corresponding changes.

This patch will make sure the clang change will not break
HIP/ROCclr during this transition.

After the transition is done, we can remove explicitly setting
include path for HIP-Clang and HIP header in hipcc and hip config
cmake files and rely on clang driver to set it automatically.

Change-Id: I5d226861c2560ffa6c5ab17343a43cc378048061


[ROCm/clr commit: 0a513d8a02]
2020-06-09 17:37:20 -04:00
Siu Chi Chan 1f7c745330 add constexpr constructor for vector types
Change-Id: I45bb0537d6a24ee50b548c2fd8b4f20518764813


[ROCm/clr commit: 4b56aaefd6]
2020-06-04 01:57:03 -04:00
Evgeny ecdca97a00 adding hipGetStreamDeviceId() profiling API
Change-Id: I5ccf88ddac123260d7c17defefcf20ff3b2504e2


[ROCm/clr commit: 0c0a8fc108]
2020-06-03 18:57:49 -04:00
Jatin 216873e9c8 Adding changes for hipExtLaunchKernel for rocCLR
Change-Id: Iba52bc3bde7c37f3fb375a55ba0947e87b3cdc9b


[ROCm/clr commit: 126573df4c]
2020-06-02 14:16:41 -04:00
Evgeny 40f527175f adding hipKernelNameRefByPtr function
Change-Id: Iefc18967b10394b85a207ffdb5bbfe5e3601474d


[ROCm/clr commit: d863edb8ba]
2020-05-28 10:59:48 -04:00
Michael LIAO 5a6bdf5b02 [hip] Those texture interfaces are C interfaces should be always exposed.
Change-Id: Ie34f1420839b17486346149b1672e70ec0088b54


[ROCm/clr commit: cbe2bedf42]
2020-05-27 15:03:59 -04:00