Commit Graph

46 Commits

Author SHA1 Message Date
German Andryeyev 2b3a4e711b SWDEV-240804 - Add hipMemAdvise() extension
Add coarse grain memory extension. The new advice will allow HMM
to disable cache coherency policy to improve performance

Change-Id: I3c792d6a96896b983a7ffccddaa0ded06d183212
2021-06-02 16:16:14 -04:00
Joseph Greathouse 3212fdf4d6 SWDEV-288361 - Implement funnel shift operators
Change-Id: I0c73809366f2d21e75f98fdeac7fed0c7591ee34
2021-06-01 11:10:11 -04:00
German Andryeyev 0e11c59272 SWDEV-240804 - Fix typos in the comments
Change-Id: Ic1385daf1e685772b02a11d43fb13f6cde74c4b7
2021-05-29 00:31:46 -04:00
Aaron En Ye Shi 414c80644b SWDEV-283266 - Workaround RTC macro in vector types
Temporarily disable __HIPCC_RTC__ in hip_vector_types.h
while the upstream clang headers are outdated on mainline.
Once upstream patch has landed in mainline, revert this
change. This is a workaround for hiprtc testing.

Change-Id: Ib2cf6023b71431bbfbe3c699076caa4f90f7170c
2021-05-21 15:53:59 +00:00
Tao Sang 26235f49e6 SWDEV-282588 - Improve clock64()
Let clock64() read s_memtime to prevent rolling over
Add wall_clock64() to read s_memrealtime

Change-Id: I706387355add75852c570be2656131ef99e8968f
2021-05-17 13:19:04 -04:00
Aaron En Ye Shi dd643ec517 SWDEV-263959 - Fix device decl with long and llong
Windows may expect long and ulong to be 4 bytes, while
Linux expects 8 bytes. Instead, use uint64_t for
unsigned long, and unsigned long long, and use int64_t
for long and long long to be consistent.

Change-Id: I6ed1cdde43721bcaaab0245644d607b1adbf9884
2021-05-14 11:59:27 -04:00
pghafari ccff5216f0 SWDEV-245532 - HIP - Vulkan interop semaphores
Change-Id: I89be5ee84d4728d76e1987d5016c944c0dbc9a96
2021-05-11 11:44:59 -04:00
Aaron En Ye Shi 688693e9fd SWDEV-283266 - __HIPCC_RTC__ macro added to HIP headers
For hipRTC on Windows, add macro __HIPCC_RTC__ to allow
online compilation of with device functions excluding standard
C/C++ headers, system headers, and host HIP APIs.

Change-Id: I1d91f042baf1359856ec83ab7030dc58785e0334
2021-05-10 17:28:07 +00:00
Anusha Godavarthy Surya 8cc0e04239 SWDEV-240806 - Initial commit for hipGraph and stream capture infrastructure
On StreamBegincapture captures the parameters passed to APIs and respective node will be created and added to graph
All parameters are passed to STREAM_CAPTURE macro, it checks if stream in capture mode and redirects the call to the capture function and returns
Updated hipStream and hipEvent with capture parameters
Added handling for hipStreamBeginCapture & hipStreamEndCapture

Change-Id: Ic8926a7b4336c2cc81f0b3a9a224aa392c474134
2021-05-07 17:38:16 -04:00
Anusha GodavarthySurya e9cc056d25 SWDEV-271978 - Function __byte_perm to match CUDA behavior
Selector indices are as follows (the upper 16-bits of the selector are not used): selector[0] = s<2:0> selector[1] = s<6:4> selector[2] = s<10:8> selector[3] = s<14:12>

Change-Id: Ibf76c6ec2374f1f5b9bba8bd9dbd73660f830eea
2021-05-05 03:00:32 -04:00
kjayapra-amd 31d412c292 SWDEV-245533 - Implementing Mipmap array APIs
Change-Id: I222c8d0fcbd50cdefd702462e689463bb36366d2
2021-04-30 16:33:43 -04:00
Yaxun (Sam) Liu 37b90c2f64 SWDEV-255234 - remove workaround for warpSize after clang fix is released
The workaround is no longer needed as the compiler emits the macro itself.

Change-Id: I6a06e73353628bcea71f6bd23503ab6d8e42a29d
2021-04-26 08:49:15 -04:00
Sourabh Betigeri 0a0b026304 SWDEV-256723 - Added group partitioning feature in ROCm CG.
Change-Id: Ie54046feef3baba857a7068972ec1fc0a60c2df9
2021-04-19 18:53:17 -04:00
Julia Jiang cb22874ebd SWDEV-270961 - Update hip_programming_guide.md for event handling
Change-Id: Ieadac9972e5ee13c05ccb42a679866f494f96f47
2021-04-16 12:14:25 -04:00
Satyanvesh Dittakavi 009543ec7a SWDEV-281504 - Rename structure names to use reserved names in HIP headers
HIP headers use few structure names as X, Y, and Z. This causes
compilation issues when the apps use similar names as macros.
Renamed the struct names to use reserved names such as
__X, __Y and __Z

