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

64512 Коммитов

Автор SHA1 Сообщение Дата
David Yat Sin 687eb043d4 Add retain handle and get allocation properties
Support function to retain allocation handle for memory mappings.
The get allocation properties function will return the current
allocation properties for existing memory mappings.

This is part of patch series for Virtual Memory API.

Change-Id: I0a53a11b6efc2b5bf9d463512a489a2abd812551
2023-07-21 15:17:01 -04:00
David Yat Sin bf41567189 Add retain handle and get allocation properties
Support function to retain allocation handle for memory mappings.
The get allocation properties function will return the current
allocation properties for existing memory mappings.

This is part of patch series for Virtual Memory API.

Change-Id: I0a53a11b6efc2b5bf9d463512a489a2abd812551


[ROCm/ROCR-Runtime commit: 687eb043d4]
2023-07-21 15:17:01 -04:00
David Yat Sin b03c96c264 Support exporting and importing memory mappings
Support exporting  and importing dmabuf file descriptors for memory
mappings. The exported dmabuf file descriptors are shareable posix
file descriptors that can be used for cross-vendor, cross-device
and cross-process memory sharing.

This is part of patch series for Virtual Memory API.

Change-Id: I3673fc009f7e73bc26be8349e19f66e20d0607c5
2023-07-21 15:17:01 -04:00
David Yat Sin 0bcc573ed7 Support exporting and importing memory mappings
Support exporting  and importing dmabuf file descriptors for memory
mappings. The exported dmabuf file descriptors are shareable posix
file descriptors that can be used for cross-vendor, cross-device
and cross-process memory sharing.

This is part of patch series for Virtual Memory API.

Change-Id: I3673fc009f7e73bc26be8349e19f66e20d0607c5


[ROCm/ROCR-Runtime commit: b03c96c264]
2023-07-21 15:17:01 -04:00
David Yat Sin 13fbd8a232 Support Get and Set access for memory mappings
Mapping memory handles to virtual memory addresses do not make them
accessible. The set access function is needed to make the memory
mappings accessible to specific agents. The get access function
returns current access properties for individual agents.

This is part of patch series for Virtual Memory API.

Change-Id: I152ba0557fd2a802eb9d840568b68cdd1911b72c
2023-07-21 15:17:01 -04:00
David Yat Sin 933aac4cda Support Get and Set access for memory mappings
Mapping memory handles to virtual memory addresses do not make them
accessible. The set access function is needed to make the memory
mappings accessible to specific agents. The get access function
returns current access properties for individual agents.

This is part of patch series for Virtual Memory API.

Change-Id: I152ba0557fd2a802eb9d840568b68cdd1911b72c


[ROCm/ROCR-Runtime commit: 13fbd8a232]
2023-07-21 15:17:01 -04:00
David Yat Sin 179dcf1c77 Support mapping and unmapping memory handles
Add support for mapping and unmapping memory handles to virtual
address ranges.

This is part of patch series for Virtual Memory API.

Change-Id: If512d49ff4211e68f2064249add607a3200e458a
2023-07-21 15:17:01 -04:00
David Yat Sin 203934445a Support mapping and unmapping memory handles
Add support for mapping and unmapping memory handles to virtual
address ranges.

This is part of patch series for Virtual Memory API.

Change-Id: If512d49ff4211e68f2064249add607a3200e458a


[ROCm/ROCR-Runtime commit: 179dcf1c77]
2023-07-21 15:17:01 -04:00
David Yat Sin e4a84c4a9c Support memory handles
Add support for creating and releasing memory handles. Memory
handles are memory allocations on device memory without a virtual
address.

This is part of patch series for Virtual Memory API.

Change-Id: I5dfb162eb1661621cce171b2870a3c93b24d840e
2023-07-21 15:17:01 -04:00
David Yat Sin 15aa42edb5 Support memory handles
Add support for creating and releasing memory handles. Memory
handles are memory allocations on device memory without a virtual
address.

This is part of patch series for Virtual Memory API.

Change-Id: I5dfb162eb1661621cce171b2870a3c93b24d840e


[ROCm/ROCR-Runtime commit: e4a84c4a9c]
2023-07-21 15:17:01 -04:00
David Yat Sin 1085311f1a Support Virtual Address reservations
Add support for reserving virtual address ranges. Virtual address
ranges are addresses without any memory backing. These address ranges
need to be mapped to memory handles later.

This is part of patch series for Virtual Memory API.

Change-Id: I5d066e7421d6896f933f524312afc230a13d594e
2023-07-21 15:17:01 -04:00
David Yat Sin b219d0224d Support Virtual Address reservations
Add support for reserving virtual address ranges. Virtual address
ranges are addresses without any memory backing. These address ranges
need to be mapped to memory handles later.

