Commit Graph

1570 Commits

Author SHA1 Message Date
Maneesh Gupta fab70a41ed Revert "SWDEV-330775 - Update search path for LLVM"
This reverts commit 3d15f9cbda.

Reason for revert: SWDEV-368704

Change-Id: I8c38b4f40285f90f7d99145b970c2a14d051d5bb
2022-11-22 09:14:24 -05:00
sdashmiz c5e7b56463 SWDEV-366974 - add proper error
- Null stream correct error when blocing stream is being captured

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I0d902a4f4ef02736a6db60ba7bffa7c20011bc84
2022-11-21 10:39:21 -05:00
Maneesh Gupta 1c45f257b9 Revert "SWDEV-363069 - Disable sync force for MT"
This reverts commit 52ff4368e5.

Reason for revert: SWDEV-365075, SWDEV-367163, SWDEV-367164, SWDEV-367173

Change-Id: Id2924c60e46e9879038ded358f777c71cd95b2c1
2022-11-17 01:04:44 -05:00
German 2cde04bf9b SWDEV-367745 - Report hipDeviceAttributeUnifiedAddressing
Change-Id: I4d1d598f64f613430fecdc0d6b4cfa9845e04687
2022-11-15 15:53:02 -05:00
pghafari 06edbb8177 SWDEV-356560 - updating error msg to match cuda
Change-Id: I1c387cf04d041257b4d168b4cf4d8949153fd69f
2022-11-15 13:19:33 -05:00
Rakesh Roy 2b426a632f SWDEV-362366 - Add validation for hipInit flags
- Return hipErrorInvalidValue when flags != 0

Change-Id: Ib2a7ea2acf083fa859d6c3bd91a12b39e877b4fd
2022-11-14 23:52:32 -05:00
Siu Chi Chan 3d15f9cbda SWDEV-330775 - Update search path for LLVM
ROCm's LLVM will be moved into /opt/rocm-<ver>/lib/, teach hipcc and
hipconfig about the new location.

Change-Id: Ie7f17146771aff94c684deb22148226cbb3a2895
2022-11-14 13:31:07 -05:00
Julia Jiang c9ce9b3300 SWDEV-352687 - fix AlignedAllocMem in hmm
Change-Id: Icec74ac732a0a6ac2a2600f504aa1ec73717c0ca
2022-11-14 13:10:02 -05:00
Maneesh Gupta 8f4e94d532 SWDEV-342014 - Handle partial fills in hipDeviceGetName
Change-Id: Ic9f1743c6a8439d88acc6dd1ed496013d551f6ec
2022-11-11 14:52:48 -05:00
kjayapra-amd cc9427e969 SWDEV-356947 - Create a new thread if current thread is nullptr.
Change-Id: Iebd69f22284041ed450d583471d24cb82fb0e47a
2022-11-10 22:12:02 -05:00
Satyanvesh Dittakavi 1155dbda1e SWDEV-364545 - Fix hiprtc cmake target on Windows
Change-Id: I360d0d1ee7f6a0c65a4d6cd07620bfa2a503c19f
2022-11-10 01:23:42 -05:00
Satyanvesh Dittakavi 30d6497953 SWDEV-363369 - Elapsed time needs only stop event timings if both start and stop events are recorded
Change-Id: I91c9ce79aacf1014ae77600d1250cfccd9dd6039
2022-11-09 00:31:06 -05:00
sdashmiz 9c83b3e0b2 SWDEV-361592 - allow nullptr for userdata in hiphostfunc
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I91728d363846ac6417d4a59920509ffacd4c9a58
2022-11-04 13:37:17 -04:00
sdashmiz 33f02abc41 SWDEV-356569 - check for mempool device
- mem pool should be from same device

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Id06a7f070c019548462c235bff3c0cd972e6eb8a
2022-11-04 09:36:22 -04:00
Jaydeep Patel e7a34f9efe SWDEV-365048 - extra marker is required for HW event check, which is done before the callback is finished.
Change-Id: Ib46bfc4e060a60fb14aa782688d35b34534cca65
2022-11-04 00:34:14 -04:00
German Andryeyev 55d085ca8c SWDEV-364457 - Don't attempt adding duplicates into the memory map
KMD can enable hipHostRegister optimization  with HMM path.
That will make CPU and GPU pointers matching.