Change-Id: I59416c3734f274e853c87d4856b7e616f6cee5f5
2021-04-15 09:52:58 -04:00
kjayapra-amd 61d1eaa522 SWDEV-274276 - Implement system scope atomics to _system builtins. Default atomics will map to agent.
Change-Id: I63b13063274418e96d4be0159c779127b166bea5
(cherry picked from commit 7c4ae8ca1daac0b75ac36c4e4a45b8d13f219d14)
2021-04-09 10:23:32 -04:00
Sarbojit Sarkar 9cbb283771 SWDEV-280131 - Fix __half2 member access bug
Change-Id: Ic11750d18e4ba47446a7e494c3089a19cb4df783
2021-04-07 12:12:02 -04:00
pghafari a9304f6111 SWDEV-245532 - HIP - Vulkan interop
Change-Id: Iba1ef8112e318b4f099da5a4a4602e0dae7de9e3
2021-03-31 10:23:31 -04:00
Sarbojit Sarkar b7a03695c3 SWDEV-277926 - Updated deprecated APIs in Cuda
Change-Id: I9ff655af227b245067eb760325c395bb562696ee
2021-03-29 01:19:19 -04:00
Satyanvesh Dittakavi 68abfb4aff SWDEV-277152 - Add hipMemcpy2DToArrayAsync API in headers
Also, address few scenarios for hipMemcpy2DToArray/Async to return
proper error types

Change-Id: Idbadf666a5e7bebc0f3ea8b7048b79208e04cf6b
2021-03-27 13:50:38 -04:00
jujiang cc69e95c1a SWDEV-277423 - Correct hipStreamWaitValue doxygen format
Change-Id: I8914c14cb7a05d5d0bdfa054af14765c872c70a6
2021-03-19 14:10:41 -04:00
cjatin 06fa63df04 SWDEV-272811 - Using OCML functions for conversion of fp to int
Change-Id: Id0c02bf6a2e0553d522035b078a9db4cd3fad215
2021-03-18 11:43:30 -04:00
Ravi C Akkenapally 397bac37a3 SWDEV-276827 - Stream Operations: match API with CUDA
Change-Id: Ia79a950561e97df3b2229f76f5512dede2babf98
2021-03-18 07:52:29 -07:00
Tao Sang 629ea5fe19 SWDEV-273943 - Enable runtimeApi.event dtest
Add device_id_ in hip::event to match cuda behaviour in
hipEventQuery() and hipEventRecord().
Enable hipEventElapsedTime test on AMD platform.
Workarround sporadic crash of hipEventIpc test due to
some bug of event ipc.
Add missing hipEventDestroy() in some event tests.
Fix some logic code errors.
Fix typo in comment.

Change-Id: I9ec74c475161b3e31df48d193449023e921f2924
2021-03-16 17:12:08 -04:00
jujiang 3126196cca SWDEV-270961 - Add doxygen for Texture APIs
Change-Id: I4038320a638292440d9ca8c23ffcabffcd9a48c2
2021-03-09 16:23:56 -05:00
Arya.Rafii 8cb232ddef SWDEV-269246 - Implementation of hipDrvMemcpy2DUnaligned
Change-Id: I86fdd3b930cbd74c45cd31944f0ea52c0ff65a59
2021-03-04 14:38:06 -05:00
Arya.Rafii 9f142f988d SWDEV-269246 - Added missing exports for hipArrayDestroy
Change-Id: I730814720bb618e895efbe2f412e437110bed8bc
2021-03-04 14:29:16 -05:00
Ravi C Akkenapally fd0f49503f SWDEV-179105 - Stream Operations: Add swqupport for Wait and Write
Change-Id: I9d6d0665d12b62fe705ce1569a0e8264a4f23ab7
2021-03-02 12:15:46 -08:00
Vladislav Sytchenko 1f8bdcaf20 SWDEV-232428 - Enable device printf for Windows
Change-Id: Id72cfc34cfcfcbcb459bd8d84979637eaf7947dd
2021-02-26 11:46:38 -05:00
Jatin Chaudhary 474493b929 SWDEV-272811 - hipCabs returns a double and uses sqrtf, which maps to f32 operation. sqrt should be used instead
Change-Id: I4f74ee8853113fcebfa508bea9308ae93c7ad13b
2021-02-25 08:47:19 -05:00
Jatin Chaudhary 3f6bf4c260 SWDEV-268531 - Fixing shadow variable warning in vector_types
Change-Id: Ic57e22853529a953582c9194d09133a5aab989aa
2021-02-16 06:51:37 -05:00
Maneesh Gupta 42ab466904 SWDEV-271416 - Keep HIP_DYNAMIC_SHARED macro for compat with existing HIP apps
Change-Id: I536e0c65d6e8696cbc369082350834abd710abca
2021-02-16 00:09:48 -05:00
Maneesh Gupta 18234e1d24 SWDEV-269351 - Revert "Implement assert() using the new fprintf_stderr facility"
This reverts commit 2cac768a07.

