Grafico dei commit

109 Commit

Autore SHA1 Messaggio Data
Sarbojit Sarkar 1074b22c48 SWDEV-333073 - HIP_INIT_API to handle no return case
Change-Id: I78d43e88cc196047a4cb5d6fcf756339c0e46e80
2022-06-24 12:53:18 -04:00
Sarbojit Sarkar 7f92a98a3c SWDEV-331066- Added hipDeviceSetLimit
Change-Id: I4de099387ad34ca7c195588274b546649038e2aa
2022-06-21 06:06:05 +00:00
jaypatel 8d464a2e83 SWDEV-322688 - Added hip math constants header.
Change-Id: I9363f82159a53c6822e943c4950fc7f6c350b326
2022-06-16 23:56:45 -04:00
sdashmiz e8194dca76 SWDEV-325711 - add Graph memory APIs skeleton
- hipDeviceGet/SetGraphMemAttr

- hipDeviceGraphMemTrim

- there is no memory pool for graphs currently

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I11db76ea7ea1c7732175fc93264448052357e8dc
2022-06-15 14:47:16 -04:00
Satyanvesh Dittakavi 8dfa7e7f98 SWDEV-334908 - Guard the __noinline__ macro as it is also supported as keyword by clang
Change-Id: I314b3ac463ea63132a5107f4f24ce769d8112b9b
2022-05-18 05:51:32 -04:00
Joseph Greathouse f68149eafd SWDEV-332811 - Clean up and extend HIP unsafe atomic add
Update HIP's unsafeAtomicAdd to:
 - Compile properly even when not compiling for gfx90a
 - Fall back to safe atomic add on non-gfx90a architectures
 - use flat atomic add for FP64 on gfx90a, instead of dynamically
   checking memory spaces.

In addition, when the compiler is passed -munsafe-fp-atomics, it
will define __AMDGCN_UNSAFE_FP_ATOMICS__. When this happens, the
compiler is requesting that the HIP headers force all HIP
atomicAdd() calls on floats or doubles to use their unsafe versions.

This patch thus causes unsafeAtomicAdd() calls when that define
is seen. This call to unsafeAtomicAdd() is also done for atomicSub(),
since that calls atomicAdd underneath. This is not done for
system-scope atomicAdd because, on gfx90a, system-scope atomic FP
add instructions would need to target fine-grained memory, which is
always unsafe.

This patch also creates safeAtomicAdd() functions for float and double.
These functions will create a standalone safe atomic, even when the
application is compiled with -munsafe-fp-atomics.

Finally, this patch adds wrappers in the Nvidia path of HIP so that
these HIP functions call through to atomicAdd there as well.

Change-Id: I8af0621d3d28ea30c9278bfeea7393d03bbdac6d
2022-04-29 07:19:58 -04:00
Sarbojit Sarkar fc1f02bbed SWDEV-323441 - support for default stream per thread
Change-Id: I0032da0357f5cffbf5e4ec4a02435d2a128a262b
2022-04-18 23:19:55 -04:00
Christophe Paquot cd447a5aaa SWDEV-322620 - Virtual Memory Management APIs
Adding skeletons.
Implemented:
- hipMemGetAllocationGranularity with basic granularity
- hipMemGetAllocationPropertiesFromHandle
- hipMemCreate

Change-Id: I4bd2c75fae45d6a057efcad19d1d3c9715e9ae67
2022-04-08 11:38:51 -04:00
German Andryeyev 539d264eb0 SWDEV-311271 - Initial mempool implementation
HIP_MEM_POOL_SUPPORT controls memory pool support in runtime.
Currently it's disabled by default. The initial change doesn't
include: IPC, MGPU, virtual memory alloc, suballoc, defragmentation,
internal dependencies.

Change-Id: Ibed8528ebec698b045ebb247e49c0ecd6e587ed7
2022-03-31 09:21:37 -04:00
Satyanvesh Dittakavi 2fd90ec7a4 SWDEV-317716 - Add hipDeviceGetUuid API
Change-Id: I320c7bc11ddd7617e0246f6faf19135ad7363e73
2022-03-16 00:23:44 -04:00
Satyanvesh Dittakavi 3cc0a3fcaf SWDEV-321656 - Address incorrect warp size with hiprtc
Change-Id: I97051d4e2cf27cb073c39663c62e43d5c19b1a12
2022-03-15 06:52:21 -04:00
Sarbojit Sarkar 2b86f24fda SWDEV-323441 - New header for per-thread-default-stream
Change-Id: If74ea1464117abd2bfeadd543b94d26f9e934cbb
2022-03-14 01:13:01 -04:00
haoyuan2 bed3995147 SWDEV-316128 - HIP surface API support
align with CUDA to support surf1DLayeredread/write,
surf2DLayeredread/write, surfCubemapread/write functions.

Change-Id: Ie3f6ca75e23accd97cb35cdc8362d88a1e5dbd54
2022-03-09 21:19:48 -05:00
Christophe Paquot 27f102b167 SWDEV-323472 - Add hipThreadExchangeStreamCaptureMode
Also fix an issue in hip_prof_gen.py with GLenum.

