Commit Graph

1206 Commits

Author SHA1 Message Date
Yaxun (Sam) Liu f79898e90e Enable template max and min for HIP-Clang (#2028)
It was for HCC only. HIP-Clang also needs it for __fp16 since AMDMIGraphX uses it.

Change-Id: Id49322b7b89ef799accdf6b47627a6fce51d1ab5

[ROCm/hip commit: 808dae6813]
2020-04-24 12:30:28 -07:00
Maneesh Gupta 8e137a6ec1 Merge in the rocclr based hip runtime (#2032)
* Merge master-next changes in master (include vdi development in master branch)



[ROCm/hip commit: a0b5dfd625]
2020-04-23 09:12:06 -07:00
Aryan Salmanpour fb3bedb154 disable printf on hip-clang on Windows (#2021)
[ROCm/hip commit: 386a0e0123]
2020-04-17 10:33:24 +05:30
Jeff Daily e428d45eb2 add IPC event support (#1996)
[ROCm/hip commit: ef596cd088]
2020-04-17 10:31:22 +05:30
Yaxun (Sam) Liu 3207f06462 Disable device side malloc (#2009)
* Disable device side malloc

Currently device side malloc is not working and takes excessive
device memory.

Disable it for now until a working malloc is implemented.

Change-Id: I1ad908c1c53a83752383b4be96688a848642c699

[ROCm/hip commit: 8d83e95457]
2020-04-14 16:07:14 +05:30
Rahul Garg 003d776e72 Rename hipDrvOccupancy to hipModuleOccupancy and match CUDA syntax (#1943)
[ROCm/hip commit: ba8a556ea9]
2020-04-07 14:02:52 +05:30
lmoriche 20be734e5e Don't duplicate embedded code objects (#1991)
If the code object is embedded in an already mapped file, and the
lifetime of the mapped file exceeds the lifetime of the executable,
we do not need to make a copy of the binary.

This allows the ROCR to present the code object URI as
file:///path/to/file#offset=X&size=Y.

[ROCm/hip commit: 9de5e90ab5]
2020-04-06 15:37:35 +05:30
ansurya f59ed79983 Initial support for bfloat16 (#1980)
[ROCm/hip commit: 770e76e752]
2020-04-06 15:35:43 +05:30
Yaxun (Sam) Liu c636253a71 Fix ambiguity of fma for _Float16 for libc++ (#1976)
libc++ defines fma as template function for auto promotion of mixed-type
arguments. libc++ does not handle _Float16 as _Float16 is not a supported
type by C++ standard. As such, it is unlikely we can commit our fix for
_Float16 to libc++ trunk.

Therefore we handle _Float16 with a template specialization of
__numeric_type in HIP headers.

Change-Id: If01960a657ebf1a7a67463cdcf66fab7458dff3c

[ROCm/hip commit: 4af2106d10]
2020-04-06 15:35:18 +05:30
Maneesh Gupta 0ee021d444 Remove address_space(1) typecast and use __ockl_atomic_add_noret_f32 (#1956)
* Remove address_space(1) typecast for ockl_global_atomic_add_f32
* use __ockl_atomic_add_noret_f32

[ROCm/hip commit: cbc3d1713f]
2020-03-28 17:28:33 +05:30
Siu Chi Chan e58a0d06f7 don't expose symbols from code_object_bundle (#1971)
Change-Id: I56479485aad42c3d517fe6d9055be1cd846eeb00

[ROCm/hip commit: 43abf84f54]
2020-03-27 14:09:07 +05:30
Sarbojit2019 59cf17fb32 Fix for __usad issue (#1972)
Fixes #1930

[ROCm/hip commit: 5024f9057a]
2020-03-26 17:09:44 +05:30
Benjamin Sherman d9d1017168 Add const qualifiers to HIP_vector_type unary arithmetic operators (#1965)
Resolves issue #1960

[ROCm/hip commit: 3d38135ae2]
2020-03-26 17:09:00 +05:30
Joseph Greathouse cb69c6037c Fix cooperative launch APIs to set hipGetLastError (#1935)
* Fix cooperative launch APIs to set hipGetLastError

Previously, the cooperative launch APIs did not properly log their
errors in the global hipGetLastError variable before returning back
to the user. As such, the APIs would leave hipSuccess in the
last error, which would break some use cases.

This fixes that problem by making a trampoline function that does
the HIP_INIT_API and ihipLogStatus.

* Add missing flag to the log of multi-GPU launch

[ROCm/hip commit: f61b79d9a3]
2020-03-25 14:39:24 -07:00
Nick Curtis 15ea4194c4 Update hip_runtime_api.h (#1966)
Correct URL for deprecated api list

[ROCm/hip commit: b4c69a2e4a]
2020-03-23 10:16:24 -07:00
Yaxun (Sam) Liu e05e7d063e Workaround for libc++ include path for HIP-Clang (#1917)
HIP-Clang cuda_wrapper headers require clang include path before standard C++ include path.
However libc++ include path requires to be before clang include path.
To workaround this, we pass -isystem with the parent directory of clang include
path instead of the clang include path itself.

[ROCm/hip commit: 08d9759eba]
2020-03-18 11:20:21 +05:30
Jatin Chaudhary 1bc892c6f2 Adding Half Abs APIs (#1902)
[ROCm/hip commit: 16a6a94fbf]
2020-03-17 14:13:19 +05:30
Sameer Sahasrabuddhe 7ab3583c60 enable HCC printf when using hip-clang (#1947)
This allows printf to work with hip-clang and HCC runtime. See comments under #1919 for a reported bug and feature request.

[ROCm/hip commit: 899c878703]
2020-03-17 14:03:27 +05:30
Joseph Greathouse 504ba0a4c9 Fix compiler warning on NVCC path (#1942)
GCC emits a warning about using static functions like
hipCUDAErrorTohipError inside this function, because it has an
inline directive, but it's not static. Adding static to this function
to silence warnings (and prevent potential problems in the future).

[ROCm/hip commit: f7e85649f4]
2020-03-17 14:02:59 +05:30
Joseph Greathouse 122c2f9034 Fix occupancy calculations API on NVCC (#1941)
NVCC warned if you tried to use hipOccupancyMaxActiveBlocksPerMultiprocessor
because when passing in a device function pointer, "const void* func" was
insufficient to describe it accurately. Adding a C++ templated class type
definition for this function.

[ROCm/hip commit: 4128d68ed7]
2020-03-17 14:02:48 +05:30
Sarbojit2019 0310e4d7f8 Fix __sad signature match with Cuda (#1936)
Fix for issue #1930

[ROCm/hip commit: 320742e8a0]
2020-03-17 14:02:00 +05:30
Aryan Salmanpour 03654845a4 [HIP] add cooperative kernel launch APIs on NVCC (#1929)
[ROCm/hip commit: 015895a265]
2020-03-17 14:01:11 +05:30
Maneesh Gupta 8feab1161e Annotate __constant__ (#1901)
[ROCm/hip commit: eee5cc8621]
2020-03-17 13:59:44 +05:30
mhbliao e0da34b5b1 [hip] Improve the portability of the header for vector type support. (#1873)
- Need to check the availability of `__has_attribute` builtin macro
  instead of compiler versions. That's more reliable and portable among
  various compilers.
- Provides a very basic support of vectors for unknown compilers.

[ROCm/hip commit: 774035d869]
2020-03-17 13:59:24 +05:30
Evgeny Mankov 6039400c04 Merge pull request #1908 from asalmanp/prop_mulit_coop
[HIP] add hip specific properties for cooperative kernel multi device

[ROCm/hip commit: 70f5646f8a]
2020-03-12 19:12:11 +03:00
Alex Voicu 8cecdaa704 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_robust_constant
[ROCm/hip commit: 1c5f526e6b]
2020-03-12 14:20:26 +00:00
Maneesh Gupta d44d5f8cdd Expose support for non-returning atomic FADD (#1909)
Change-Id: If5359488324477315a9bd4f308a75f606c065b39

[ROCm/hip commit: 0726abf424]
2020-03-11 14:33:15 +05:30
Nick Curtis 98b7cb62aa Fix incorrect shfl_xor for Windows
copy/paste error, need __shfl_xor w/ lane_mask

[ROCm/hip commit: 09edc7e49c]
2020-03-10 12:04:05 -05:00
Sameer Sahasrabuddhe 07abb2d633 separate printf declaration for vdi/clang
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.


[ROCm/hip commit: 09130b3b92]
2020-03-09 09:40:05 +05:30
Aryan Salmanpour feb28352cb move new enums to the end to maintain compatibility
[ROCm/hip commit: 7e45c54ea6]
2020-03-06 11:38:44 -05:00
Maneesh Gupta 08ed6ab780 Expose support for non-returning atomic FADD
Change-Id: If5359488324477315a9bd4f308a75f606c065b39


[ROCm/hip commit: 4a40010ac6]
2020-03-05 10:30:52 +05:30
Aryan Salmanpour df81136734 [HIP] add hip specific properties for cooperative kernel multi device
[ROCm/hip commit: 03797ae986]
2020-03-03 13:25:36 -05:00
Alex Voicu abbb594f7c Annotate __constant__
[ROCm/hip commit: 27480ff5a2]
2020-02-28 22:54:00 +02:00
saleelk 3c66b171e1 Fix HIPRTC headers to export C style symbols (#1879)
[ROCm/hip commit: 3e1f41c165]
2020-02-28 16:47:29 +05:30
Rahul Garg c34c9a4b4d Remove deprecated HIP markers (#1876)
[ROCm/hip commit: 6c5fa32815]
2020-02-28 16:47:15 +05:30
Rahul Garg 5229ffff99 Add hipDrvOccupancyMaxActiveBlocksPerMultiprocessor[WithFlags] (#1854)
Equivalent to cuOccupancyMaxActiveBlocksPerMultiprocessor[WithFlags].

[ROCm/hip commit: edc97f3073]
2020-02-28 16:46:55 +05:30
Nick Curtis 2715d1b036 fix long shuffle implementations for windows (#1895)
Fixes for SWDEV-223694

[ROCm/hip commit: b7dd073d93]
2020-02-26 15:53:56 +05:30
Rahul Garg f1746197c7 Fix hipMemcpy3D (#1798)
Fixes #1790 and #1791. hipMemcpy3D still requires further refactoring for different input and output combinations.

[ROCm/hip commit: 8c5e5e435b]
2020-02-17 19:35:35 +05:30
Nick Curtis 6d661ba6ca Implement long / long long shuffles (#1829)
Implement additional data-types for shuffles (long and long long).
Based upon the double implementation.


[ROCm/hip commit: 797a929a65]
2020-02-15 09:51:09 +05:30
ansurya fb53186682 Reduce GPU copying based on arch it runs on (#1751)
Implements SWDEV-213230.

[ROCm/hip commit: 8c6934223b]
2020-02-13 14:21:51 +05:30
Aryan Salmanpour 07c3e4f898 fix build error in nvcc path
[ROCm/hip commit: 959f1b0f0e]
2020-02-11 12:16:51 -05:00
Aryan Salmanpour 5db60dab96 Fix a typo causing a build error
[ROCm/hip commit: 5a29f27455]
2020-02-10 11:44:40 -05:00
Aryan Salmanpour 964a272004 resolve merge conflict
[ROCm/hip commit: 874b201ee2]
2020-02-10 10:30:55 -05:00
Maneesh Gupta 7753b3e827 Revert "Match Occupancy APIs syntax with CUDA (#1625)" (#1857)
Reverting this for now till we figure out how to avoid the build
breakage.

This reverts commit e38db9fb6f.

[ROCm/hip commit: f8e1c01900]
2020-02-10 10:45:28 +05:30
Alex Voicu 5d5344eea1 (Maybe) Match alignment between Clang and GCC. (#1789)
Should fix #1740 and the related internal bug.

[ROCm/hip commit: dd34ea95d6]
2020-02-10 10:44:49 +05:30
vsytch e5243c1834 Device texture functions should not normalize the sampled pixel (#1826)
* 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/hip commit: ef514eef71]
2020-02-05 20:56:17 +05:30
Aryan Salmanpour adc9134318 code clean up
[ROCm/hip commit: c8137263d6]
2020-01-31 13:08:25 -05:00
Aryan Salmanpour 78a36b4fb8 [HIP][HIPIFY] Add some missing flags for cooperative launch and occupancy APIs
[ROCm/hip commit: 6e867eacb6]
2020-01-30 15:05:53 -05:00
satyanveshd e38db9fb6f Match Occupancy APIs syntax with CUDA (#1625)
* Match Occupancy APIs syntax with CUDA and fix tests using these APIs


[ROCm/hip commit: fa98798b63]
2020-01-29 13:05:53 -08:00
vsytch 1af35a6044 Add missing texturePitchAlignment member to the hipDeviceProp_t struct. (#1802)
* 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/hip commit: f72a669487]
2020-01-27 16:37:00 -08:00