커밋 그래프

6456 커밋

작성자 SHA1 메시지 날짜
Sourabh Betigeri 3ca4c7edf7 SWDEV-341994 - Fixes to returns the right error code to match CUDA spec for hipHostUnregister()
Change-Id: Ied9b5a15e841d4c201042d116b0ed535f07c17fc
2022-06-17 12:16:52 -04:00
Jaydeep 0ad84364e0 SWDEV-336542 - Return InvalidValue error for hipArrayCubemap flag.
Change-Id: I4ca996d7643158d5ccf8cb48ceaead3ceaf9aedf
2022-06-17 00:25:18 -04:00
jaypatel 8d464a2e83 SWDEV-322688 - Added hip math constants header.
Change-Id: I9363f82159a53c6822e943c4950fc7f6c350b326
2022-06-16 23:56:45 -04:00
kjayapra-amd 5e61b9e762 SWDEV-340226 - Fixing minor issues related to hiprtc Link API changes.
Change-Id: I18e7ca2a467ccf14d95ffb37b5516dda74f98cf7
2022-06-16 06:06:38 -07:00
Satyanvesh Dittakavi bf4cf3c369 SWDEV-327563 - Fix the hip runtime library name to load in hiprtc on Windows
Change-Id: Ib4988dd8677da907bec8e59b1b4ce3e57aad2bb7
2022-06-16 00:45:43 -04:00
Satyanvesh Dittakavi f7d0850eb8 SWDEV-336532 - Convert Managed Memory in hipPointerGetAttributes on Nvidia platform
Change-Id: I3bc6180040b6ad48f06ffdc7d01ca6fd9fe32c0e
2022-06-16 00:43:15 -04:00
Jaydeep Patel ab8583b4d5 SWDEV-338376 - Added hipMemGetAllocationGranularity, hipMemCreate and hipMemRelease for CUDA
Change-Id: If8c6a00958bb39752eb202c30a7960d13de225ae
2022-06-15 23:59:56 -04:00
Ranjith Ramakrishnan 8f8367fd49 SWDEV-335990 - Use GNUInstallDirs
GNUInstallDirs is used to allow the user to customize the install paths
of HIP, rather than using hardcoded locations.
Minimum cmake version updated to 3.16.8

Depends-On: I521c44dc34404b136141682c2777257b23ffa6e8
Change-Id: I2cff642c469d6d1e8bb3f1a3c151e6a03fb5d55b
2022-06-15 23:49:54 -04:00
Jaydeep Patel a527c241a2 SWDEV-333581 - Pass free and/or total size_t as nullptr.
Change-Id: Ib83467a351b6df22ef641c0e82284c7e0fac32e3
2022-06-15 23:46:34 -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
Sourabh Betigeri c3db564e94 SWDEV-331301 - Fixes to return error if the childGraph topologies of instantiated childGraphNode and to-be updated childGraphNode do not match
Change-Id: I372317a4df13e5cd352f46525d820246fe4ca8f2
2022-06-15 13:39:15 -04:00
Jeremy Newton 112b6370a5 SWDEV-335990 - Use GNUInstallDirs
This is attempt two of bf4df229c9

GNUInstallDirs is used to allow the user to customize the install paths
of HIP, rather than using hardcoded locations.

See documentation for more information:
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html

Note that libdir must be overriden to "lib" before including
GNUInstallDirs, because by default, cmake tries to detect the libdir
path, but ROCm packaging would like to use lib by default for all
targets. This does not stop the user (or distros) from overriding.

Also note this change does no take into account the changes needed to
non-cmake files, such as perl scripts, so not all paths combinations are
necessarily functional.

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Change-Id: I521c44dc34404b136141682c2777257b23ffa6e8
2022-06-15 13:14:47 -04:00
Saleel Kudchadker 1cea2c0412 SWDEV-335780 - Revert commit
This reverts commit f6e21144ae.

