This change addresses three things.
First the available APIs are brought up to par with Cuda (missing ones are added and incorrect ones removed).
Second the size of hip/hcc_detail/texture_functions.h. Using some template magic we can bring down the code size down from ~11k lines to only ~900 lines in total.
Third this change fixes some bugs in the declaration of the texture fetch funcitons. Currently the return type for textures with read mode set to hipReadModeNormalizedFloat is not float. This causes pixel data to be lost during the bitcast when the texture pixel element size is less than the size of float.
The new headers will only be enabled for VDI to avoid breaking HCC.
Change-Id: I77cb29293fb79e55681be094c37702a48d80b64c
[ROCm/clr commit: 3d7945faae]
There are now two implementations of printf in HIP:
1. The implemenation for HCC is controlled by the HC_FEATURE_PRINTF
macro, and it works only with the HCC compiler used in combination
with the HCC runtime.
2. The implementation for hip-clang requires the VDI runtime, and is
always enabled with that combination.
Change-Id: Ibaeda7900ffe2ce602ca0094aafed0f1147ac2b6
[ROCm/clr commit: d48738856c]
Fix compilation error on hip-hcc+clang , hip-vdi+clang
Enabled hipExtLaunchMultiKernelMultiDevice test on hip-vdi path
hipExtLaunchMultiKernelMultiDevice common declaration for all paths
Change-Id: I76031840614fce8e12a8e845548fa43a389a741a
[ROCm/clr commit: 5a6c605730]
Temporarily comment out Hcc-specific template functions
hipExtLaunchKernelGGL and hipOccupancyMaxPotentialBlockSize for CLang
compiler so that all test cases under hip/samples can be built
successfully for Clang + Hip/Hcc runtime.
Change-Id: Iafc761257be4a7b34eafa6759a01f369570cd6ce
[ROCm/clr commit: 15b91e9f1e]
* Device texture functions should not normalize the sampled pixel. This is already done by HW.
* Add support to use h/w capability for normalized float data convertion for driver API's
Co-authored-by: ansurya <50609411+ansurya@users.noreply.github.com>
[ROCm/clr commit: fa363ae721]
* Add missing texturePitchAlignment member to the hipDeviceProp_t struct.
* Add missing hipDeviceAttributeTexturePitchAlignment enumerator to the hipDeviceAttribute_t enum.
* Initialize texturePitchAlignment to 256. This works for gfx9+, but is technically overaligned in most cases for pre-gfx9.
* Add the texturePitchAlignment property to the NVCC path.
[ROCm/clr commit: 6da0c82b78]
Fixes SWDEV-218626 and SWDEV-218629
Changes:
- Revert "`static inline` in a header, just like excess sugar in a diet, causes bloat (#1692)"
This reverts commit 47725baf8c.
- Revert "Fix rocFFT build failure (#1777)"
This reverts commit f7bac3e057.
[ROCm/clr commit: c091635f5a]
HIP_VERSION_MAJOR, HIP_VERSION_MINOR, HIP_VERSION_PATCH and HIP_VERSION pre-processor macros are now defined in hipVersion.h instead of being set by hipcc.
[ROCm/clr commit: 4fd77f8336]
This PR is a follow-up on PR# #1698 and it makes two more APIs (hipLaunchCooperativeKernel/hipLaunchCooperativeKernelMultiDevice) inline so that they can work correctly with lazy binding.
[ROCm/clr commit: 857052be1e]
Step 1. Set the same values for RT error codes as for analogous Driver's
[Reason] RT's and Driver's error codes unification in CUDA 10.2
[ROCm/clr commit: 21b0f64f3a]
* fix linking of vector types when linking hipcc objects with gcc
* use __atribute__((vector_size)) with both clang and gcc
and reinstate nonaligned n=3 vector type
* use implicit conversion to value and ext_vector_type when available
* Alternate formulation for GCC compatibility
* Built-in arrays don't mix well with placement new
* Fix typo
* Add conversions to enum
* Fix Scalar_accessor assignment.
* Update hip_vector_types.h
* stir up the underlying_type hideous mess
This fixes the HIP build issue "error: only enumeration types have underlying types".
[ROCm/clr commit: 280a8ebadf]