|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
54a6cc34 |
| 11-Apr-2022 |
Saiyedul Islam <[email protected]> |
[libomptarget][amdgpu] Add hidden_heap_v1 kernarg metadata
Code object version 5 adds support of hidden_heap_v1 kernarg metadata field [1]. It is a global address space pointer to an initialized mem
[libomptarget][amdgpu] Add hidden_heap_v1 kernarg metadata
Code object version 5 adds support of hidden_heap_v1 kernarg metadata field [1]. It is a global address space pointer to an initialized memory buffer that conforms to the requirements of the malloc/free device library V1 version implementation.
[1] https://llvm.org/docs/AMDGPUUsage.html#amdgpu-amdhsa-code-object-kernel-argument-metadata-map-table-v5
Reviewed By: carlo.bertolli
Differential Revision: https://reviews.llvm.org/D123527
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
ae5348a3 |
| 22-Nov-2021 |
Jon Chesterfield <[email protected]> |
[openmp][amdgpu] Make plugin robust to presence of explicit implicit arguments
OpenMP (compiler) does not currently request any implicit kernel arguments. OpenMP (runtime) allocates and initialises
[openmp][amdgpu] Make plugin robust to presence of explicit implicit arguments
OpenMP (compiler) does not currently request any implicit kernel arguments. OpenMP (runtime) allocates and initialises a reasonable guess at the implicit kernel arguments anyway.
This change makes the plugin check the number of explicit arguments, instead of all arguments, and puts the pointer to hostcall buffer in both the current location and at the offset expected when implicit arguments are added to the metadata by D113538.
This is intended to keep things running while fixing the oversight in the compiler (in D113538). Once that patch lands, and a following one marks openmp kernels that use printf such that the backend emits an args element with the right type (instead of hidden_node), the over-allocation can be removed and the hardcoded 8*e+3 offset replaced with one read from the .offset of the corresponding metadata element.
Reviewed By: estewart08
Differential Revision: https://reviews.llvm.org/D114274
show more ...
|
| #
04954824 |
| 19-Nov-2021 |
Jon Chesterfield <[email protected]> |
[openmp][amdgpu][nfc] Simplify implicit args handling
Removes a +x/-x pair on the only store/load of a variable and deletes some nearby dead code. Also reduces the size of the implicit struct to ref
[openmp][amdgpu][nfc] Simplify implicit args handling
Removes a +x/-x pair on the only store/load of a variable and deletes some nearby dead code. Also reduces the size of the implicit struct to reflect the code currently emitted by clang.
Differential Revision: https://reviews.llvm.org/D114270
show more ...
|
| #
9cdaf0b0 |
| 19-Nov-2021 |
Jon Chesterfield <[email protected]> |
[openmp][amdgpu][nfc] Inline interop_hsa_get_kernel_info into only caller
|
| #
726a34f0 |
| 27-Sep-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][amdgpu] Replace dead exit call with returning error
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
d642156f |
| 09-Sep-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][nfc] Hoist hsa_init into rtl.cpp
|
| #
3153bdd5 |
| 02-Sep-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][amdgpu] Drop env variables
Use the same debug print as the rest of libomptarget plugins with the same environment control. Also drop the max queue size debugging hook as I don't belie
[libomptarget][amdgpu] Drop env variables
Use the same debug print as the rest of libomptarget plugins with the same environment control. Also drop the max queue size debugging hook as I don't believe it is still in use, can bring it back near the rest of the env handling in rtl.cpp if someone objects.
That makes most of rt.h and all of utils.cpp unused. Clean that up and simplify control flow in a couple of places.
Behaviour change is that debug prints that used to use the old environment variable now use the new one and print in slightly different format, and the removal of the max queue size variable.
Reviewed By: pdhaliwal
Differential Revision: https://reviews.llvm.org/D108784
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc2 |
|
| #
3d853429 |
| 26-Aug-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][amdgpu][nfc] Rename variables, delete dead code
|
| #
9b8b7c11 |
| 11-Aug-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget] Delete g_atl_machine global
With uses of g_atl_machine gone, a significant portion of dead code has been removed.
This patch depends on D104691 and D104695.
Reviewed By: Jon
[AMDGPU][Libomptarget] Delete g_atl_machine global
With uses of g_atl_machine gone, a significant portion of dead code has been removed.
This patch depends on D104691 and D104695.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D104696
show more ...
|
| #
71ae2e02 |
| 06-Aug-2021 |
Dimitry Andric <[email protected]> |
[libomptarget][amdgpu] don't declare Elf_Note on FreeBSD
On FreeBSD, the system `<libelf.h>` already declares `struct Elf_Note` indirectly (via `<sys/elf_common.h>`). This results in compile errors
[libomptarget][amdgpu] don't declare Elf_Note on FreeBSD
On FreeBSD, the system `<libelf.h>` already declares `struct Elf_Note` indirectly (via `<sys/elf_common.h>`). This results in compile errors when building the libomptarget amdgpu plugin. Avoid redeclaring `struct Elf_Note` on FreeBSD to fix the errors.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D107661
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
dd0b463d |
| 25-Jul-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][amdgpu] More robust handling of failure to init HSA
If hsa_init fails, subsequent calls into hsa are not safe. Except for hsa_init, but we don't retry on failure.
This patch: - delet
[libomptarget][amdgpu] More robust handling of failure to init HSA
If hsa_init fails, subsequent calls into hsa are not safe. Except for hsa_init, but we don't retry on failure.
This patch: - deletes a print that called into hsa to ask why it can't call into hsa - drops a merge conflict block next to that print - reliably initializes number of devices to zero - skips the plugin destructor contents if the constructor failed to init hsa
Tested by making hsa_init return error, and by forcing the dynamic library use which was then deleted from disk. Before this patch, both segv. After it, friendly message about offloading being unavailable.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D106774
show more ...
|
| #
9e05c084 |
| 22-Jul-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][amdgpu][nfc] Normalise license headers
Reviewed By: gregrodgers, jdoerfert
Differential Revision: https://reviews.llvm.org/D106581
|
| #
14e34a83 |
| 22-Jul-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][amdgpu][nfc] Replace use of gelf.h with libelf.h
AMDGPU can assume Elf64 so doesn't need to abstract over Elf32
Drop a few other unused headers at the same time. Now only llvm elf an
[libomptarget][amdgpu][nfc] Replace use of gelf.h with libelf.h
AMDGPU can assume Elf64 so doesn't need to abstract over Elf32
Drop a few other unused headers at the same time. Now only llvm elf and libelf are used by the plugin.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D106579
show more ...
|
| #
d86b0073 |
| 30-Jun-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][amdgpu][nfc] Fix build warnings, drop some headers
Removes stdarg header, drops uses of iostream, fix some format string errors. Also changes a C style struct to C++ style to avoid a
[libomptarget][amdgpu][nfc] Fix build warnings, drop some headers
Removes stdarg header, drops uses of iostream, fix some format string errors. Also changes a C style struct to C++ style to avoid a warning from clang/
Reviewed By: pdhaliwal
Differential Revision: https://reviews.llvm.org/D104923
show more ...
|
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3 |
|
| #
9d110f91 |
| 22-Jun-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget] Move allow_access_to_all_gpu_agents to rtl.cpp
Moving this method helps eliminate a use of g_atl_machine.
Reviewed By: JonChesterfield
Differential Revision: https://reviews
[AMDGPU][Libomptarget] Move allow_access_to_all_gpu_agents to rtl.cpp
Moving this method helps eliminate a use of g_atl_machine.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D104691
show more ...
|
| #
7a97cd9d |
| 18-Jun-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget] Remove redundant functions
There does not seem to be any use of these functions. They just put the value to a local which is never used again.
Reviewed By: JonChesterfield
D
[AMDGPU][Libomptarget] Remove redundant functions
There does not seem to be any use of these functions. They just put the value to a local which is never used again.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D104512
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc2 |
|
| #
cadcaf3f |
| 11-Jun-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget] Drop dead code related to g_atl_machine
This patch includes some changes which deletes the code accessing g_atl_machine global. Some accesses related to memory_pools are still
[AMDGPU][Libomptarget] Drop dead code related to g_atl_machine
This patch includes some changes which deletes the code accessing g_atl_machine global. Some accesses related to memory_pools are still remaining.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D103813
show more ...
|
| #
4f8bc7ca |
| 07-Jun-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget] Remove atlc global
This global struct used to hold various flags for monitoring the initialization of hsa.
Reviewed By: JonChesterfield
Differential Revision: https://review
[AMDGPU][Libomptarget] Remove atlc global
This global struct used to hold various flags for monitoring the initialization of hsa.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D103795
show more ...
|
| #
f5f329a3 |
| 03-Jun-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget] Rework logic for locating kernarg pools
Previous logic was to always use the first kernarg pool found to allocate kernel args. This patch changes this to use only the kernarg
[AMDGPU][Libomptarget] Rework logic for locating kernarg pools
Previous logic was to always use the first kernarg pool found to allocate kernel args. This patch changes this to use only the kernarg pool which has non-zero size. This logic is also reworked to not use any globals.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D103600
show more ...
|
| #
b25546a4 |
| 02-Jun-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget][NFC] Remove bunch of dead structs
Dropped structs are atmi_machine_t, atmi_device_t and atmi_memory_t
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llv
[AMDGPU][Libomptarget][NFC] Remove bunch of dead structs
Dropped structs are atmi_machine_t, atmi_device_t and atmi_memory_t
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D103509
show more ...
|
| #
2368170a |
| 02-Jun-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget][NFC] Remove atmi_place_t
atmi_place_t has been replaced with int DeviceId.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D103508
|
| #
fb113264 |
| 01-Jun-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget] Remove g_atmi_machine global
Turns out the only purpose of this class was verify if device ID was in range or not which could be done easily by using g_atl_machine.
Still get
[AMDGPU][Libomptarget] Remove g_atmi_machine global
Turns out the only purpose of this class was verify if device ID was in range or not which could be done easily by using g_atl_machine.
Still getting rid of g_atl_machine is pending which would be done in a later patch.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D103443
show more ...
|
| #
8b79dfb3 |
| 27-May-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget][NFC] Remove atmi_mem_place_t
This struct was used to specify the device on which memory was being allocated/free in atmi_malloc/free. It has now been replaced with int DeviceI
[AMDGPU][Libomptarget][NFC] Remove atmi_mem_place_t
This struct was used to specify the device on which memory was being allocated/free in atmi_malloc/free. It has now been replaced with int DeviceId.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D103239
show more ...
|
| #
07f59baa |
| 26-May-2021 |
Jon Chesterfield <[email protected]> |
[libomptarget][nfc][amdgpu] Remove atmi_status_t type
ATMI_STATUS_UNKNOWN was unused, deleted references to it. Replaced ATMI_STATUS_{SUCCESS,ERROR} with HSA_STATUS_{SUCCESS,ERROR} Replaced atmi_sta
[libomptarget][nfc][amdgpu] Remove atmi_status_t type
ATMI_STATUS_UNKNOWN was unused, deleted references to it. Replaced ATMI_STATUS_{SUCCESS,ERROR} with HSA_STATUS_{SUCCESS,ERROR} Replaced atmi_status_t with hsa_status_t
Otherwise no change. In particular, conversions between atmi_status_t and hsa_status_t will now be conversions between hsa_status_t and itself.
Reviewed By: pdhaliwal
Differential Revision: https://reviews.llvm.org/D103115
show more ...
|
| #
a2d6ef58 |
| 25-May-2021 |
Pushpinder Singh <[email protected]> |
[AMDGPU][Libomptarget] Inline atmi_init/atmi_finalize
After D102847, these functions can be inlined.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D103075
|