Reverting since this is dependent on a device libs change which is not yet in mainline.

Change-Id: I094781b868f39995d1eecb41488c1a1a0147b787
2021-02-12 03:46:17 -05:00
cjatin 9a2e762ccb SWDEV-268531 - Fixing shadow varible warning seen with hip vector usage
Change-Id: I9e20a41e74e473b328cc173f2c27b06352128c88
2021-02-09 13:33:12 -05:00
Julia Jiang e4fdbfcf5b SWDEV-271416 - Remove HIP_DYNAMIC_SHARED macro in hip
Change-Id: I12f39ea8438eb7ce76d8ffb2151b4faa93689048
2021-02-08 13:17:46 -05:00
Sarbojit Sarkar cee3e1aa37 SWDEV-265469 - added constexpr constructor for dim3
Change-Id: I2e23a403f272d1ff0ade24fec11190d2f3244e5f
2021-01-28 13:23:51 -05:00
Satyanvesh Dittakavi 8da9f4d432 SWDEV-268989 - Modify atomicAdd double to use clang builtin
Change-Id: If9d40046df2f3f5af7cc1bd6c935fbe7d686e7d8
2021-01-20 02:39:15 -05:00
Sameer Sahasrabuddhe 2cac768a07 Implement assert() using the new fprintf_stderr facility
The device library now provides functions to specify the host stderr
stream in a hostcall printf message. This change implements an
assert() macro which can construct such a message. The end result is
that assertions on the device are now correctly printed on the host
stderr instead of stdout.

Change-Id: I85ab8f7848bcf28303cb8dbb8a798bc6aece7d75
2021-01-17 23:54:46 -05:00
Satyanvesh Dittakavi 84cda7f9c2 device property __HIP_ARCH_HAS_SHARED_INT64_ATOMICS__ set to 1 as it has compiler support
Change-Id: Ic91c4955d4f2d52d844471f81e6f0d19418018f5
2021-01-15 11:40:09 -05:00
Tao Sang 149254f7f8 Workarround for rocThrust building failure
Define the following for workarround of rocThrust building failure,
HIP_INCLUDE_HIP_HCC_DETAIL_DRIVER_TYPES_H
HIP_INCLUDE_HIP_HCC_DETAIL_HOST_DEFINES_H

Change-Id: I1ae48677eafd749d6c25bca204c1724b026be22f
2021-01-12 11:31:06 -05:00
Michael LIAO 6b9c1744e9 Remove checking on double.
- All conversions among floating point types should be allowed.

Change-Id: I6223bece51f5b2a535ab3369c5c4380f18acc74d
2021-01-11 11:33:33 -05:00
Sameer Sahasrabuddhe 3558643c64 Identifiers with a double underscore "anywhere" are reserved
This particular cleanup is limited to just two functions defined in
the HIP headers.

Change-Id: Ib529685265f2fda90e009b24e7e756e0cf363012
2021-01-11 15:09:53 +05:30
Saleel Kudchadker dab9ae32b2 Update documentation for hipEventCreateWithFlags
Change-Id: I2658bd95df0d3a802cce4ffcb8dfd40e7055b0f7
2021-01-08 16:32:57 -05:00
Rahul Garg 3829645039 Add IPC Events support
Change-Id: Iac2bf3d5e1d9a993bebbb066c20d300d6f05558b
2021-01-08 20:09:26 +00:00
Tao Sang d504a761ad Remove hip-hcc codes: Part four
Remove __HCC__, __HCC_ONLY__, __HCC_CPP__, __HCC_C__,
__HCC_OR_HIP_CLANG__, __HIP_ROCclr__ and their guarded codes.

Remove Hcc codes from directed_tests and samples.

Remove __HIP_PLATFORM_HCC__ and __HIP_PLATFORM_NVCC__ from
some files where they are not necessary.

Add deprecation notice.

Change-Id: I1ae467eafd749d6c25bca204c1724b026be21fce
2021-01-08 10:53:34 -05:00
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