Skip to content
This repository has been archived by the owner on Jan 20, 2024. It is now read-only.

Target workshare loop #234

Conversation

DominikAdamski
Copy link
Contributor

No description provided.

DominikAdamski and others added 6 commits September 28, 2023 13:31
The user of CodeExtractor should be able to specify that
the aggregate argument should be passed as a pointer in zero address
space.

CodeExtractor is used to generate outlined functions required by OpenMP
runtime. The arguments of the outlined functions for OpenMP GPU code
are in 0 address space. 0 address space does not need to be the default
address space for GPU device. That's why there is a need to allow
the user of CodeExtractor to specify, that the allocated aggregate param
is passed as pointer in zero address space.
Added support for LLVM IR code generation which is used for handling
omp target parallel code. The call for __kmpc_parallel_51 is generated
and the parallel region is outlined to separate function.

The proper setup of kmpc_target_init mode is not included in the commit.
It is assumed that the SPMD mode for target init is properly set by other
codegen functions.
Proposed implementation of the new device OpenMP functions relies on
internal functions which are not used in current version of the OpenMP
runtime.
TODO: Add missing definitions for the newwq OpenMP device RTL functions
TODO: Add missing attributes for the new OpenMP device RTL functions
@gregrodgers gregrodgers merged commit bbc8da9 into ROCm-Developer-Tools:amd-trunk-dev Sep 28, 2023
2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants