-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate similiar *.ll code as Clang does for #pragma omp target parallel #49
base: aomp-dev
Are you sure you want to change the base?
Generate similiar *.ll code as Clang does for #pragma omp target parallel #49
Commits on May 10, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 62f21e9 - Browse repository at this point
Copy the full SHA 62f21e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5e8e7d - Browse repository at this point
Copy the full SHA f5e8e7dView commit details -
Added first version of calling kmpc_parallel_51
Done: Added declaration of kmpc_parallel_51 Set constant args Added logic for setting up size of array which will contain target symbols Calling kmpc_parallel_51 Moved deinit function just after kmpc_parallel_51 Not done: Passing symbols to target array Creating separate function which will reflect kernel code Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for bf15996 - Browse repository at this point
Copy the full SHA bf15996View commit details -
Add function which initializes mapped symbols.
kmpc_parallel_51 requires that offloaded symbols are passed as addresses inside pointer array Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for fce4694 - Browse repository at this point
Copy the full SHA fce4694View commit details -
Add support for SPMD kernels with new OpenMP API.
Flang generates new SPMD kernels which use kmpc_parallel_51 function. Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for 063001a - Browse repository at this point
Copy the full SHA 063001aView commit details -
Fixed handling of last argument.
Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for fe8d5ee - Browse repository at this point
Copy the full SHA fe8d5eeView commit details -
Fixed passing arrays for spmd kernels.
Do not assign new dtype value for device symbols via get_type function. Use macros PASSBYVALP PASSBYREFP instead. Remove hack for load/store of the last symbol. Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for 3ee5166 - Browse repository at this point
Copy the full SHA 3ee5166View commit details -
Fix passing args to helper function
Fixed passing scalars which type is different than int64. Fixed passing allocatable arrays. Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for 253c35e - Browse repository at this point
Copy the full SHA 253c35eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e84c6e5 - Browse repository at this point
Copy the full SHA e84c6e5View commit details -
Do not modify the LLType of the argument
If we generate initialization function for SPMD kernels we need to store addresses of the arguments before we call kmpc_parallel_51 function. We use ptrtoint instruction for scalar variables. Before this patch the LLVM IR code was generated wrongly for complex variables: void kernel_func(<float, float> *Arg_c) //some code ptrtoint i64* %Arg_c //error Arg_c was declared as pair of floats //some code call kmpc_parallel_51() //some code This patch causes that LLVM IR contains correct ptrtoint instruction: void kernel_func(<float, float> *Arg_c) //some code ptrtoint <float, float>* %Arg_c //ok, Arg_c was declared as pair of floats //some code call kmpc_parallel_51() //some code Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for b713196 - Browse repository at this point
Copy the full SHA b713196View commit details -
Fortran objects should be passed as i64* Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for ce4a1b4 - Browse repository at this point
Copy the full SHA ce4a1b4View commit details -
Fixed passing complex numbers.
Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for c9307ca - Browse repository at this point
Copy the full SHA c9307caView commit details -
Skip symbols which are not initialized
Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for 8ed9589 - Browse repository at this point
Copy the full SHA 8ed9589View commit details -
Add support for passing integers by value
Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for 97bd64e - Browse repository at this point
Copy the full SHA 97bd64eView commit details -
Use the same OpenMP API as Clang for target parallel for pragma
Clang uses kmpc_parallel_51 function for handlig target parallel for pragma. Flang should use the same functions as Clang for pragma target parallel Signed-off-by: Dominik Adamski <Dominik.Adamski@amd.com>
Configuration menu - View commit details
-
Copy full SHA for 3fb2323 - Browse repository at this point
Copy the full SHA 3fb2323View commit details