Gráfico de commits

6528 Commits

Autor SHA1 Mensaje Fecha
Laurent Morichetti 9f09ca929e Improve hip_prof_api.h's readability
- Don't pass uint32_t arguments by reference.
- Use nullptr instead of NULL.
- Don't add frivolous typedefs.
- Use correct types when available instead of generic integral types.
- Make all roctracer callbacks extern "C" to prepare for a future change
  that will be removing their declaration from hip_runtime_api.h.
- Rename cb/sem sync and release functions -> reader_lock/writer_lock
  acquire and release.

Change-Id: If203fee077d421a9782fcd34607a413b8c3dcfc8
2022-08-01 17:11:50 -07:00
Laurent Morichetti 6f78083f2a Fix a race condition when setting the callbacks
When acquiring the reader's lock (sem_sync()...sem_release()), it is
possible for a writer to squeeze by if the reader goes into sync_wait().
The writer could re-acquire the entry.sync between entry.sem > 0 and
entry.sync = 0.

void sync_wait(uint32_t id) {
    sem_decrement(id);
    while (entry(id).sync.load()) {}
    // <--- HERE
    sem_increment(id);
}

This could result in both the reader and the writer accessing
{ callback, arg } at the same time, and the reader could read
inconsistent data, for example: { new callback, old arg }.

The solution is to re-test entry.sync when returning from sync_wait():

void sem_sync(uint32_t id) {
    sem_increment(id);
-   if (entry(id).sync.load() == true) sync_wait(id);
+   while (entry(id).sync.load() == true) sync_wait(id);
}

Change-Id: I22f74f4cb9a5f027aac8aa4ed3e633acc19df4b8
2022-08-01 20:03:10 -04:00
Sarbojit Sarkar e1f1e38d79 SWDEV-1 - cleanup
Change-Id: Ib50424c87cfc76317eb0c114b5dd3553d8ebd9eb
2022-08-01 00:05:58 -04:00
Tao Sang 9f9fd859db SWDEV-286739 - Support hipDeviceAttributeWallClockRate
Part 3: Add missing declaration of wall_clock64() to fix
compiling issue in device code.
Add querying hipDeviceAttributeWallClockRate.

Change-Id: Ie54771c2f58eeaacdc0248bc116ef193f99eb9b9
2022-07-28 13:02:42 -04:00
Ranjith Ramakrishnan f61a87ebb2 SWDEV-346857 - Find ROCM_PATH based on config file path rather than hardcoding
As per the requirements in SWDEV-287540, config files should not have hard coded /opt/rocm path
Instead of setting ROCM_PATH to /opt/rocm, used hip-config file path to find the rocm path
Validated by printing the CONFIG_PATH and is coming as/opt/rocm-ver/lib/cmake/hip/hip-config.cmake
So need four level up,with file name in the path

Change-Id: Iac01d3a0c0168138c777551165705ed56cf6c3b1
2022-07-27 15:46:07 -04:00
Maneesh Gupta d328d72fab Revert "SWDEV-264166 - Remove gcnArch"
This reverts commit ab303e6440.

Reason for revert: Moved out to future release

Change-Id: I36b046c8681371baa9e0ccb69d46dad633ee5706
2022-07-27 05:22:48 -04:00
Jaydeep Patel fa786c606a SWDEV-338376 - CUDA VMM API mappings
Change-Id: I47595dbf57fcce352d23842dbbc2b98b4ec97fb5
2022-07-27 02:35:13 -04:00
Jaydeep Patel 465421e71c SWDEV-347592 - hipMemAllocationType must be hipMemAllocationTypePinned.
Change-Id: I36a5c37c6d66587c6804b60a5f0a88efb60801a4
2022-07-26 23:46:02 -04:00
Jason Tang ab303e6440 SWDEV-264166 - Remove gcnArch
Change-Id: Ief4bdbdd5373adb73a291633067c9a8e11f05a32
2022-07-26 11:49:19 -04:00
Jaydeep Patel 0fed29f77c SWDEV-347592 - validate hipMemAllocationType & hipMemLocationType
Change-Id: Ia8c4d3edc7ad96efa429b3530a118199d4f92902
2022-07-25 23:56:20 -04:00
sdashmiz 66bde8f336 SWDEV-346456 - fix test for get/set attr
- test should allow first calling get function

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I365cd6210a01fd5ae3620711694bdc52e0f90b19
2022-07-25 15:17:27 -04:00
sdashmiz d0b9e0a4ff SWDEV-346423 - avoid race condition
- move removing the array from array set earlier to avoid race condition

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I9003c991e3e0f47ed0509ddfdbeaa145b5a1e0f1
2022-07-25 15:17:10 -04:00
sdashmiz fefb9ae466 SWDEV-347345 - add missing func for nvdia
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ie2a70778d01948083d724a9d20e1f17541178ec5
2022-07-24 21:38:14 -04:00
Jaydeep Patel 5b4e0321d4 SWDEV-345020 - The bit channel description should not allow any channels after a zero channel
Change-Id: I66e6d25c032d22f9616dc59730f1f094d30c01cf
2022-07-24 21:35:26 -04:00
Sarbojit Sarkar 53be27a84f SWDEV-343380 - Added hipDrvGetErrorName/String
Change-Id: If22d87b64f8ffc870c05482d28c7c91fb2b7d041
2022-07-24 21:32:48 -04:00
Ajay 789e718549 SWDEV-342009 SWDEV-340506 - assertion failures in managed variables
Change-Id: Iac884f2e3cece96e605e353a8851274ba578e8be
2022-07-22 11:48:34 -04:00
haoyuan2 b96ff76989 SWDEV-342896 - fix incorrect format setting
Change-Id: I1fa72eefa3b550d41db6a4cc0812771fb0035bdc
2022-07-22 11:17:50 -04:00
Satyanvesh Dittakavi ee27685ac4 SWDEV-340226 - SWDEV-340692 - Fix minor issues with hiprtc Link APIs
- hiprtcAddLinkData should accept 0 or null as input name
- hiprtcLinkCreate should accept 0 or null as options ptr
- hiprtcCompile should send -fgpu-rdc option to comgr if its present in the options

