Граф коммитов

13474 Коммитов

Автор SHA1 Сообщение Дата
Jaydeep Patel 7ef4eada54 SWDEV-356551 - Add support for device attributes.
Change-Id: Ic0f2b9cb510b027e0b8d1b3fb6d984e0d2600b15
2022-10-11 12:06:44 -04:00
Satyanvesh Dittakavi 0d67bd3f09 SWDEV-360001 - Add hipLaunchHostFunc in Nvidia path
Change-Id: I5c733b416642174a089a86c420b03e8775e206d6
2022-10-11 06:18:52 -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
Saleel Kudchadker 6405b6cdba SWDEV-359548 - Detect fence optimization
- Use a dirty flag to determine fence optimization
- If fence is dirty submit a marker at top level to sync.

Change-Id: I53fb19b5bb05b7c7b37c41637a6c7aaf870b639a
2022-10-10 14:15:16 -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
Chauncey Hui 621faa03ec SWDEV-2 - Change OpenCL version number from 3512 to 3513 2022-10-08 03:00:09 -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
Saleel Kudchadker eef2f99513 SWDEV-356482 - Improve logging
Change-Id: I0c6286fcdb9d94398ed66262e95e8837898ff9fe
2022-10-06 11:13:24 -04:00
Chauncey Hui 3e3fa68657 SWDEV-2 - Change OpenCL version number from 3511 to 3512 2022-10-06 03:00:06 -04:00
Sourabh Betigeri 84fbb30b7c SWDEV-357246 - Adds a missing return statement
Change-Id: I2216f71f4d4fb6dd3766023b0c821cb3d35d7849
2022-10-05 16:29:32 -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 e00965df50 SWDEV-351980 - Add FillBuffer byte count to the record
Change-Id: I90c791f5810b8a3f6b1d6a9e81c165b1a7515c92
2022-09-30 21:20:14 -07: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
Chauncey Hui 800fe4b239 SWDEV-2 - Change OpenCL version number from 3510 to 3511 2022-09-30 03:00:10 -04:00
Jeremy Newton 65fd4f5f07 SWDEV-1 - Fix typo in compiler utils
Found by the Debian maintainers:
https://github.com/ROCm-Developer-Tools/ROCclr/issues/28

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Change-Id: I8c09913f7b7f4ad02f12a0630f15e66bdd5360a7
2022-09-29 18:14:29 -04: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
Chauncey Hui f93d921c4f SWDEV-2 - Change OpenCL version number from 3509 to 3510 2022-09-23 03:00:11 -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
Saleel Kudchadker 9b5cbd37a2 SWDEV-352001 - Store last scopes for dispatch
- Store last fence scopes and use the last value to determine if we need a cache flush again. This helps cases where hipExtLaunchKernel API is
used.
- Purge code for ROC_EVENT_NO_FLUSH

Change-Id: I531cf9c9c60d5e2b3a9e265d0f52f79ed2fa8a8c
2022-09-22 11:34:10 -04:00
Chauncey Hui ae46d57519 SWDEV-2 - Change OpenCL version number from 3508 to 3509 2022-09-22 03:00:08 -04:00
Maneesh Gupta 835b7578dc Revert "SWDEV-351980 - Update hip_prof_str.h"
This reverts commit f296e42803.

Reason for revert: Incorrect patch

Change-Id: I9adba47d0ab18f621b599295bd9d0fd98887f5d3
2022-09-21 13:04:38 -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
Maneesh Gupta f296e42803 SWDEV-351980 - Update hip_prof_str.h
Change-Id: Ied27c137aff54e69dc14129e6daad9196479edf9
2022-09-21 11:38:59 +00:00
Laurent Morichetti 52eb28930a SWDEV-351980 - Consolidate registration tables in the roctracer library
Remove the activity_prof::CallbacksTable. The table was redundant with
the information already stored in the roctracer library. Instead use a
single callback into the roctracer library to query whether the activity
is enabled, and to report it.

Change-Id: I2e05b0881bb4a1953c14361d00ea310d02eb6e0c
2022-09-21 05:54:09 -04:00
Laurent Morichetti e713b5c7d0 SWDEV-351980 - Enable profiling for commands reporting activities
Profiling should be enabled for any command reporting activities as the
activity record captures the profilingInfo's start and end timestamps.

Since IS_PROFILER_ON is only used to determine whether API tracing is
enabled, there is no need to expose it globally, it should be a property
of the activity_prof::CallbacksTable.

Change-Id: I44a0d19ed2862606cfbc9a98c1a07a336ab7e26c
2022-09-21 05:53:59 -04:00
Laurent Morichetti 4fbae91468 SWDEV-351980 - Move activity_ to the ProfilingInfo
The activity_ is only instantiated if profiling is enabled.

