New pqr list test#114
Open
Ryanpadrone wants to merge 13 commits intoOpenACCUserGroup:masterfrom
Open
Conversation
added description
added descriptions
added descriptions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test Purpose:
These files validate the OpenACC 3.4 clarification about pqr-lists (Section 1.6): a pqr-list must be a comma-separated list with at least one item, and it must not contain a trailing comma.
These tests demonstrate accepted pqr-list forms in both contexts where pqr-lists appear:
•int-expr-list: wait( … )
•var-list: copyin( … ) (and matching present( … ) usage)
Each language file (C, C++, Fortran) contains four runtime tests (T1–T4) that validate correct compilation and execution of legal pqr-lists:
T1 — int-expr-list is non-empty (single-item list)
•Uses wait(1) where the list is 1
•Demonstrates int-expr-list contains at least one item
•Uses wait(1,2)
•Demonstrates multi-item int-expr-list with proper commas between items and no trailing comma
•Uses a data clause like copyin(a[0:n]) (or Fortran slice)
•Demonstrates var-list contains at least one item
•Uses a data clause like copyin(a[0:n], b[0:n]) and/or present(a,b,c)
•Demonstrates multi-item var-list with proper commas between items and no trailing comma
How the test verifies correctness (runtime):
Each test performs a simple vector computation on the device and verifies results on the host using the suite tolerance (PRECISION). Each file’s main returns a bitmask failcode consistent with the testsuite (bit0–bit3 correspond to T1–T4). A return code of 0 indicates all enabled tests passed.
Files
•acc_pqr_list.c
•acc_pqr_list.cpp
•acc_pqr_list.F90
Compiler Versions
NVC: 25.5.0
GCC: 15.2.0
CRAY: 18.0.0