Change-Id: I589d495b448a5ecc7def9dbca3f70b033a962f45
2022-06-14 19:08:22 -04:00
Sourabh Betigeri 5549c8cd1b SWDEV-318237 SWDEV-330173 - Fixes kernel parameter corruption when multiple nodes of the same kernelNode exist
Change-Id: I6437593be46b7b5afc3d77cdd887ad4139978ad3
2022-06-14 18:06:21 -04:00
haoyuan2 cfe1efd6b0 SWDEV-338564 - fix test hang issue
only check task finish with valid queue

Change-Id: Ib2bd1360235a07f825a09c57453ccbff7951f17f
2022-06-14 15:34:30 -04:00
Sourabh Betigeri 2f9e92757c SWDEV-340453 - Fixes coding error. Missing condition in a negative scenario
Change-Id: Ic4b71e143ec883ca73a2511a367ac034444ec7de
2022-06-14 12:24:10 -04:00
sdashmiz 13c875eaf0 SWDEV-321698 - remove Memcpy1D type
- Memcpy1D node type is not complying with cuda

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: If8113f5e699de0c62d98effc4580a2e0fee9a950
2022-06-13 08:31:02 -04:00
Christophe Paquot faa7ee48ba SWDEV-322620 - Virtual Memory Management
Implements hipMemRetainAllocationHandle
HIP layer updates the svmPtr of the amd::memory
ROCCLR just manages the MemObjMap
This is because HIP knows the orignal (generic) address of the
physical memory whereas ROCCLR doesn't keep track of that

Change-Id: Ied26d7f814bc468f5cf586c967020737b9aa9e9f
2022-06-10 17:48:07 -04:00
agunashe 9e7b44511a SWDEV-337331 - Windows graph fixes iteration2
API fixed hipGraphAddDependencies

Change-Id: I1248c00d788c392c71e64c5070fe09653125bb34
2022-06-10 16:42:54 -04:00
sdashmiz 8d93ff521f SWDEV-334857 - hipModuleGetTexRef compatibilty issue
- make the defualt texref value compatible with cuda

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I2ae980e435f3b0fc15b237741e3f2b97c4257e12
2022-06-10 15:13:29 -04:00
Ajay de026633c0 SWDEV-327563 - support hipStreamWrite32/64 and hipStreamWait32/64 funcs
Windows complains about undefined symbol for
hipStreamWrite32/64 and hipStreamWait32/64 -
commit hash 08435a972b

Change-Id: I48b9a6591cab3a05baaedbc26030914dd930fb68
2022-06-09 20:59:46 -04:00
Ajay c06bfa6bef SWDEV-337331 - graph feature on Windows
Fixes for hipGraphInstantiate OutofMemory issue and
soft hang of hipStreamSynchronize.
Change-Id: Ic2bb97582c5978ef2e4eb3a1b124483aa412838e
2022-06-09 12:04:51 -04:00
sdashmiz efd2d55e9d SWDEV-318833 - Get and Set attribute for kernel nodes
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ie51aa4b56661cbb8c5b4eb1dbaad327377084ffb
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
2022-06-09 09:47:05 -04:00
Aakash Sudhanwa 43c650cf48 Revert "SWDEV-335990 - Use GNUInstallDirs"
This reverts commit bf4df229c9.

Reason for revert: <Breaking all the staging builds. this is breaking components which are using find_package(HIP)>

Change-Id: Ic7340fb461a5efdd170a0988731e0885538a11d6
2022-06-07 18:18:06 -04:00
Satyanvesh Dittakavi 3bdc72d6ca SWDEV-327030 - Fix incorrect checks to find components in CMake
Change-Id: Ib7b9bd82255af897a0f82bba8049c7d41379ae96
2022-06-07 04:41:52 -04:00
Jeremy Newton bf4df229c9 SWDEV-335990 - Use GNUInstallDirs
GNUInstallDirs is used to allow the user to customize the install paths
of HIP, rather than using hardcoded locations.

See documentation for more information:
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html

Note that libdir must be overriden to "lib" before including
GNUInstallDirs, because by default, cmake tries to detect the libdir
path, but ROCm packaging would like to use lib by default for all
targets. This does not stop the user (or distros) from overriding.

