提交線圖

6426 次程式碼提交

作者 SHA1 備註 日期
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
Satyanvesh Dittakavi 06203c251e SWDEV-330667 - SWDEV-333599 - Fix hipHostRegister and hipMallocPitch APIs
- hipHostRegister should return hipErrorInvalidValue when size is 0 or
size doesn't match the actual allocated size
- hipMemAllocPitch should return hipErrorInvalidValue when width or height
is 0 and elementSizeBytes should be 4, 8 or 16

Change-Id: I43c9fe4ac1ef0a6ac2f953908d301508a7bc5aa3
2022-04-28 13:07:08 +00:00
Christophe Paquot 6d73282f25 SWDEV-322620 - Virtual Memory Management
Implemented hipMemMap and hipMemUnmap

Change-Id: Idc75e3964d88e375e445733557cfa8e421688f1f
2022-04-28 02:14:14 -04:00
haoyuan2 59b1ae0a79 SWDEV-333187 - Support IPC in HIP runtime on Windows
enable shared memory based IPC

Change-Id: I2657ef4713240b6f82a34f416d53f222630263ca
2022-04-27 11:14:59 -07:00
pghafari 63f23ec2b0 SWDEV-327960, SWDEV-316901 - Adding Graph checks
hipGraphExecMemcpyNodeSetParamsToSymbol, fix for functional cases
failing as well

Change-Id: I9f263778f6b24e3ec35a78231a17e01c0d44f23a
2022-04-26 21:04:32 -04:00
Ajay 1abd0d6ecf SWDEV-332522 - ipcEvents Avoid deadlock b/w streamWait & Event
Using device write to set 0 to signal while streamWaitEvent is checking
the signal.
Use app in SWDEV-314307 to verify this fix
Requires vdi #668012 change to work

Change-Id: Ie329a29cfaeb5d144b92cda36773646f913ca73d
2022-04-26 11:59:01 -04:00
Satyanvesh Dittakavi f1fb612774 SWDEV-332606 - SWDEV-333585 - Fix hipMemcpySymbol* and hipGetSymbol* APIs
- hipMemcpy[From/To]Symbol APIs to return hipErrorInvalidMemcpyDirection
if the copy kind is incorrect
- hipGetSymbolSize and hipGetSymbolAddress APIs to return hipErrorInvalidValue
if the pointer is null

Change-Id: I32f428045c804b1e4f648e91b507f749f60c09d0
2022-04-25 08:25:29 -04:00
Rakesh Roy 8ea74366d7 SWDEV-332603 - Check validity of ihipArrayCreate() first argument
Change-Id: Ifd0bdb5708c110da45e4baa9426cccd749732822
2022-04-22 11:08:37 +05:30
Rakesh Roy 2613ebf157 SWDEV-332604 - Add nullptr check for argument pitch
Change-Id: I6d7aa5356a74b92f21f7a51a7d3e2f8d0b920e07
2022-04-22 00:13:24 -04:00
Christophe Paquot fd17b53ea4 SWDEV-322620 - Virtual Memory Management
Implement hipMemAddressFree and hipMemAddressReserve

Change-Id: I1b09e433db5c5c6d6b9fe2a7a15fe2c09f1e1874
2022-04-21 17:19:10 -04:00
German Andryeyev b4c5a01fbc SWDEV-333607 - Avoid synchronization of all GPU(s)
Use the original device from creation to sync before host memory
free.

Change-Id: I510e34afa7accf69e3d01338587bbc817b981cec
2022-04-21 15:36:04 -04:00
Ranjith Ramakrishnan 95d0b79ca0 SWDEV-329277 - Populate hip_version.h wrapper file with actual file contents as dead code
Some components like tensorflow search for the contents of hip_version.h
For backward compatibility insert actual file contents in wrapper file as non executable code
Improvements: wrapper header template file checked in, instead of generating it on runtime
Redundant codes for unsetting variables removed