Change-Id: I84f6e36df5c99b719ee9c67dfc1b4dbcfd8e3172
2022-07-22 07:23:26 -04:00
Anusha Godavarthy Surya 0e2b348ef4 SWDEV-344166 - Updated HIP APIs to return hipErrorNoDevice when there are no devices in the system
Change-Id: I636828ff39d3b404f89bcc6e2cb7348d92c897ff
2022-07-22 06:59:19 -04:00
Satyanvesh Dittakavi a9935b3257 SWDEV-329802 - Refactor PCH to generate the right warp size on Navi GPUs
Change-Id: I817de9c858c152fee1f586303372820066a09dc9
2022-07-22 05:49:59 -04:00
Rakesh Roy 9f4214b587 SWDEV-344135 - Enable stream ordered memory and mempool tests
- Implement CUDA mappings for stream ordered memory allocator and memory pool APIs

Change-Id: I2434118ff043527ec7c3389cd5175e1e21d032bf
2022-07-21 00:05:39 -04:00
sdashmiz 4bac774783 SWDEV-346448 - fix the missing defines
for nvdi compile

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ifd0e50a6f8636609fa61680cc719a2f82fb1320c
2022-07-20 11:31:50 -04:00
Sarbojit Sarkar 7d23707817 SWDEV-346461 - Fix for QMCPack tes failure
Change-Id: I92979f0c16766c28da6b14b6e17364749fe39fe3
2022-07-19 02:13:07 -04:00
Sarbojit Sarkar 323ed5bd82 SWDEV-1 - Fixed hipGetErrorString
Change-Id: I7224014b945bafe1cec6d1d0e11184c3459ac1b0
2022-07-18 03:38:28 -04:00
Ajay 9b18e404ae SWDEV-327563 - catch2 deviceLib build failure
Change-Id: I82f95d61f64018a761e45dc8f424af032953fc51
2022-07-15 21:11:20 -04:00
Brian Sumner a47887aa0d SWDEV-343278 - fix conversion functions
Change-Id: Ib93f886363314e980462ef562c998981bb958569
2022-07-15 16:00:58 -04:00
Ammar ELWazir fb8690f812 SWDEV-345650 - Solving hipKernelNameRefByPtr Stream Issue
Stream is not important to get the kernel
name from Function that can be found in
the functions_ map.

Change-Id: I164bc3ebcc5552359856e76204d8b124ba0d2f34
2022-07-15 15:38:39 -04:00
Brian Sumner 4375b9f5b9 SWDEV-333033 - add safe and unsafe atomic min and max including gfx940 and add missing nvidia support
Change-Id: I829a0a5fd49c510e77eabbcb92d1a415ef6b5a4c
2022-07-14 10:22:42 -04:00
Jaydeep Patel 6b3b62f49e SWDEV-343168 - Clean ihipMallocPitch
Change-Id: Iab1c10ac2aea635ca10cc8bc98141df409ec917c
2022-07-14 01:15:08 -04:00
Sarbojit Sarkar a4d4289382 SWDEV-345741 - hipDeviceSetLimit windows build error
Change-Id: I384541b190f1eb9e045553299215345426c5adc2
2022-07-13 20:37:32 -04:00
sdashmiz 39dbf65782 SWDEV-321698 - add new enum entries to match cuda
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: If0a17b3234fd90b1f553a075e02280258000d36a
2022-07-13 10:22:06 -04:00
sdashmiz 848ae2c06b SWDEV-345021 - add check for pointer
add check for pAllocateArray

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I6c91295c1fe4cffdf22f6b8c07fe0a592c2f4f70
2022-07-13 10:21:48 -04:00
Ajay 67aa32d697 SWDEV-291455 - hiprtc-builtins and hiprtc libraries in install/hip/lib
Change-Id: I7e499a746e3f7178995863fd27221583a6934e8f
2022-07-12 17:07:15 -04:00
German Andryeyev ff23c5b716 SWDEV-311271 - Avoid a crash with the default queue
Move device access after the queue look-up

