Commit Graph

814 Commits

Author SHA1 Message Date
Tao Sang 8a2b0b7424 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
2021-01-05 10:39:31 -05:00
Saleel Kudchadker 08a65054ea Honor hipEventDisableTiming event flag
Change-Id: Ia949db96e81b9af467f04ab40d143e8d6faa9394
2020-12-09 15:10:18 -05:00
Satyanvesh Dittakavi 542d3219dc Modify atomicAdd float to use clang builtin
SWDEV-261229: Change atomicAdd float implementation to use clang builtin
along with deprecating atomicAddNoRet
Change-Id: I5e98034fec54ee1a2b85d5f56273e34945d49ea3
2020-12-03 23:59:10 -05:00
Michael LIAO 65f3439a0d Add initalize _wassert support.
Change-Id: I8922867ec77c975cdb235276fffc3c6272253a11
2020-11-24 11:24:54 -05:00
Aryan Salmanpour 00268eaeed Add support for hipExtStreamGetCUMask API
Change-Id: I0fa67ad581dd75556f17c7410af2c1d5cb6ae99a
2020-11-20 13:41:38 -05:00
Julia Jiang eacb30afcd SWDEV-249486-re-organize doxygen HIP API
Change-Id: I3d107de526e428ae16c6dffd97d9388bf54a6358
2020-11-11 13:31:56 -05:00
German Andryeyev ae8aec4834 Update documentation
Add managed memory section for the doxygen documentation.
No code changes.

Change-Id: I2e9db4ec13422159e265193916f0a3cdb721732d
2020-10-23 18:28:43 -04:00
Aaron En Ye Shi 01bd165507 Fix header for OpenMP AMDGCN support
Add ifndef for __OPENMP_AMDGCN__ target, which shares
these header files with HIP.

Change-Id: I720693cfbcfb7836cd2f361d48530fb55ee3557a
2020-10-20 14:04:48 -04:00
Aaron En Ye Shi bd9ed9ad3d 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
2020-10-19 18:01:14 +00:00
Julia Jiang 5a174daa09 SWDEV-249486-Update HIP doxygen
Change-Id: Id32772b8f4d495e0f1bd3cb5cd1ec211a06298c3
2020-10-14 13:59:58 -04:00
Sarbojit Sarkar 40f27ec83a SWDEV-255975: fix for gcc + hip_fp16.h compilation error
Change-Id: Ia152bad4af71a5b53a16e2f9fd9aeeacc61b39ac
2020-10-14 06:57:25 -04:00
Julia Jiang c144b57d54 SWDEV-249487-remove two HCC related APIs
Change-Id: Icf90ece0808643e0c5f0cc00b6644d5171b553d8
2020-10-13 11:08:37 -04:00
agodavar fae443cb36 SWDEV-254909:Support for missing texture/array cuda driver types
Change-Id: I9c769f6335ec3e7feacaa8929719c666bff91934
2020-10-13 05:30:31 -04:00
Sameer Sahasrabuddhe 160dfb5a1f 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
2020-10-10 01:03:04 -04:00
Yaxun (Sam) Liu 71586b02e3 Fix warpSize for gfx10
Change-Id: I8029ebeb91db1efa8e166ad349aaae6364e8069d
2020-10-05 20:45:07 -04:00
Vladislav Sytchenko d5aa0f607d Revert "Revert "Merge branch 'amd-master-next' into amd-npi-next""
This reverts commit 9142674ef0.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I92ceb171e31026ed1864704cef2fc1497b883ef9
2020-10-05 13:20:58 -04:00
Vladislav Sytchenko 9142674ef0 Revert "Merge branch 'amd-master-next' into amd-npi-next"
This reverts commit d7c02619d6.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I53322718dadde2c98f96140b8e260ec7ee9ef721
2020-10-05 13:02:39 -04:00
mshivama 9b6d26f8b2 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
2020-09-30 03:38:24 -04:00
Sarbojit Sarkar deeb37412c SWDEV-253247: add ulong and ulonglong version of__shfl*
Change-Id: I40ab6cfa12175f334e8392b71f567054d8256e2a
2020-09-30 01:58:22 -04:00
agodavar 3c9bbc335a SWDEV-249870 - Short-Term solution for Pre-Compiled Headers for Online Compilation
Change-Id: Iec989787e546ff2eb68c4b146dc540655698b569
2020-09-24 12:18:06 -04:00
Rahul Garg 590d00dd7c grid size optimization
Change-Id: I68b197548b961e1c0aa63119eecc8d9a25350cf2
2020-09-10 15:10:55 -04:00
agodavar 38ce8784c0 SWDEV-249870 - Short-Term solution for Pre-Compiled Headers for Online Compilation
Change-Id: Ibcb365ce2ff27c4c2379609964078da42e1226b1
2020-09-09 13:44:13 -04:00
Siu Chi Chan da92c6b8cb fix no matching push_macro warmnings
Change-Id: I352fe1170cfc9e8de5307536a21c86f0b483c68e
2020-09-09 11:41:07 -04:00
Jatin Chaudhary 9d4bdd466a Adding dim3 conversion operator to __hip_builtin_threadIdx_t
Change-Id: Ib7f9e45872ec6d48c0e5b7fc93ccecaafaeac754
2020-08-31 21:30:14 -04:00
mshivama bfb54cc5e9 Support public apis for cooperative group types.
Change-Id: I01346afde485e82c34b7868b9241b34c542d0cf9
2020-08-25 10:50:38 +05:30
Todd tiantuo Li a243a69e98 SWDEV-240803 - add hipFuncSetSharedMemConfig
Change-Id: I160b04677b3e7b99b3981ae7ecc84a0e3811d5e8
2020-08-20 18:18:24 -04:00
Jatin Chaudhary 628a308475 Adding Anyorder flag to HIP
Change-Id: Ie20931541b3febe23fa9ac36ebc0c90de75a5f0a
2020-08-17 08:46:52 -04:00
Todd tiantuo Li fb43f21044 SWDEV-240803 - add hipFuncSetAttribute and hipFuncAttribute
Change-Id: I3f4d67b19d89fd348fa5b884af4a2542ee4aba60
2020-08-14 17:39:29 -04:00
Jatin Chaudhary 94bfd485ef Cuda 11 changes: https://docs.nvidia.com/cuda/cuda-runtime-api/structcudaPointerAttributes.html\#structcudaPointerAttributes
Change-Id: I8a5389b88df286043c365a734983a4c5de352102
2020-08-07 05:33:33 -04:00
kjayapra-amd 311fc8c513 SWDEV-240800 - Adding initial support for hipDeviceGetP2PAttribute. Some attr support still pending.
Change-Id: I0611aed136270db497dfa374144f6f5e35352a8f
2020-07-22 14:54:34 -04:00
mshivama 1c5537dde4 Add support for few CUDA compatible reduction operations like __syncthreads_count()
Change-Id: I0917820058f0edad5c0bdd42dea37f06353fc63c
2020-07-14 12:03:14 -04:00
Yaxun (Sam) Liu b72e8b54e0 Add pow(float/double/_Float16,int)
Change-Id: Ie65d15cd3df9853a3bbd613d8c7188ae39c327c7
2020-07-06 07:38:57 -04:00
Ronak Chauhan 133251a6e1 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 fb6bb04f03.

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