Also note this change does no take into account the changes needed to
non-cmake files, such as perl scripts, so not all paths combinations are
necessarily functional.

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Change-Id: Iae80f47c47ea0a74fc1c221b6eea82b557601394
2022-06-06 23:43:05 -04:00
Rakesh Roy e2874d5e22 SWDEV-337776 - Fix hipStreamEndCapture API
- Return hipErrorInvalidValue when pGraph is nullptr

Change-Id: I8846f4448eb15117f98421632885330f132c4fce
2022-06-01 00:20:23 -04:00
Sourabh Betigeri 5a057af564 SWDEV-320640 - Fixes to return right error codes in hipStreamUpdateCaptureDependencies() for negative scenarios
Change-Id: I3c4c54f8955fa9bb17eb595544005fe9f0e8a5f0
2022-05-31 14:09:22 -04:00
pghafari 8e28413a9e SWDEV-337703 - nullptr check for hipMallocArray
Change-Id: I3b1077e236ccda346d337109014ef7fd2e693ec6
2022-05-31 11:19:59 -04:00
pghafari 2870b7ddd5 SWDEV-336550 - added nullptr check for svm
Change-Id: Icfd7dab1c7818958108385261542526d4545721d
2022-05-30 16:58:45 -04:00
kjayapra-amd 84f94fd134 SWDEV-290384 - Add Linker API support in hiprtc
Change-Id: I4621a033a22e4da0201c3804e2b357470a681ab0
2022-05-24 09:16:14 -04:00
Maneesh Gupta 176acb9315 SWDEV-324128 - Fix typo in packaging cmake
Fixes typo introduced by a01b481e45

Change-Id: I6c9a3fa31df14262f26d1339d3661248fa43eefb
2022-05-19 09:32:42 +00:00
Rakesh Roy 01a5ddebe6 SWDEV-337119 - Validate width isn't exceeding either dpitch or spitch in
ihipMemcpy2D

Change-Id: I8ac68e033762616a42585b26f0b3aa5bbb29ce9c
2022-05-18 23:25:14 +05:30
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
pghafari bb9e52ab9f SWDEV-336576 - updated graph check
hipGraphExecMemcpyNodeSetParamsFromSymbo was not working in functional
case

Change-Id: I2ad04f6f91519efa075c36fe737a695fa1bc127a
2022-05-17 17:36:10 -04:00
Christophe Paquot 60656d9fc9 SWDEV-322620 - Virtual Memory Management
Report virtual memory management support.

Change-Id: I448a66c86ab1b2d28f6052e8896ea505e56eb2d2
2022-05-17 16:24:53 -04:00
Satyanvesh Dittakavi 8a333a989b SWDEV-332606 - SWDEV-333585 - Fix hipMemcpySymbol* and hipGetSymbol* APIs
This also fixes the QMCPack staging (SWDEV-335826) test failures related
to hipMemcpyToSymbol

Change-Id: Icc3ff04fb1e17999f5bddf12e1a7266e2289032f
2022-05-16 04:27:02 -04:00
Tao Sang 4561a207dd SWDEV-319818 - Revert change on hipResourceViewDesc
Revert part of
http://gerrit-git.amd.com/c/compute/ec/hipamd/+/675588

Change-Id: Iee9dac9f8c50aa9b6a12ca9d8fd792a51973b8cd
2022-05-12 12:14:13 -04:00
Satyanvesh Dittakavi f6e21144ae SWDEV-335780 - Address OOM issue with BERT MLPerf
Memory free was not happening due to no flush

Change-Id: Iee9d2c9f8c50aa9b6012ca9d8fd792a51973b8c8
2022-05-11 13:03:32 -04:00
German Andryeyev 8b132beb92 SWDEV-311271 - Enable MGPU support for memory pool
Change-Id: I36850de282d62139b5cfe342df97bb1204cb7869
2022-05-11 11:04:24 -04:00
Tao Sang a19b767e8a SWDEV-319818 - Release restriction on hipResourceViewDesc
Let more types support hipResourceViewDesc.
Add missing symbols to fix cuda build failing.