Remove the HIP private global record ID. Instead, use the correlation ID
stored in the hip_api_data_t by the profiler while the last HIP function
is in scope.

For NDRange and Copy commands, store the kernel name and byte size
(respectively) in the record.

General cleanups to improve the code's readability.

Change-Id: I01907484b0d9611eb9440c3a7c4865479dc42289
2022-09-21 05:53:47 -04:00
Chauncey Hui 5f77772e6e SWDEV-2 - Change OpenCL version number from 3507 to 3508 2022-09-21 03:00:08 -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
German df77380cee SWDEV-286150 - Switch PAL_DISABLE_SDMA to release build
Change-Id: Ibf800e1c767fd1e6bc9ebc4fc56b767b0a90bdef
2022-09-20 13:47:14 -04:00
Chauncey Hui ae8b862f1c SWDEV-2 - Change OpenCL version number from 3506 to 3507 2022-09-20 03:00:08 -04:00
Ajay 2801e4fe63 SWDEV-357334 - hipEventRecord_spt() to take optional stream arg
Change-Id: I19540c577e2c3635a00379f814350ada41020af2
2022-09-19 20:28:13 +00:00
Saleel Kudchadker 348a33434a SWDEV-301667 - Log file out per process
Change-Id: If1e797b8ffb397c03166d9b8e5b5369c42c39e60
2022-09-19 13:19:14 -04:00
Chauncey Hui df40e927c8 SWDEV-2 - Change OpenCL version number from 3505 to 3506 2022-09-17 03:00:06 -04:00
Ranjith Ramakrishnan 3d350393d8 SWDEV-340761 - Limit the removal of opencl conf file to package removal and provide unique name to icd file
While upgrading packaging in SLES/RHEL, the package to be upgraded is installed first, followed by cleanup of the older one
During upgrade 10-rocm-opencl.conf and icd file is getting removed as part of clean up, since the file name and path is same in different package versions.
Limit the removal of opencl conf file to  uninstall/removal of package and not during upgrade.
Used unique name for icd file

Change-Id: Ib34a78ce53e6b7d95adb70ccfd56474a297b64ca
2022-09-16 00:48:37 -07:00
Saleel Kudchadker df278887fe SWDEV-301667 - Pass all params to API Init
- Correct return for ihipLaunchKernel

Change-Id: I66e81fa635473e6e728936e4cfba9f1bc7f018ad
2022-09-15 22:20:02 -07:00
Ajay 373a7d1195 SWDEV-347670 - GPU StreamWait and StreamWrite support in Windows PAL backend
Change-Id: Ic4881305b6332e217f3d3127dce7e9d9d0a7df11
2022-09-15 13:57:40 -04:00
Chauncey Hui cf04d40a1a SWDEV-2 - Change OpenCL version number from 3504 to 3505 2022-09-15 03:00:09 -04:00
Sourabh Betigeri 1ee3a6d5c6 SWDEV-340649 - Removes a check to limit the size of allocation that was capped to the size of device memory available
Change-Id: Ia99264cc85a1e76293e4fad0734f544351c82809
2022-09-14 12:58:33 -04:00
kjayapra-amd 362e7961d9 SWDEV-351338 - Increase AQL Queue depth and reduce ROC_ACTIVE_WAIT_TIME to 0.
Change-Id: Iec0005d57933d0df2f55b4f7bdb84ada8a386a0c
2022-09-14 10:49:53 -04:00
Maneesh Gupta 8e10332ff1 Revert "SWDEV-339488 - Address HIPRT tests failure with spaces in the include path"
This reverts commit 89355fb586.

Change-Id: I10f91ec0205cd4276b141aade5728fdc20030195
2022-09-13 23:06:23 -04:00
Victor Zhang fe8acef64e Merge "SWDEV-343905 - Updated headers to match the khronos repository" into amd-staging 2022-09-12 14:32:42 -04:00
Maneesh Gupta 4afca0647e SWDEV-352502 - SWDEV-355630 - Revert "SWDEV-299940 - Query global memory available on device with HSA attribute HSA_AMD_AGENT_INFO_MEMORY_AVAIL"
This reverts commit 73021582d3.

Change-Id: I86175ccf2b543c3ff3dffec6ccae410976972f22
2022-09-12 07:34:32 -04:00
sdashmiz 39fc6605ec SWDEV-351274 - add proper checks for set attribute
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I9243e6180f3040341396b7159622f2b96e143ac2
2022-09-09 10:49:33 -04:00
Chauncey Hui c54da46b0c SWDEV-2 - Change OpenCL version number from 3503 to 3504 2022-09-08 03:00:07 -04:00