커밋 그래프

6551 커밋

작성자 SHA1 메시지 날짜
Laurent Morichetti 008aa1c2e1 SWDEV-351980 - Use std::shared_mutex
Replace the custom reader/writer lock with the standard implementation
available in C++17.

Change-Id: I46013b821f13a023a16094830b7f45c4bacf11cb
2022-08-18 21:55:31 -04:00
Sarbojit Sarkar b39a56be25 SWDEV-2 - clean-up for hipMemset and other memset APIs
Change-Id: I0270be2843ee5f79c1c476cec7807c0b920869de
2022-08-18 12:04:16 -04:00
Jaydeep Patel adfb40ed42 SWDEV-351285 - Change error.
Change-Id: Ia841a24cf774b2e2d8f6b6e37f3d8f43cb73f8df
2022-08-18 07:07:56 -04:00
Satyanvesh Dittakavi e147318403 SWDEV-351377 - hipIpcOpenEventHandle need not reset device ID
Change-Id: If4b4a3dbdd8016accc7fc083911cafa8bcb44154
2022-08-18 00:30:56 -04:00
sdashmiz 2c010dec17 SWDEV-325711: Add userobject functions for graph
- add user obj APIs for creating release and retain of user onbjects

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I0bf2999c77e44269565b27c31c7c1461f8a160a2
2022-08-17 14:31:43 -04:00
Laurent Morichetti a682934251 SWDEV-351980 - Acquire the code object lock in StatCO::getStatFuncName
Change-Id: I52ce2530d12fbe47e575feb2aab39bbfdfebd201
2022-08-16 19:43:15 -04:00
Ajay 113cc9ae2a SWDEV-344168 - hipVmm functionality memory check fix
Change-Id: Ia1de96ac9dbcbfb6a94a234aec3bf6cb51961799
2022-08-16 11:04:56 -07:00
kjayapra-amd 9e9754be80 SWDEV-351508 - Change the data_kind to BC from FATBIN, since unbundling happens in runtime now.
Change-Id: Iaf6e85637edaa92171edc4edc650a0b4598bf625
2022-08-12 19:52:29 -04:00
Jaydeep Patel 5b6ffb6380 SWDEV-351200 - Validate desc.
Change-Id: Ic8690c9a2134ca42f4bec626ca787587a32856fb
2022-08-11 07:17:21 +00:00
Sarbojit Sarkar db35b25d3f SWDEV-344210 - Fixed page fault when mempool accessed from remote device
Change-Id: I759296a3177560719759f7dd8766e07664285689
2022-08-11 00:02:29 -04:00
Jaydeep Patel 35051e778d SWDEV-351031 - Any bit other than the rightmost 4 bits shouldn't be set
Change-Id: I6c834f491ce393eb37259eabc603220c5b5f164e
2022-08-10 23:30:22 -04:00
Ajay b380a95597 SWDEV-348678 - hipManagedVar to initialize on all devices
Change-Id: Id714b56e89e4930ee067f3a7472a0029057d2711
2022-08-10 16:54:19 +00:00
Satyanvesh Dittakavi d12f205fd1 SWDEV-341992 - Add hipRefTex data types mapping on nvidia path
Change-Id: Icec2ec110f2647bfb4c571ff16dd3852cfc9fe4a
2022-08-10 02:45:25 -04:00
Satyanvesh Dittakavi c33a6b4a03 SWDEV-350479 - Add missing hiprtcVersion symbol on Windows
Change-Id: Ifcb737adddade80ebe91a50812c96c585d7d3217
2022-08-09 03:15:12 -04:00
Satyanvesh Dittakavi 9299d5febb SWDEV-336448 - hiprtc dll versioning on windows
Change-Id: I6ab6f975bcd7cd2fb27d59d0860a6dbe8434970e
2022-08-09 00:50:21 -04:00
Jaydeep Patel 638f9a7c0e SWDEV-348565 - Support for += operator.
Change-Id: I29045733de3906849e68b89c22e01badc9bd2b24
2022-08-05 02:59:39 -04:00
Jaydeep Patel 366050b14f SWDEV-346382 - Don't fall back to sync for hipMemcpyAsync from host to device.
Change-Id: I5aab9041f87c549a03c86e95a39bfa437126a99b
2022-08-05 02:32:55 -04:00
Ranjith Ramakrishnan d60787bdb2 SWDEV-349826 - Use get_filename_component rather than using file command to get realpath
The cmake file command with REAL_PATH option is supported from cmake version 3.19 onwards
Issue reported in cmake version 3.17. get_filename_component is supported since 3.4 onwards
The command gives REALPATH with symlinks resolved - /opt/rocm-ver/lib/cmake/hip/hip-config.cmake
So need to move four level up to get ROCM PATH
Verfied by printing the variables
Change made so that default initializaton of ROCM PATH is executed if there is no ROCM_PATH set in ENV

Change-Id: Ibfff584eeb154bd73a568a842f28143d5ed72458
2022-08-04 13:39:09 -07:00
sdashmiz 58c5e17c5f SWDEV-347595 - return proper error
- if flags are not supported

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Id7570d2c5f3d1169da33561f05c278dcd1834db6
2022-08-04 15:57:15 -04:00
kjayapra-amd 4bba4faa0c SWDEV-346018 - Support unbundling of code object in runtime for hiprtc.
Change-Id: Idda30def999b28500738c7b48560d36ca6a8e730
2022-08-03 17:57:29 -04:00
Satyanvesh Dittakavi 958b97b433 SWDEV-2 - Fix hiprtcCompileProgram
- hiprtcCompileProgram should create isa with temp name when
  program name is not provided along with --save-temps option

Change-Id: I47974e2ac56336c851531622ff7d2a3ffb53455e
2022-08-02 16:16:31 -04:00
Sarbojit Sarkar 0444d20e07 SWDEV-338732 - Made hipMemset* default async
Change-Id: I0ebf6473b6825162fc828bb8cac47743e14ffd19
2022-08-02 07:14:57 -04:00
Jaydeep Patel c61701323e SWDEV-329516 - Propogate hipErrorSharedObjectInitFailed from getStatFunc.
Change-Id: I60160f8d0c0dab20649a4e7c03448f4ae9a9c95b
2022-08-02 01:50:50 -04:00
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