Commit Graph

186 Commits

Author SHA1 Message Date
Sarbojit Sarkar e22f2e1714 SWDEV-323441 - support for default stream per thread
Change-Id: I0032da0357f5cffbf5e4ec4a02435d2a128a262b


[ROCm/clr commit: fc1f02bbed]
2022-04-18 23:19:55 -04:00
Sarbojit Sarkar bb53dfb244 SWDEV-325799 - Fix segfault with hipStreamPerThread
Change-Id: Ie6d4bf55131d65590234796443373b968a21b3d2


[ROCm/clr commit: 53b4888113]
2022-03-07 06:19:05 -05:00
Saleel Kudchadker 8139cc4683 SWDEV-301667 - Fix build warnings
Change-Id: Ice23b3d1a19a7958ca5c3caff34db2934b361a98


[ROCm/clr commit: 086aee0fcb]
2022-03-02 20:49:18 -05:00
Satyanvesh Dittakavi 51f8fc06e1 SWDEV-306940 - Fix hipamd errors/warnings found by CppCheck
Change-Id: Ia93d4f5262ea4269d8031edbfd27033b887e5300


[ROCm/clr commit: 6e562f4d83]
2022-02-05 08:42:47 -05:00
Sarbojit Sarkar 8f0c0822ad SWDEV-313905 - Fix segfault
Change-Id: I7b7bbe80a169014b5d4a8de134351b9f8bf11735


[ROCm/clr commit: 017603703b]
2022-01-11 23:40:25 -05:00
Tao Sang 68c75c9fb7 SWDEV-303204 - Disable texture/image Apis on some devices
If the target device doesn't support image,
compiler will send out unavailable error if device texture apis
are called; and host texture apis will return hipErrorNotSupported.
Remove useless include/hip/amd_detail/texture_functions.h.
Add hipDeviceAttributeImageSupport attribute to check image
support in runtime.
Add __HIP_NO_IMAGE_SUPPORT(=1) macro in device code to indicate
texture apis not supported.
Change-Id: Ia891493e681a61980a2444859a90e046a9ebea39


[ROCm/clr commit: 5acc8b5102]
2021-12-04 08:14:08 -05:00
anusha GodavarthySurya 81fa107364 SWDEV-307915 - hipHccModuleLaunchKernel correct event timing
Change-Id: I397a3d6cf0cf8639666befb9ed7a357c6753741c


[ROCm/clr commit: 8d30df5ccf]
2021-10-25 21:46:46 -07:00
German Andryeyev cfed4577c0 SWDEV-303567 - Correct events for hipHccModuleLaunchKernel
Start event should be collected before the kernel launch.
End event can use the command from the kernel launch.

Change-Id: I5413c340280be680b15a44daa0c69b21ed314213


[ROCm/clr commit: 981508b2af]
2021-10-25 16:56:37 -04:00
anusha GodavarthySurya 20e5aace05 SWDEV-24806 - Added support for event wait and event record graph APIs
hip graph implementation for APIs AddEventRecordNode, AddEventWaitNode, EventRecordNodeGetEvent, EventWaitNodeGetEvent, EventRecordNodeSetEvent,EventWaitNodeSetEvent, ExecEventRecordNodeSetEvent, ExecEventWaitNodeSetEvent

Change-Id: Ifde51f4591067795d6cbf5595372cbdbd8a7bc26


[ROCm/clr commit: f6456c5e27]
2021-10-06 00:31:42 -07:00
Laurent Morichetti cb2eaff241 SWDEV-252801 - Fix return HIP_RETURN(x)
HIP_RETURN(x) is not a value, it is a statement ending with a return,
this commit replaces all instances of "return HIP_RETURN(x)" with simply
"HIP_RETURN(x)"

Change-Id: I03293b2684a65367ff55e02b3a71ea49ec7a517a


[ROCm/clr commit: 3911184607]
2021-09-09 12:19:41 -07:00
Julia Jiang 6883ccde42 SWDEV-286322 - Remove execution permission
Change-Id: I96e603fc8d407c3a76fa1053bad81e45744b59ad


[ROCm/clr commit: 8835b897d5]
2021-08-05 14:04:06 -04:00
Tao Sang 46737b278a SWDEV-294596 - Make hipModuleGetGlobal match cuda
Make hipModuleGetGlobal match cuModuleGetGlobal behavour.
That is, if one of the first two parameters is nullptr, ignore it.

Change-Id: I3fe6dbc35a7b14aa9119df297b7885df83d28048


[ROCm/clr commit: b58355b065]
2021-07-23 23:06:56 -04:00
agunashe fae697b4d6 SWDEV-293742 - Update copyrights end year for hipamd
Change-Id: I08f620f84563a9214b59f1b943ed091b67229eab


[ROCm/clr commit: d9d9e81acb]
2021-07-09 12:08:39 -04:00
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
Tao Sang 6227f3fae2 Remove hip-hcc codes: Part one
Remove hip-hcc codes from hip code base
Simplify hip CMakeLists.txt to exclude hip-hcc
Simplify cmake cmd for hip-rocclr building
Some minor fixes