Change-Id: I87577d402c92b0f3b51e298f8293f4065e1f6de8
2020-06-30 10:44:55 -04:00
Daniil Fukalov 359ea4fcaf 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
2020-06-29 13:33:18 -04:00
Ronak Nilesh Chauhan b15e835d9e Revert "Support passing macros to hipLaunchKernelGGL"
This reverts commit fb6bb04f03.

Reason for revert: This patch breaks ROCPrim tests

Change-Id: Ib2235f719861c9f4317c33e86b6c1f8bc669cfd4
2020-06-24 04:28:46 -04:00
Michael LIAO 41aedf5273 [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
2020-06-22 10:33:56 -04:00
Ronak Chauhan fb6bb04f03 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
2020-06-22 04:35:29 -04:00
Tao Sang 71c64e98a0 Support numa policy set by user
Add hipHostMallocNumaUser flag to hipHostMalloc() in order to support
numa policy set by user.

Change-Id: I6d70ed539a5f97f27187f2242b68849c0e27e4d6
2020-06-19 21:23:58 -04:00
Yaxun (Sam) Liu 2461135d8a Fix missing ldexp(float,int)
Change-Id: I2c1553407dfc26948d3ab7aa532eef42a0f6b204
2020-06-18 15:16:59 -04:00
German Andryeyev b182ad9574 Initial support for HIP managed memory
- Call the new ROCclr interfaces for HMM

Change-Id: I2cd1bf438f712a9e9e328340e7d0c025257ca6c1
2020-06-15 18:10:41 -04:00
Rahul Garg 2d4b865d63 Addback __mbcnt_lo and __mbcnt_hi
Change-Id: Ic3facba2e2245461515799f6a17842da0f5d9933
2020-06-11 21:21:36 -04:00
Dittakavi Satyanvesh bb785840b9 SWDEV-236670 Address Eigen unit test failure by adding __host__ attribute to half2 functions
Change-Id: Ifdc852c30a1b3704871e0ee58cb7a55d3d37fc6e
2020-06-10 03:01:42 -04:00
Yaxun (Sam) Liu 0a513d8a02 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
2020-06-09 17:37:20 -04:00
Siu Chi Chan 4b56aaefd6 add constexpr constructor for vector types
Change-Id: I45bb0537d6a24ee50b548c2fd8b4f20518764813
2020-06-04 01:57:03 -04:00
Evgeny 0c0a8fc108 adding hipGetStreamDeviceId() profiling API
Change-Id: I5ccf88ddac123260d7c17defefcf20ff3b2504e2
2020-06-03 18:57:49 -04:00
Jatin 126573df4c Adding changes for hipExtLaunchKernel for rocCLR
Change-Id: Iba52bc3bde7c37f3fb375a55ba0947e87b3cdc9b
2020-06-02 14:16:41 -04:00
Evgeny d863edb8ba adding hipKernelNameRefByPtr function
Change-Id: Iefc18967b10394b85a207ffdb5bbfe5e3601474d
2020-05-28 10:59:48 -04:00
Michael LIAO cbe2bedf42 [hip] Those texture interfaces are C interfaces should be always exposed.
Change-Id: Ie34f1420839b17486346149b1672e70ec0088b54
2020-05-27 15:03:59 -04:00
Sarbojit Sarkar e288338e4a [doc]shfl*sync update
1. Updated FAQ with shft*sync not supported hip_faq.md
2. Corrected some of input parameter description in hcc_details/hip_runtime_api.h
3. Redirect shfl*() to shfl_*_sync() for nvcc path where CUDA > 9.0

Change-Id: I3d8184db5fcc622852c9bad96b706348e8dfc16c
2020-05-27 02:17:40 -04:00
Mahesha Shivamallappa f4e6dec3ac Add support for cooperative group type - thread_block
Change-Id: If3770b6d6718a638b70f527ae2533d9ef3267ff4
2020-05-22 23:08:42 -04:00