Change-Id: Ib03fe9dae87b850c53b7d8aeb78b8dbdd01f794c
2022-02-24 15:24:22 -05:00
Satyanvesh Dittakavi e5496b3159 SWDEV-314485 - Remove the older implementation of device-side malloc/free
Change-Id: I9ba3c6030a6dd7a5e064073d5c21223041282f61
2022-02-15 07:49:56 -05:00
Sourabh Betigeri 7d8c63cc34 SWDEV-294375 - Declares fns() functions static
Change-Id: Ife0150b8d6b9531522e61a82df6b88af3282f437
2022-02-13 23:35:46 -05:00
haoyuan2 d7beddbfee SWDEV-316128 - HIP surface API support
Change-Id: I5b98f86168e64b36588f5d7efb82191d895e27d7
2022-02-11 11:07:04 -05:00
Sourabh Betigeri 523e5a007c SWDEV-294375 - Adding coalesced_groups to ROCm CG
Change-Id: I4098e1970ae2c388171fa73deb5bc023ed1b7a68
2022-02-07 11:29:46 -05:00
Satyanvesh Dittakavi 760f275861 SWDEV-292714 - Added support for hipPointerGetAttribute and
hipDrvPointerGetAttributes

Change-Id: I44a0b5c5d9eb5a9a63406b11e8de83e5cb245a59
2022-02-02 05:33:07 -05:00
pghafari 44e0c246f8 SWDEV-245531 - GLInterop adding register image
Change-Id: I075bec49b7ad5f78336586b9d55e259717c4c000
2022-01-23 14:59:18 -05:00
Payam 5f9d779324 SWDEV-245531 - GLInterop adding register image
Change-Id: Ib16b647e2a1b8f3c578a9689d3987121c984250b
2022-01-14 15:57:24 -05:00
Nick Curtis c8103470d5 Fix missing system-scope for CAS in atomic[Min|Max]_system
Change-Id: Ieb0ca79eaeba3a0ae56739246e08135a25a8d6dd
2022-01-12 22:53:11 -05:00
haoyuan2 0f94653447 SWDEV-315924 - align with CUDA to define vector3 data type
Change-Id: I7654fb757b4c387a762f384ccdd3f2c8555d149f
2022-01-06 17:35:56 -05:00
Tao Sang 78de8cd672 SWDEV-315590 - Fix texture vector issue
Apply mapFrom() to related texture device functions.

Change-Id: Ifed918c87373b784780b2180320ccb746845daff
2022-01-04 19:26:14 -05:00
Tao Sang 7de480760b SWDEV-315590 - Fix texture fetch issue
Add mapFrom() to map "float __attribute__((ext_vector_type(4)))"
of output of low-level device function to right vector.

Change-Id: Ifed915c87273b784780b2180320ccb746845dafb
2022-01-04 13:38:57 -05:00
haoyuan2 8a8581edf5 SWDEV-316052 - fix HIP_Directed tests build error
Change-Id: I782c68859f77934f2cf672ee53378e51b1cb1ddd
2021-12-21 03:21:53 -05:00
haoyuan2 a8b30291c3 SWDEV-303956 - add make_int2/3/4 and make_float2/3/4 function support
Change-Id: I0260d1a9d2ac66e84dc31a80b0995616ef78b0fe
2021-12-15 14:57:36 -08:00
haoyuan2 937415141c SWDEV-303956 - align with CUDA to define float4 data type
Change-Id: I9ad1315e5899a8c0cf1812302b27010d88015f88
2021-12-14 15:22:43 -05:00
Satyanvesh Dittakavi f3c5f12d26 SWDEV-311744 - Update floating point max/min atomic implementation
Clang builtins doesnt yet support max/min atomics with float/double
parameters, Hence modify atomicMax/Min to use compare and swap
implementation