Change-Id: I799f23ff0299b20437c9a8edae42c38daa3e9ceb
2022-07-12 17:01:06 -04:00
Ajay 9eb45dd1e0 SWDEV-345188 - hipamd: warnings treated as errors for catch tests
Change-Id: I8981a530da2e0213c60f7a81b09d9c36e27e9025
2022-07-12 15:34:39 -04:00
Ajay 4274863f5d SWDEV-327563 - Unit_hipGraphAddKernelNode_Negative null kernelparams fix
Change-Id: Id05f8944f41c04036b310b23358c908a8efb5a5b
2022-07-12 12:41:28 -04:00
sdashmiz 030e7702f1 SWDEV-343160 - correct mutual exclusive flags
- flags passed should be only one type at a time

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I3e56f036e51d8cc84fe5c18c06cfa11cf785233f
2022-07-12 08:35:39 -04:00
Ranjith Ramakrishnan d65aaf2f78 SWDEV-345579 - Fix the installation path of FindHIP
The path variable was used incorrectly and this is causing issue in spack build

Change-Id: I34890577f1403d0d5efcba80d417ad5f9720aa6e
2022-07-11 14:40:43 -04:00
Konstantin Zhuravlyov a0ecfd13a9 roc-obj-extract: Only push STDIN if there are no arguments
- Otherwise this consumes the caller's stdin by accident.

Patch by:
  - Bolo -- Josef Burger
  - https://github.com/bigtrak

Change-Id: I669376c025c0cde2cfdd59b5a4a14a71c5d8e862
2022-07-11 14:30:03 -04:00
Ranjith Ramakrishnan db6eaa35aa SWDEV-344894 - Remove workaround code to strip the destination directory hip
HIP build scripts updated, so that cmake install prefix and cpack packaging prefix doesn't have destination directory hip
The workaround in source code is not at all required.

Depends-On: I6775407b4bfec84b6b911d333f3725c310539bfc
Change-Id: Ic1f5e170690d6dba0fec493143dea390c435cd42
2022-07-11 13:00:44 -04:00
Sarbojit Sarkar 7d9dd78613 SWDEV-341174 - Fixed typo
Change-Id: Ib605390bd17d014539d57488f0633db44d7c1fad
2022-07-11 12:24:18 -04:00
Sarbojit Sarkar 2531854626 SWDEV-345723 - Fixed test build issue
Change-Id: Id9545c9523bfad6b5afefcdc1f705d6043094ae4
2022-07-11 12:23:34 -04:00
Sarbojit Sarkar e9961fedd8 SWDEV-323441 - Phase-II : per thread default stream
Change-Id: I3c796ddaebcf0223d7faf50c425c1674de215f9d
2022-07-11 12:22:23 -04:00
sdashmiz 2b9e39e901 SWDEV-344165 - correct wrong output
some attributes retruns wrong values

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I75ba08cb07aa4abdb48e2e20ad7f58be7422158f
2022-07-11 10:11:25 -04:00
Rakesh Roy 4e6e175f16 SWDEV-344168 - Fix hipMemsetAsync API crash
- Return hipErrorInvalidValue if memset size + offset is crossing
  allocated memory size

Change-Id: I18bd7bcf90ccfce992acb4535a00a8560c0f684b
2022-07-11 02:23:37 -04:00
Jaydeep 4aa1ffcc45 SWDEV-343168 - return invalidValue if totalsize is more than device's global memory.
Change-Id: Ie052b9b75c9813d040fc23959df4146af98b96ed
2022-07-11 02:18:54 -04:00
Tao Sang 2a91d45704 SWDEV-327502 Disable 3D linear filter on Mi200
Change-Id: I3f79fb4f3a59cd7335c5ca2363cf1659a0a7f6aa
2022-07-08 11:31:57 -04:00
Sourabh Betigeri 8d48e0e6be SWDEV-273026 - Fixes to retrieve valid device memory data when device context is changed and p2p is enabled
Change-Id: Ie3f0b81f7fc6de8df65ccff35f9aefb8f6abdfbe
2022-07-08 01:45:49 -04:00
Ajay 01ea934b3e SWDEV-340506 - Unit_hipCreateTextureObject_Pitch2DResource fix
Change-Id: I85431036818a3eb24100b1660e806a1c80d847eb
2022-07-07 13:05:08 -04:00
Ajay eab4ea236c SWDEV-340506 - Unit_hipMalloc3DArray_Negative fix
Change-Id: I1fbf4be8aaef83b36749f1e253b5dba025e7f3cd
2022-07-07 12:17:45 -04:00