-
Notifications
You must be signed in to change notification settings - Fork 327
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
[External]Add OpenACC Validation and Verification testsuite #38
base: main
Are you sure you want to change the base?
Conversation
I have no idea how to review this unfortunately! However I believe @sunitachandra showed interest on the Clang RFC, so would have a better idea if this is being done correctly. |
Thanks @erichkeane! |
@wangxin0321 Thanks for taking the time to add the OpenACC V&V to Externals The header files are located in |
@ajarmusch |
@wangxin0321 the changes look good anyone have thoughts? otherwise, LGTM to merge |
So how are these configured to run on Clang? Are they using the If so on the latter, can we have a build option to make it configurable with the |
@erichkeane the flags are defined in the cmake command during the test suite build. The README gives an example using |
External/OpenACCV_V/CMakeLists.txt
Outdated
target_link_libraries(${_name} PUBLIC OpenACC::OpenACC_${_lang} m) | ||
|
||
# Add -fopenacc to linker command line; for some reason this is not done by target_link_libraries. | ||
target_link_options(${_name} PRIVATE ${OpenACC_${LANG}_FLAGS}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So this comment isn't accurate, right? It is adding the openacc-language flags, not the -fopenacc? Or where are the OpenACC_C_flags
and OpenACC_CXX_flags
set?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
my fault - you were right before
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"OpenACC_C_flags "and "OpenACC_CXX_flags" are set in cmake. Check out the official FindOpenACC documentation at the following website: https://cmake.org/cmake/help/latest/module/FindOpenACC.html
But my error, currently find_package(OpenACC), only NVHPC, PGI, GNU and Cray compilers are supported, We cannot use this method to see if the current llvm supports OpenACC. "OpenACC_C_flags "and "OpenACC_CXX_flags" are currently invalid
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wangxin0321 Is there a way around? Or we have to make an issue with cmake?
Right, but I'm doubting the usefulness of adding this suite WITHOUT that flag, since that flag is required to enable OpenACC anyway, right? And I was hoping for a more 'builtin' way of using |
good point, I looked at the sollve_vv and the Also, you are hoping for a builtin option for |
I would love something like that, exposed at a place that is easier to use/pipe in, I suspect this is something I'll use often. |
@wangxin0321 Hi, It's been a while since we heard from you. Any progress so far? |
Hi @wangxin0321, to move this along I am going to help. Since I am unable to make edits to your fork repository. I will create a separate PR and mention this PR and you as well for credit. Reach out as soon as possible |
OpenACC is a high-level directive-based parallel programming model that can manage the sophistication of heterogeneity in architectures and abstract it from the users. The portability of the model across CPUs and accelerators has gained the model a wide variety of users. This means it is also crucial to analyze the reliability of the compilers' implementations.
To address this challenge, the OpenACC Validation and Verification team introduces a validation testsuite ,supported by a streamlined infrastructure, to verify the OpenACC implementations across various compilers and system architectures.