Commit Graph

12484 Commits

Author SHA1 Message Date
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
Chauncey Hui 2eeb00ba8a SWDEV-2 - Change OpenCL version number from 3488 to 3489 2022-07-30 03:00:06 -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
Anusha Godavarthy Surya 7b1c6d06d5 SWDEV-345683 - Fix HIP out of memory
If for every eventRecord handler is not submitted,
memory is not getting released during hipFree and leads to OOM.

Change-Id: I19b61a0c523502e9e1a3564ce8b791f3e2cea02c
2022-07-28 07:36:38 -04:00
Chauncey Hui 2e98e163a6 SWDEV-2 - Change OpenCL version number from 3487 to 3488 2022-07-28 03:00:08 -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 efedf08327 SWDEV-329516 - Don't clear error if setKernels returns false.
Change-Id: I75f69bcdf01bad63a9273dc37afd69644f6b3b22
2022-07-27 06:01:00 +00: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
Chauncey Hui 31468d0426 SWDEV-2 - Change OpenCL version number from 3486 to 3487 2022-07-26 03:00:08 -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
Ajay 8b89c05e2f SWDEV-317716 - Win: hipDeviceGetUuid return default uuid for pal device
Change-Id: Id102b54c78f031a8e7cc5ab5223cef9a0914d4fd
2022-07-21 00:03:33 +00: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
Chauncey Hui f8627e6121 SWDEV-2 - Change OpenCL version number from 3485 to 3486 2022-07-15 03:02:41 -04:00
sdashmiz e176e27bf7 SWDEV-334233 - add support for p2p in windows
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I9109120b5444c400e65cfff869cb36e876ffd1fc
2022-07-14 15:07:33 -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
Chauncey Hui 782e0f2a8d SWDEV-2 - Change OpenCL version number from 3484 to 3485 2022-07-14 03:00:05 -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
Maneesh Gupta 959ba793db SWDEV-286739 - VDI needs ROCr 1.6+
Change-Id: I5774563edf001eed2994e92713630adbfb75c489
2022-07-13 04:15:32 -04:00
Chauncey Hui 39fa4aae1f SWDEV-2 - Change OpenCL version number from 3483 to 3484 2022-07-13 03:00:06 -04:00
Saleel Kudchadker 6a77f73050 SWDEV-301667 - Increase kern arg pool
Change-Id: Ie4b087ae4aec08fccaaa7958cdf545e4e27ac5c1
2022-07-12 18:42:29 -04:00
Tao Sang 1e26165cd0 SWDEV-286739 - Support hipDeviceAttributeWallClockRate
Part 1: Query constant frequence of wall clock from RocR

Change-Id: I52cbba6d67d11cde6d019c5ab530059f426a9bf2
2022-07-12 17:53:11 -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
Saleel Kudchadker 175ad024d3 SWDEV-260345 - Manage constant buffer for blit
- Leverage managed buffer that would use chunks for fill pattern. Use a
different chunk for the next fill to avoid wait

Change-Id: I254483c867e112f66564ffd8f55e0a605d8896c9
2022-07-12 12:41:02 -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