Change-Id: Ia351f9b136129fe25f0eddcbbb17549553247182
2021-12-07 13:29:44 -05:00
Tao Sang 5acc8b5102 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
2021-12-04 08:14:08 -05:00
cjatin 5b08779b25 SWDEV-307407 - Add hiprtc's type traits function to match implementation of libcxx
Change-Id: I0a10eca329f817bbe31bdc47869b2de104d12d38
2021-12-02 23:32:23 -05:00
anusha GodavarthySurya e90cb3b07b SWDEV-305766 - Added new debug APIs to get build information
Change-Id: Ibbf0c010cd8f7e6e659f2c4ba932cc8436574431
2021-12-02 12:20:51 -05:00
anusha GodavarthySurya 1111468b49 SWDEV-240806 - Added few more Graph APIs
Change-Id: I028a1fdf30232b0c47443685e03d7ca410d2a0d0
2021-10-05 07:37:11 -04:00
Satyanvesh Dittakavi 673c2deed1 SWDEV-302147 - fix __hip_ds_permutef device function to return float
Change-Id: Ie452e90a7f7410401df4a66de468ad850403953c
2021-09-14 02:15:53 -04:00
Jatin Chaudhary feed2de479 SWDEV-293749 - Add cast before calling the builtin
Change-Id: I6224a3693f91a5b4e040bd76918ab04a56a6454b
2021-08-24 10:35:52 -04:00
cjatin 06e1e4f0de SWDEV-296918 - Adding unsafe atomic add operation for float and double type
Change-Id: I98eabb7412f604733a999bf5e89c2c80b91cfbb1
2021-08-14 12:22:53 +05:30
Sourabh Betigeri 8a4ca88477 SWDEV-297689 - Moving the vendor specific builtin function calls to hip_cooperative_helper.h header file
Change-Id: I797bdde8fbb01285dfda0eac0f960ded260beb8e
2021-08-02 19:14:42 -04:00
Rahul Garg ec39f62ee1 SWDEV-297563 - Move surface types
Change-Id: Ie2393fb32a30a76c39c81ce17497fa3b131a85b1
2021-08-02 18:48:15 +00:00
Rahul Garg 3dd9dbb359 SWDEV-297563 - Move declarations to hip
Change-Id: Ifdab79945ea2e625e8cef5cd71d638552e9a740b
2021-08-02 11:56:08 -04:00
Anusha GodavarthySurya a71f54d9e9 SWDEV-240806 - Added API hipGraphAddMemcpyNode1D, hipGraphAddEmptyNode, hipGraphExecKernelNodeSetParams
Change-Id: I0d7ec8c0ea1abc3fc0f1e10fa7865f355d9cf2ad
2021-07-28 00:09:16 -04:00
Sourabh Betigeri cbbf627662 SWDEV-292523 - [hipamd]Change in the signature of streamOperations APIs, particularly 'value' arg to unsigned 'value'
Change-Id: I7e31508622865b9986c886c4218ba394ffe9cf9e
2021-07-22 16:24:27 -04:00
Christophe Paquot 9a510f1cf1 SWDEV-281658 - Preserve the callback IDs enum ordering
Use continue instead of break to make sure we process the
whole hip_runtime_api.h file.

Change-Id: Ied2a8df69ed9eb1dc04d6b2d0d7b117ce2a2b6b3
2021-07-20 20:12:21 -07:00
kjayapra-amd a8e0ab621e SWDEV-282289 - Use preprocessor directive for atomicAdd to support backward compatibility.
Change-Id: I73f058040afaa782bf6a491b8761a040fbd5b571
2021-07-19 10:46:01 -04:00
Aaron Enye Shi ff8c20c092 SWDEV-294395 - HIPRTC add definitions for amd_hip_vector_types.h
Add typedefs for int32 and int64. Add templates provided in
system headers such as type_traits used in our HIP header
amd_hip_vector_types.h. Make replacements for clang builtin,
__is_convertible_to.

Change-Id: I4129b3f4f37238e2dda5b64d55e5cffe4d4480c6
2021-07-15 05:41:51 -04:00
Anusha GodavarthySurya e5cbfa8ca9 SWDEV-240807 - Added Implementation for few more graph APIs
Change-Id: I76336a22233a208a3f54ff9e90f0c5bf4a1bddb4
2021-07-14 20:56:36 -07:00
kjayapra-amd 4aab5c29ff SWDEV-278500 - Implement missing atomic APIs and types to match CUDA.
Change-Id: I5f5bd94af9b68853bf354c8f90da217434934ddd
2021-07-13 22:15:57 -04:00
German Andryeyev 14019c2833 SWDEV-293583 - Correct a typo in hipStreamAttachMemAsync
Change-Id: I69eb4d126e36a783603e6097fc2faab661dc63cb
2021-07-12 13:14:09 -04:00
Michael LIAO 68289d1dfe Revert "SWDEV-293408 Add atomicInc_system and atomicDec_system"
This reverts commit 45205c5e53.

Change-Id: I808b52758cc08882daa7fc889e53ca4c2fe64a61
2021-07-09 13:47:39 -04:00
agunashe d9d9e81acb SWDEV-293742 - Update copyrights end year for hipamd
Change-Id: I08f620f84563a9214b59f1b943ed091b67229eab
2021-07-09 12:08:39 -04:00
Christophe Paquot d208afcb36 SWDEV-281658 - Preserve the callback IDs enum ordering
This change addresses the rocprofiler and HIP backward compatibility
issues. Before this patch, each time the hip_prof_str.h header was
generated, the ordering of the callbacks IDs changed, causing
incompatibilities between tools compiled with the old header and
runtimes compiled with the new headers (or vice versa).

To make the API callback IDs stable, the previous version of the header
is read to extract the enum values so that the same values can be
assigned in the new header.

Also, to make diffing different versions of the hip_prof_str.h easier
to read, all other sections (types, macros, helper functions) are now
alphabetically ordered.

If an update to the checked-in hip_prof_str.h file is required, the
cmake build is aborted and a message printed on stderr. The build will
not be successful until the checked-in hip_prof_str.h and the generated
hip_prof_str.h match.

Change-Id: I38b920e601185f7365a76a6584df91a7e8a11798
2021-07-09 11:17:09 -04:00