This is part of patch series for Virtual Memory API.

Change-Id: I5d066e7421d6896f933f524312afc230a13d594e


[ROCm/ROCR-Runtime commit: 1085311f1a]
2023-07-21 15:17:01 -04:00
David Yat Sin a55f11025b Change libdrm initialization
Change initialize libdrm device and file descriptor initialization
to use new APIs from Thunk. Libdrm recommends that we re-use the same
file descriptor thoughout the life of a process instead of re-creating
new one each time.

This is part of patch series for Virtual Memory API.

Change-Id: I1c0b8d1bd660cd25478b5f94c84071b90d93fc6c
2023-07-21 15:17:01 -04:00
David Yat Sin 667ed434fb Change libdrm initialization
Change initialize libdrm device and file descriptor initialization
to use new APIs from Thunk. Libdrm recommends that we re-use the same
file descriptor thoughout the life of a process instead of re-creating
new one each time.

This is part of patch series for Virtual Memory API.

Change-Id: I1c0b8d1bd660cd25478b5f94c84071b90d93fc6c


[ROCm/ROCR-Runtime commit: a55f11025b]
2023-07-21 15:17:01 -04:00
David Yat Sin e65edb35fc Add check/query for virtual memory API support
Checks whether version of libdrm library installed on current
system supports the amdgpu_device_get_fd API. This API is
required to support the virtual memory API functions. The
amdgpu_device_get_fd function was introduced in libdrm-2.4.109.
Using a runtime check test instead of static dependency to be
able to support previous APIs on older versions of libdrm.
Add query for virtual memory API support.

This is part of patch series for Virtual Memory API.

Change-Id: Iec831eb24b5d1689c392e50ae86f4d52d4870ac4
2023-07-21 15:17:01 -04:00
David Yat Sin 2a5f4263a8 Add check/query for virtual memory API support
Checks whether version of libdrm library installed on current
system supports the amdgpu_device_get_fd API. This API is
required to support the virtual memory API functions. The
amdgpu_device_get_fd function was introduced in libdrm-2.4.109.
Using a runtime check test instead of static dependency to be
able to support previous APIs on older versions of libdrm.
Add query for virtual memory API support.

This is part of patch series for Virtual Memory API.

Change-Id: Iec831eb24b5d1689c392e50ae86f4d52d4870ac4


[ROCm/ROCR-Runtime commit: e65edb35fc]
2023-07-21 15:17:01 -04:00
David Yat Sin 3ebe1fdff9 Add query for recommended granularity size
Add new query for recommended granularity size. This is the
internal blocksize used. While the existing query for granularity
size returns the minimum size possible, it is recommended that
allocations and mappings are multiple of the recommended granularity
size to minimise internal memory fragmentation.

This is part of patch series for Virtual Memory API.

Change-Id: Ia82c8f073b2a2c47ecd26fbb0aba27b8b7cd965f
2023-07-21 15:17:01 -04:00
David Yat Sin 2be68e2502 Add query for recommended granularity size
Add new query for recommended granularity size. This is the
internal blocksize used. While the existing query for granularity
size returns the minimum size possible, it is recommended that
allocations and mappings are multiple of the recommended granularity
size to minimise internal memory fragmentation.

This is part of patch series for Virtual Memory API.

Change-Id: Ia82c8f073b2a2c47ecd26fbb0aba27b8b7cd965f


[ROCm/ROCR-Runtime commit: 3ebe1fdff9]
2023-07-21 15:17:01 -04:00
Jatin Chaudhary dfc4d60ec4 SWDEV-412457 - remove unused header, add correct header for cpp
Change-Id: I2192daec7c033e94097c26db6177e14558a8728d


[ROCm/clr commit: b67d055eb6]
2023-07-21 11:30:59 -04:00
Jatin Chaudhary b67d055eb6 SWDEV-412457 - remove unused header, add correct header for cpp
Change-Id: I2192daec7c033e94097c26db6177e14558a8728d
2023-07-21 11:30:59 -04:00
Ajay eaed05a860 SWDEV-411709 - rename .hipVersion to version. Fix path to share/hip
Change-Id: Ic7ec170f2fc6e3197d9a37b28dfc1d0b9611954b