Change-Id: I1ae357ecfd638d6c25bca293c1724b026be21ecd


[ROCm/clr commit: 1cba7ec965]
2020-12-09 15:49:47 -05:00
Todd tiantuo Li 49910cc949 SWDEV-240803 - add hipFuncSetSharedMemConfig
Change-Id: I160b04677b3e7b99b3981ae7ecc84a0e3811d5e8


[ROCm/clr commit: a243a69e98]
2020-08-20 18:18:24 -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 216873e9c8 Adding changes for hipExtLaunchKernel for rocCLR
Change-Id: Iba52bc3bde7c37f3fb375a55ba0947e87b3cdc9b


[ROCm/clr commit: 126573df4c]
2020-06-02 14:16:41 -04:00
Maneesh Gupta 11fe5b06de Merge in the rocclr based hip runtime (#2032)
* Merge master-next changes in master (include vdi development in master branch)



[ROCm/clr commit: f2e1118d7a]
2020-04-23 09:12:06 -07:00
Aryan Salmanpour 2d45fcc1b4 [HIP] add support for NoPreSync/NoPostSync flags for Cooperative MultiDevice launch API (#1990)
[ROCm/clr commit: 4d05b4dce7]
2020-04-13 14:02:52 +05:30
Rahul Garg 63332172d6 Rename hipDrvOccupancy to hipModuleOccupancy and match CUDA syntax (#1943)
[ROCm/clr commit: 69e09a0b1b]
2020-04-07 14:02:52 +05:30
Rahul Garg 76f7af0dda use hsa_executable_get_symbol_by_name in find_kernel_by_name (#1994)
[ROCm/clr commit: f7751db2ee]
2020-04-06 15:39:30 +05:30
Rahul Garg ef7397ae35 Bump version to 3.5 (#1993)
* Switch CI testing from rocm-3.1.x to rocm-3.3.x
* Update hcc workweek for cooperative view
* bump version to 3.5

[ROCm/clr commit: c09c4cd239]
2020-04-06 15:39:10 +05:30
Jatin Chaudhary f2ea243fa5 Removing header size from formula (#1988)
Fixed a bug in the elf file size computation.

[ROCm/clr commit: eab81ca91b]
2020-04-06 15:37:07 +05:30
Siu Chi Chan 922219117b don't expose symbols from code_object_bundle (#1971)
Change-Id: I56479485aad42c3d517fe6d9055be1cd846eeb00

[ROCm/clr commit: 6ab1e864b6]
2020-03-27 14:09:07 +05:30
Sarbojit2019 4ef95f4e73 Fix few memory leaks in HIP (#1969)
[ROCm/clr commit: 4a68ab5a8c]
2020-03-27 14:08:30 +05:30
Aryan Salmanpour 89d0d9761a [hip] fix a build error when building hip with latest hcc (#1977)
there is a build error when building HIP with latest HCC from GitHub after PR#1935 merged into HIP master branch. this PR changed blockDimX to blockDim and two lines missed this change where added in the current PR.

[ROCm/clr commit: 1a1cdee6ff]
2020-03-26 17:10:42 +05:30
Joseph Greathouse 8ce72c7f06 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/clr commit: 341ef7fdca]
2020-03-25 14:39:24 -07:00
Aryan Salmanpour 1c8dc380bc [HIP] use markers to sync cooperative and normal queues (#1948)
[ROCm/clr commit: 66735bff13]
2020-03-18 11:20:43 +05:30
jglaser 76759ae09f Implement accurate max block size in hipFuncGetAttributes() (#1676)
This PR takes ensures that the maxThreadsPerBlock returned by hipFuncGetAttributes is both a multiple of the warp size and that the register usage of the maximum block does not exceed the number of available registers.

Fixes #1662

[ROCm/clr commit: ea28d64297]
2020-03-18 11:20:06 +05:30
Joseph Greathouse 04ead59f0b Fix errors in occupancy calculation function (#1926)
Fix two errors in hipOccupancyMaxActiveBlocksPerMultiprocessor.
1) Fix a possible segfault if the user passed in a null pointer for
   the numBlocks value.
2) Handle the situation when the user is asking for a block size
   that is larger than what the target device can hold within a
   single block.

[ROCm/clr commit: 6ae1b1a321]
2020-03-17 14:00:38 +05:30
Aryan Salmanpour cb8cf51d3f [HIP] return an error if blockDim exceeds maxThreadsPerBlock
[ROCm/clr commit: 70ef268add]
2020-03-10 15:26:53 -04:00
Aryan Salmanpour d011efb792 [HIP] fix formatting/code clean up and fix a bug
[ROCm/clr commit: 7009901fe0]
2020-03-09 16:03:59 -04:00
Aryan Salmanpour 2ca751f70c [HIP] Refactor cooperative APIs
[ROCm/clr commit: 97b24eba45]
2020-03-06 18:30:12 -05:00
Rahul Garg ff421fb2d2 Add hipDrvOccupancyMaxActiveBlocksPerMultiprocessor[WithFlags] (#1854)
Equivalent to cuOccupancyMaxActiveBlocksPerMultiprocessor[WithFlags].

[ROCm/clr commit: 1c794045e0]
2020-02-28 16:46:55 +05:30
Sarbojit2019 194b05efe2 [hip] Fix for bug introduced in #1770 when blockSize is non-power of 2 (#1864)
Fixes SWDEV-222161

[ROCm/clr commit: a03628335c]
2020-02-13 14:22:46 +05:30
Maneesh Gupta a21b1f84cb 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 2c6e880e05.

[ROCm/clr commit: d032637934]
2020-02-10 10:45:28 +05:30
Siu Chi Chan 30f09a1435 Fix C-style hipLaunchKernel (#1835)
* Fix bug in LaunchKernel test
Instead of passing the address of the gpu buffer, pass the address
of the pointer that holds the address of the gpu buffer

* Fix hipLaunchKernel's kernarg buffer construction.
The hipLaunchKernel implementation should rely on ihipModuleLaunchKernel
to construct the kernarg buffer correctly based on kernel metadata.

* Fix a bug in get_functions where the Kernel_descriptor wasn't constructed with the correct kernarg layout information.

* Fix a bug in kernarg layout parsing dealing with kernel without any arg

* teach ihipModuleLaunchKernel to handle kernel without any arg

* Add a more interesting test

[ROCm/clr commit: 14e235378f]
2020-02-04 19:37:16 +05:30
Sarbojit2019 dd5c4d41a5 Added overflow check in kernel launch (#1770)
[ROCm/clr commit: 6e62ea5ee3]
2020-02-04 09:02:16 +05:30
satyanveshd 2c6e880e05 Match Occupancy APIs syntax with CUDA (#1625)
* Match Occupancy APIs syntax with CUDA and fix tests using these APIs


[ROCm/clr commit: 262ad13dd5]
2020-01-29 13:05:53 -08:00
Siu Chi Chan 94ddf110dd Detect when an explicit printf buffer flush is required (#1766)
* Detect when an explicit printf buffer flush is required
in a device/stream synchronization function.

* hip_module.cpp: add missing hc_am.hpp header


[ROCm/clr commit: 26b50e1e1b]
2020-01-07 09:06:38 -08:00
Aryan Salmanpour ed2609b880 [hip] refactoring cooperative kernel launch APIs (#1737)
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]
2019-12-30 12:42:17 +05:30
Alex Voicu 1f762e3970 Fix late-coming issues. (#1724)
Implementation for hipMemcpyWithStream.


[ROCm/clr commit: 150e690a3a]
2019-12-23 19:11:24 +05:30
Aryan Salmanpour 2471c1950c [hip] refactoring hipExtLaunchMultiKernelMultiDevice API (#1698)
[Background] it was found that if lazy linking used for a library that calls hipExtLaunchMultiKernelMultiDevice API then this API can get the wrong program_state object for looking up device kernels leading to a "No device code available" error in this API.

To fix this issue, the API was refactored to be inline and get and pass the correct program_state to an internal hip API to request a multi-device kernel launch.

[ROCm/clr commit: 8eaea4d114]
2019-12-04 11:50:51 +05:30
Rahul Garg cf648f7dbe Rename hip/hip_hcc.h to hip/hip_ext.h (#1341)
* Rename hip/hip_hcc.h to hip/hip_ext.h

* Deprecate hip_hcc.h


[ROCm/clr commit: dfee3ae279]
2019-11-07 13:17:10 +05:30
Rahul Garg 72c686ed67 Revert "Fix occupany APIs (#1560)"
This reverts commit ad1e409a24.


[ROCm/clr commit: 27221bc823]
2019-10-29 11:41:08 -07:00
satyanveshd ad1e409a24 Fix occupany APIs (#1560)
Addresses SWDEV-205006 

[ROCm/clr commit: 6c5fbf9b4a]
2019-10-24 17:44:47 +05:30
searlmc1 510be4b5dc Improve performance of v2 arg handling (#1539)
* Improve performance of v2 arg handling

* Missing change to `std::string`


[ROCm/clr commit: 15a699688e]
2019-10-24 17:44:05 +05:30
Aryan Salmanpour 9e0eaef846 [hip] add support for implicit kernel argument for multi-grid sync (#1456)
* [hip] add support for implicit kernel argument for multi-grid sync

* modified code for calculating the prev_sum

* change the impCoopArg type to size_t

* add memory clean up

* launch init_gws and main kernels into two separate loops


[ROCm/clr commit: 93c688a0c9]
2019-10-24 17:43:30 +05:30
Nick Curtis a7d6c03e17 Guard against division by zero for no VGPR usage (e.g., in an empty kernel) (#1528)
* guard against division by zero for no VGPR usage (e.g., in an empty kernel)

* fix bracket format

* clean up parenthesis


[ROCm/clr commit: d16963c9d5]
2019-10-16 10:49:56 +05:30