Change-Id: Ife694cc6491427093863252e257e820b0bb4fa0f
2022-05-10 15:57:31 -04:00
Jeremy Newton d04938a6ad SWDEV-336248 - Use public icd header
HIP uses icd_dispatch.h, which is not a public header. Using the public
CL/cl_icd.h removes inclusion of the private header.

This allows compiling HIP without relying on OCL ICD source, which makes
distributing a standalone ROCclr easier.

For WIN32, a few other headers are required.

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Change-Id: I0cab173b9753c5b0ab3be9222aa8bb0545cdeaab
2022-05-10 13:46:08 -04:00
Sourabh Betigeri 5fa514fea0 SWDEV-329829 - Fixes to return right error codes for respective negative scenarios
Change-Id: Icb615a336bb846df1cf2811316d88a0e88381da8
2022-05-10 12:56:20 -04:00
Rakesh Roy 84c46047e5 Revert "SWDEV-332606 - SWDEV-333585 - Fix hipMemcpySymbol* and hipGetSymbol* APIs"
This reverts commit f1fb612774 due to QMCPack test failure (SWDEV-335826)

Change-Id: I40397b345aa60f43afc17853bc72426daf385cf7
2022-05-10 11:20:36 +05:30
Cordell Bloor 9c450d6f66 SWDEV-335902 - Fix HIP when Git info unavailable
Prior to this change, when Git_FOUND was false, HIP_VERSION_BUILD_ID
would be undefined in the CMake code. The value of HIP_VERSION_BUILD_ID
in <hip/hip_version.h> is taken from the CMake variable, so it was being
defined as nothing in those cases. That would cause compilation failures,
as src/hip_global.cpp contains the function:

    size_t amd_dbgapi_get_build_id() {
      return HIP_VERSION_BUILD_ID;
    }

which would become

    size_t amd_dbgapi_get_build_id() {
      return ;
    }

after preprocessing. To prevent this, we can define the version
information to a default value when Git is not found.

A related problem was reported by Harmen Stoppels in
https://github.com/ROCm-Developer-Tools/HIP/pull/2218. When Git
is not available (or if the library is being built from a tarball),
the HIP_VERSION_GITHASH is not defined. This causes trouble because
HIP_LIB_VERSION_STRING is defined as "X.Y.Z-${HIP_VERSION_GITHASH}"
and therefore becomes "X.Y.Z-".

The incomplete version string becomes a problem when it is appended
to the shared library file name. File names that end with '-' confuse
the linker. They cause strange errors when attempting to link to the
HIP library. This problem can be prevented by dropping the trailing
dash and using "X.Y.Z" as the version string when HIP_VERSION_GITHASH
is not defined.

Change-Id: I6e290c1f1b603ba30c9ded885e125d9ca9a2e688
Signed-off-by: Cordell Bloor <Cordell.Bloor@amd.com>
2022-05-09 13:44:09 -04:00
Rakesh Roy 4e86d538e5 SWDEV-333598 - Use flags field of amd::Memory UserData for hip flags
Change-Id: I492c7fe54dba4380fcc53eed1df36bf5ac0af852
2022-05-06 13:42:19 +05:30
Ajay 88163bd884 SWDEV-334340 - clangRTlib detection in windows sample
Change-Id: I2bc65d32a7e8a9b31982f21a6b74e3f0a1e01688
2022-05-04 20:49:20 +00:00
Jaydeep Patel 118fad741a SWDEV-333848 - Regression fix
Change-Id: I328770d5c51418c7f5bcb73696c81311d8dc3aef
2022-04-29 13:27:46 -04:00
sdashmiz 8ed471f210 200~SWDEV-333583 : hipMallocArray bad channel format
- channel format should be consistent accross parameters

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I1e7680ab9262a66e7bea4aaa21f061044b0f7956
2022-04-29 09:15:41 -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