[ROCm/clr commit: 2205684f6c]
2023-07-21 11:04:41 -04:00
Ajay 2205684f6c SWDEV-411709 - rename .hipVersion to version. Fix path to share/hip
Change-Id: Ic7ec170f2fc6e3197d9a37b28dfc1d0b9611954b
2023-07-21 11:04:41 -04:00
Kent Russell 1958224379 run_kfdtest.sh: Clarify parameters taking arguments
For --node and --exclude, these flags take arguments, but usage was
unclear. This led to attempts like --node=1 , which will not work
appropriately. Add examples for flags that take parameters, as well as
the requirements for those parameters. Also change --exclude parsing to
match --node parsing, for consistency

Change-Id: I563ba9b370a24d9a84b9c39093f3cb1a5d723cef
2023-07-21 10:53:31 -04:00
Kent Russell 2f8278adaf run_kfdtest.sh: Clarify parameters taking arguments
For --node and --exclude, these flags take arguments, but usage was
unclear. This led to attempts like --node=1 , which will not work
appropriately. Add examples for flags that take parameters, as well as
the requirements for those parameters. Also change --exclude parsing to
match --node parsing, for consistency

Change-Id: I563ba9b370a24d9a84b9c39093f3cb1a5d723cef


[ROCm/ROCR-Runtime commit: 1958224379]
2023-07-21 10:53:31 -04:00
Ioannis Assiouras 62b3d8f59b SWDEV-412496 - treat USE_PROF_API to always be true
Change-Id: I77cfac409215a33d11228a0f2da9ffba63c3d73a


[ROCm/clr commit: cb7776ef07]
2023-07-21 04:42:57 -04:00
Ioannis Assiouras cb7776ef07 SWDEV-412496 - treat USE_PROF_API to always be true
Change-Id: I77cfac409215a33d11228a0f2da9ffba63c3d73a
2023-07-21 04:42:57 -04:00
Charis Poag 9b5289aff7 Update logging and README for other project usage
Updates:
    * [rocm-smi] Logging now can update files on
      per-project-basis for install/remove
    * [rocm-smi] README now has latest build
      instructions, including test builds
    * [rocm-smi] Updated README to include
      revision dates

Change-Id: Ifb19a6f32ccf6938f47225db53fef88021909264
Signed-off-by: Charis Poag <Charis.Poag@amd.com>


[ROCm/rocm_smi_lib commit: 4613e8dec3]
2023-07-20 19:09:11 -05:00
Charis Poag 4613e8dec3 Update logging and README for other project usage
Updates:
    * [rocm-smi] Logging now can update files on
      per-project-basis for install/remove
    * [rocm-smi] README now has latest build
      instructions, including test builds
    * [rocm-smi] Updated README to include
      revision dates

Change-Id: Ifb19a6f32ccf6938f47225db53fef88021909264
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
2023-07-20 19:09:11 -05:00
David Yat Sin cf369d6388 Support extended scope fine-grained memory
Add display flag for extended scope fine-grained memory

Change-Id: I73f965e12a7a68afcd71f93a7b6a1af453de0510


[ROCm/rocminfo commit: 3f97bbda93]
2023-07-20 22:30:16 +00:00
David Yat Sin 3f97bbda93 Support extended scope fine-grained memory
Add display flag for extended scope fine-grained memory

Change-Id: I73f965e12a7a68afcd71f93a7b6a1af453de0510
2023-07-20 22:30:16 +00:00
Jonathan Kim 2d3a09cbd6 kfdtest: disable gws tests for gfx11
GFX11 will no longer use GWS for cooperative launch so disable the test.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Change-Id: I8611c8158e1654782150ad10f1f65edb578e6435
2023-07-20 11:22:56 -04:00
Jonathan Kim 2bfaff3262 kfdtest: disable gws tests for gfx11
GFX11 will no longer use GWS for cooperative launch so disable the test.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Change-Id: I8611c8158e1654782150ad10f1f65edb578e6435


[ROCm/ROCR-Runtime commit: 2d3a09cbd6]
2023-07-20 11:22:56 -04:00
David Yat Sin a7ffddb265 Adding documentation for SDMA environment var
Adding documentation for modifiers for SDMA copy

Change-Id: I2425672c3ba1f1617d29b8f4b49776775d78a376
2023-07-20 15:15:04 +00:00
David Yat Sin 56ccf828bc Adding documentation for SDMA environment var
Adding documentation for modifiers for SDMA copy

Change-Id: I2425672c3ba1f1617d29b8f4b49776775d78a376


[ROCm/ROCR-Runtime commit: a7ffddb265]
2023-07-20 15:15:04 +00:00
Hao Zhou dd52723060 Merge amd-staging into amd-master 20230720
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: Ib2cb8cd0fa41f863e692dd5f92ab78ace776210c