Change-Id: Iad96ceada5cfa3bada20452b906f744f9dbaebbe
2022-11-03 10:04:12 -04:00
Jaydeep Patel 4e2f7192e3 SWDEV-362367 - pciBusId should be large enough to store 13 characters including the NULL-terminator.
Change-Id: Ie58be0495065713bae7e13923ac04a4643e246be
2022-11-03 00:04:27 -04:00
Tao Sang 0c4307f86e SWDEV-363038 - Fix hipGraphKernelNodeSetParams
Fix crash in hipGraphKernelNodeSetParams where paremeters
are taken from hipGraphKernelNodeGetParams.

Change-Id: I2216f72f4d4de6dd3766343b0d821cb3d35d7853
2022-11-01 15:02:39 -04:00
Julia Jiang 3415f0a56e SWDEV-342013,SWDEV-342014 - Update validation on hipDeviceGet and hipDeviceGetName
Change-Id: I719da6169ce9f505449e07775cb94a5718f79ca3
2022-10-31 11:44:40 -04:00
agunashe 47ae1f1fff SWDEV-337331 - Windows graph fix
Unit_hipGraphNodeGetDependentNodes_Functional
Unit_hipGraphNodeGetDependencies_Functional
Unit_hipGraphAddEventRecordNode_Functional_WithoutFlags
Unit_hipGraphMemcpyNodeSetParams_Functional
Unit_hipGraphExecChildGraphNodeSetParams_ChildTopology

Change-Id: I762776d33f27197bcc012951a1828d3d1d2b3e2e
2022-10-28 14:46:04 -04:00
sdashmiz 84fa61a39b SWDEV-363850 - fix a bug in mutual exclusive flags
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: If7687b5bf7ec7ff1978991cbf7dafa0612912274
2022-10-27 11:23:35 -04:00
pghafari 895473e8d8 SWDEV-362280 - retur NotSupoorted for hip-vulkan
hip-vulkan semaphore on rocm is not supported

Change-Id: I6e01c4f5b192cfb17546a29a1cb17f320c4b1adc
2022-10-24 13:36:18 -04:00
German 52ff4368e5 SWDEV-363069 - Disable sync force for MT
hipMemcpyAsync doesn't require any forced sync even for sysmem

Change-Id: I83951f6118e84d79c74d5671df62678c5db085a8
2022-10-24 10:59:07 -04:00
German 413cc757af SWDEV-363602 - Notify cmd queue about callback wait
Remove extra barrier, since ROCR backend in DD mode blocks HW queue now when a callback is injected
Add a notificaiton for MT mode about possible waiter for a callback

Change-Id: Ifd70ce5597e1ba868e4197ad1850ace11a4f90ae
2022-10-24 10:56:20 -04:00
sdashmiz 4fc9df2a1a SWDEV-357917 - correct userobj for negative test cases
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I6a2a74c763d2b938430ca53a14360f459af04665
2022-10-24 10:27:02 -04:00
German 8d2885f331 SWDEV-345024 - Restore break
Commit 60656d9fc9 accidently removed break for mempool property

Change-Id: Ica3cbec796ca6b2366583d3302d3226c73224177
2022-10-21 18:04:20 -04:00
Laurent Morichetti 19107858d6 SWDEV-361847 - Print 'char' parameters as 'integer'
When printing HIP API function parameters, use the integer format to
print 'char' arguments to avoid printing invalid ASCII characters
(value > 127).

Make sure the roctracer::hip_support::detail operator<< overloads are
used when printing arguments.