Change-Id: I67ee48437f8959d8ed70946412d09be3ed262e58
2022-04-20 12:08:56 -07:00
Sarbojit Sarkar 71b5235c64 SWDEV-332809 - Fix for OpenMp crash
Change-Id: I70445edf76261ab8ecf174614f23bd9fb8d60881
2022-04-19 11:29:19 -04:00
Sarbojit Sarkar fc1f02bbed SWDEV-323441 - support for default stream per thread
Change-Id: I0032da0357f5cffbf5e4ec4a02435d2a128a262b
2022-04-18 23:19:55 -04:00
Saleel Kudchadker aace42cfab SWDEV-301667 - Add separate field for event scope
Change-Id: I0e6b50d1a34b275ea4f1a4c659430c406d9a5a7e
2022-04-18 15:48:33 -04:00
German Andryeyev 5957ff9f7b SWDEV-311271 - Make sure memory pool can accept default stream
Add lock protection for access to the pool list.
Remove destroyed stream from the list of the safe streams

Change-Id: I1863b89bd3f5e188c161227cc790c3adaf72cc58
2022-04-18 10:34:21 -04:00
Satyanvesh Dittakavi b06ee8834d SWDEV-308763 - Remove older hiprtc implementation
Change-Id: I1f0a1fe9b6590070905348bf71b901ac77b196be
2022-04-18 05:12:53 -04:00
Satyanvesh Dittakavi 3b525ad298 SWDEV-332371 - Address seg fault with hip event tests on Windows
Change-Id: I0367f6dbb395b3032c97692c5bde6e99d503c6a9
2022-04-18 04:19:23 -04:00
Sourabh Betigeri bd851550bd SWDEV-331301 - Fixes error code mismatch
Change-Id: I8dda98609b16ea5c1ce4d9db9471e61e5fb0c12c
2022-04-13 18:51:06 -07:00
Saleel Kudchadker f320acb797 SWDEV-276210 - Honor scopes for hipEventRecord
Honor hipEventReleaseToDevice and hipEventReleaseToSystem flags.
hipEventRecord would flush caches if no release flags are provided. To
change this behavior set ROC_EVENT_NO_FLUSH=1

Change-Id: I03e41b515b1d0cf963b0c2d5b9901b09e71a0e59
2022-04-13 00:35:19 -04:00
Jaydeep Patel c1503da69b SWDEV-330666 - null(default) stream's priority is 0.
Change-Id: I115effc2ddaa28dee32967ee28041b9b8da095b9
2022-04-13 00:28:52 -04:00
Sourabh Betigeri 345e02358c SWDEV-329848 - Fixes error code mismatch between CUDA and HIP
Change-Id: Ic48de159ca7bdb4b91dadb915972e535518635ae
2022-04-12 15:00:44 -04:00
haoyuan2 cb4aabd285 SWDEV-328274 - Move DLLMain from VDI layer to HIP/OCL layers
Change-Id: Ibd3388f0981672cd209d7370f8a28b2883abdea2
2022-04-12 11:00:20 -04:00
Sarbojit Sarkar 8657c40721 SWDEV-331126 - Fix to Cuda return type
Change-Id: Iea8e7735ef0c58c1244c92338038d91e61d62c16
2022-04-11 23:35:04 -04:00
Ajay f301bf3962 SWDEV-331095 - Address hipRTC windows test failures
Change-Id: I8c1a36ffd362c6f41449092e4dd85f6ec587206a
2022-04-11 09:40:35 +00: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
Jaydeep Patel ff78c439ef SWDEV-330661 - devicePointer null checking.
Change-Id: I3366031954330143109d0a79e86fd0e0ec996f01
2022-04-08 00:08:37 -04:00
Satyanvesh Dittakavi c0ada4320b SWDEV-326796 - Fix hipMemset crash when the size passed is more than allocated
Change-Id: If3b15da0960f3af347fca62beedd8003cb958c2e
2022-04-07 08:49:54 -04:00
Saleel Kudchadker b1436f6451 SWDEV-331152 - Add back HIP_HOST_COHERENT support
Change-Id: I1971df55913498df801ad319a20b95380a2c136f
2022-04-06 12:26:01 -04:00
Satyanvesh Dittakavi 0af8904b87 SWDEV-326793 - hipStreamGetFlags should query the flags for null stream
Change-Id: I1d1b833704c135b5a0c695b244380ac6c5b8438e
2022-04-06 04:09:17 -04:00
pghafari 798a304dbd SWDEV-316292 - adding Graph checks
hipGraphExecMemcpyNodeSetParamsFromSymbol negative test cases

Change-Id: I7b6c496a8bca831dc90d1d427273a2a4fea96587
2022-04-05 13:26:46 -04:00