[ROCm/rocm_smi_lib commit: b81fcc2c32]
2023-07-20 14:42:57 +08:00
Hao Zhou b81fcc2c32 Merge amd-staging into amd-master 20230720
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: Ib2cb8cd0fa41f863e692dd5f92ab78ace776210c
2023-07-20 14:42:57 +08:00
ROCm CI Service Account f8e1cba1ad SWDEV-402381 - Add hipCheckErrors for HIP API calls in samples (#375)
Change-Id: I335d7e780362fc59fd2d90939b4c8b8a7231ffc7

[ROCm/hip-tests commit: 7cc53f992f]
2023-07-20 10:22:17 +05:30
ROCm CI Service Account 7cc53f992f SWDEV-402381 - Add hipCheckErrors for HIP API calls in samples (#375)
Change-Id: I335d7e780362fc59fd2d90939b4c8b8a7231ffc7
2023-07-20 10:22:17 +05:30
ROCm CI Service Account 0b6f88a5d3 SWDEV-409113,SWDEV-409114,SWDEV-409112,SWDEV-409111,SWDEV-409110,SWDEV-409109,SWDEV-409096,SWDEV-409105 - Remove strong assumptions on hipMemGetInfo reported memory. (#373)
Change-Id: I6751e20690b93a3db35d98e45d295e5465387c5a

[ROCm/hip-tests commit: b8fb6f88b9]
2023-07-20 10:20:05 +05:30
ROCm CI Service Account b8fb6f88b9 SWDEV-409113,SWDEV-409114,SWDEV-409112,SWDEV-409111,SWDEV-409110,SWDEV-409109,SWDEV-409096,SWDEV-409105 - Remove strong assumptions on hipMemGetInfo reported memory. (#373)
Change-Id: I6751e20690b93a3db35d98e45d295e5465387c5a
2023-07-20 10:20:05 +05:30
ROCm CI Service Account 969c118fa5 SWDEV-409588 - hipMemsetDSync tests should not use the size as 1 while using D32/D16 APIs (#372)
Change-Id: I32c9bed860ddf4fe0d7bba21dce9bd720168c396

[ROCm/hip-tests commit: 74c143392b]
2023-07-20 10:18:30 +05:30
ROCm CI Service Account 74c143392b SWDEV-409588 - hipMemsetDSync tests should not use the size as 1 while using D32/D16 APIs (#372)
Change-Id: I32c9bed860ddf4fe0d7bba21dce9bd720168c396
2023-07-20 10:18:30 +05:30
ROCm CI Service Account fa900628f1 SWDEV-404873 - Add double quotes that handles space in path for windows OS. (#371)
Change-Id: I4752072914aded5e39105913f5bd79fcaf4b499b

[ROCm/hip-tests commit: 573aefb652]
2023-07-20 10:17:26 +05:30
ROCm CI Service Account 573aefb652 SWDEV-404873 - Add double quotes that handles space in path for windows OS. (#371)
Change-Id: I4752072914aded5e39105913f5bd79fcaf4b499b
2023-07-20 10:17:26 +05:30
ROCm CI Service Account f72821a84d SWDEV-408958 - Use LaunchDelayKernel and modify it to use same kernel based on real time clock for gfx10 and gfx11. (#370)
Change-Id: Iea8a48e8cbfa1745c7d5535dc5820133a4104087

[ROCm/hip-tests commit: 04080c2e2e]
2023-07-20 10:16:56 +05:30
ROCm CI Service Account 04080c2e2e SWDEV-408958 - Use LaunchDelayKernel and modify it to use same kernel based on real time clock for gfx10 and gfx11. (#370)
Change-Id: Iea8a48e8cbfa1745c7d5535dc5820133a4104087
2023-07-20 10:16:56 +05:30
ROCm CI Service Account 6fb65da9a1 SWDEV-403770 - Enable tests. (#330)
Change-Id: I6e31c7ecea0f8343c37fd8a6249bf1cf1e455be6

[ROCm/hip-tests commit: faa2dd7cfb]
2023-07-20 10:15:03 +05:30
ROCm CI Service Account faa2dd7cfb SWDEV-403770 - Enable tests. (#330)
Change-Id: I6e31c7ecea0f8343c37fd8a6249bf1cf1e455be6
2023-07-20 10:15:03 +05:30
Maneesh Gupta 2a01aa5b4e Update performance_common.hh
Replace std::reduce with std::accumulate due to RHEL build issues.

[ROCm/hip-tests commit: 2c7f3749fb]
2023-07-20 09:55:37 +05:30
Maneesh Gupta 2c7f3749fb Update performance_common.hh
Replace std::reduce with std::accumulate due to RHEL build issues.
2023-07-20 09:55:37 +05:30