Change-Id: Id072c2ed19b1b4166108599e393d1cae6c54b6b0
2022-10-21 14:55:33 -04:00
Satyanvesh Dittakavi bded3d8d1f SWDEV-362371 - Uninitialized stream error checks
Change-Id: I7e04ef46f0cf2b0c45caf42d5b2ee31cb68e93eb
2022-10-20 21:57:11 -04:00
pghafari d7b27989b4 SWDEV-356557, SWDEV-356558 - matching cuda return
Change-Id: I3b7d50e07bd437bd23a495439d66940ff30f7f07
2022-10-19 09:17:28 -04:00
kjayapra-amd 1b902e1809 SWDEV-355727 - Change in AMDGCN format in bitcode.
Change-Id: Ic32a3e7b866b35a321d8ececc2f6c63f9b23121d
2022-10-13 14:19:03 -04:00
Saleel Kudchadker da88091ba4 SWDEV-359548 - Enqueue marker if fence is dirty
The marker would flush any caches.

Change-Id: I5f990285fb3c3a3e8d5d0b2a2d5a9f1fdcea435c
2022-10-13 07:53:01 -04:00
Anusha GodavarthySurya 039e26ee0f SWDEV-357759, SWDEV-360041, SWDEV-361145 Fix Stream end capture on forked streams
Change-Id: If0dc6242d2d3ca680e37e14a5dea5cf68dc295df
2022-10-12 13:00:05 -04:00
Tao Sang 56e7c8b3a0 SWDEV-318349 - Remove sync for null stream
Remove sync for null stream in  hipGraphExec::Run()

Change-Id: Ieaaed1c15b4d258193d8341d4b17d9f03a9e4783
2022-10-12 09:46:18 -04:00
pghafari 88c399a43d SWDEV-356570, SWDEV-356571, SWDEV-356572, SWDEV-356575 -
updating with current status of hipNotSupported and null checks

Change-Id: I3b1ce3d3e5ce9b69d1f5dacda35f5aa586714f5c
2022-10-11 23:45:27 -04:00
Ajay be80bf5406 SWDEV-353548 - assert with different behavior for Release vs Debug
assert statement behavior
-Debug: crashes tests with SIGABORT
-Release: continues silently without

Change-Id: I7578eb16a7391ff7f9d68f1cae3bcea7f8225579
2022-10-11 14:00:28 -04:00
Anusha GodavarthySurya 0a3e89c0cb SWDEV-356314 - Init managed vars on device kernel is launched
Change-Id: I9c30b7d0e2a490dbb2bd9c02dccaae17d76874ef
2022-10-11 00:18:30 -04:00
Laurent Morichetti c3a340c21b Fix a build error when compiling with clang
Fix the following error:

hip_intercept.cpp:52:7: error: reinterpret_cast from 'const void *' to 'decltype(activity_prof::report_activity.load())' (aka 'int (*)(activity_domain_t, unsigned int, void *)') casts away qualifiers
      reinterpret_cast<decltype(activity_prof::report_activity.load())>(function),
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

by replacing the 'const void *function' argument with the correct type.

Change-Id: I859d45ee01b7aaa1e46563cdc37de57b4159d330
2022-10-10 12:30:36 -04:00
Rakesh Roy 8b391ef18c SWDEV-351969 - TLS Optimization
- Aggregate all TLS(Thread Local Storage) variables into a single class
- This is to improve cache accesses per thread

Change-Id: Ic8361eaeae290fff00254684e309471958365eb9
2022-10-09 22:08:14 -04:00
Tao Sang f83ba8cd23 SWDEV-318349 - Fix hipGraphKernelNode and hipGraphMemcpyNode
For hipGraphKernelNode, remove func_;
and reorganize functions to naturely support mGPU;
For hipGraphMemcpyNode, make EnqueueCommands() support different
queues' sync
Change-Id: I22708923f454adf4456ff99d25559daffed8c20d
2022-10-07 09:07:56 -04:00
Sourabh Betigeri aeeab1c975 SWDEV-357246 - Fixes to return with a error code instead of segfault in alloc failure case
Change-Id: Ie18d50f2f7ef3f4b2c0153152fca057232c1f8a2
2022-10-04 09:38:42 -04:00
Laurent Morichetti 47a29c748a SWDEV-359838 - Add a phase data pointer to the hip_api_data_t
To avoid using the thread local std::stack to remember the phase enter
timestamp, the tracer tool uses the phase data to store the timestamp.

Change-Id: I9e95637b41d6f0b2bd61016062ca07d6ba897652
2022-09-30 14:55:01 -07:00
Satyanvesh Dittakavi b425e27230 SWDEV-357250 - hiprtc support with AMD_LOG_LEVEL when linked as separate library
Change-Id: Ieda83af85a9344b4e09d4fe85acc65386db79c39
2022-09-23 05:50:07 -04:00
kjayapra-amd ab89a70f5d SWDEV-356651 - Merge hipJit options between hiprtc and hip runtime.
Change-Id: I73b66eaf081ce63b6b7ce45f71880877953cf81c
2022-09-22 12:53:58 -04:00
kjayapra-amd d870bdb9b1 SWDEV-355727 - Added more rules to target ID comparison in hiprtc.
Change-Id: I56137375c3eb47dd604c7a02bb88f7e3dbe6c04d
2022-09-21 12:18:13 -04:00
Laurent Morichetti 0b1ea7e075 SWDEV-351980 - Remove the ROCtracer private interface from the public header
Change-Id: I51d45cca5051f04d3c1b59ca2a9cf1db5fd1ebd4
2022-09-21 02:41:47 -04:00
Laurent Morichetti 82bce811ee SWDEV-351980 - Consolidate registration tables in the roctracer library
Remove the api_callbacks_table_t that was holding the API activities and
user callbacks. Instead use a single roctracer callback (TracerCallback)
used to report both API activities and callbacks.

Remove the hipInitActivityCallback that was setting the ROCtracer
callback and memory pool for asynchronous activities as it did not
allow disctinct pools to be used for each activity.  Instead, use
hipRegisterTracerCallback to set the single roctracer callback.

Change-Id: I4c10f04f29a6e4cce8caf15db3016c3f72c86b04
2022-09-21 02:41:39 -04:00
Laurent Morichetti eeddffc1b1 SWDEV-351980 - Remove IS_PROFILER_ON
The CallbacksTable::is_enabled() can simply be implemented by checking
if enabled_api_count is > 0. The ROCclr does not use IS_PROFILER_ON
to report asynchronous activities.

Change-Id: Iab3d034357e51282bf2c453b2ac5c9726786b9eb
2022-09-21 02:41:29 -04:00
Laurent Morichetti 85fd969253 SWDEV-351980 - Move hip_api_data and record to the HIP function's stack
Since the hip_api_data and record are only needed at the HIP function's
scope, there is no need to allocate/free them in the ROCtracer activity
callback, they can reside on the HIP function's stack frame.

This solves an issue with the thread local stacks of records the tracer
maintains that are destroyed first (before any global destructor) on
process exit, making it impossible to use HIP functions in global
destructors when the profiler is enabled.

Change-Id: Ib1d70124d009a44dc1f08d41edff95e5f9f84369
2022-09-21 02:41:15 -04:00
pghafari 42b5a6d5af SWDEV-356554 - updated hipDeviceGetDefaultMemPool
updated the error check/messages

Change-Id: I518d497a82a14862d5168cc423aeaa20075336b8
2022-09-20 16:42:48 -04:00
pghafari f1d8a02122 SWDEV-356582 - set the parent node in Graph Clone
Change-Id: I9b685ca9827b0a0dddc3ef6a0394b298d1031f04
2022-09-20 16:42:29 -04:00