Skip to content

[smoke] Replace deprecated -fopenmp-target-ignore-env-vars flag#2053

Open
nicebert wants to merge 1 commit intoamd-stagingfrom
amd/dev/nicebert/remove-ignore-env-vars-tests
Open

[smoke] Replace deprecated -fopenmp-target-ignore-env-vars flag#2053
nicebert wants to merge 1 commit intoamd-stagingfrom
amd/dev/nicebert/remove-ignore-env-vars-tests

Conversation

@nicebert
Copy link
Contributor

@nicebert nicebert commented Mar 10, 2026

[smoke] Replace deprecated -fopenmp-target-ignore-env-vars flag

Update 27 tests (19 smoke, 8 smoke-limbo) to use replacement flags
for specialized kernel generation. The -fopenmp-target-ignore-env-vars
flag is removed from ROCm/llvm-project#1698 as it had no codegen
implementation and represented a deprecated approach.

Replaced with -fopenmp-assume-teams-oversubscription and
-fopenmp-assume-threads-oversubscription, which provide equivalent
functionality by indicating that the runtime can ignore environment
variables for thread/team configuration, enabling no-loop and
xteam-reduction kernel optimizations.


Depends on: ROCm/llvm-project#1698

@ronlieb
Copy link
Contributor

ronlieb commented Mar 10, 2026

so these need to likely be moved to smok-dev and be landed and merged into aomp:amd-staging,
then the llvm change can come in

@dhruvachak
Copy link
Contributor

please provide the correct llvm-project PR link. The current link goes to an AOMP PR.

And yes, as Ron said already, these tests need to be moved to smoke-dev first. Support for the 2 over-subscription flags does not exist in older compilers.

@dhruvachak
Copy link
Contributor

What is the deprecation path for ROCm? e.g. does it get added to docs and we wait for a release cycle?

@nicebert
Copy link
Contributor Author

please provide the correct llvm-project PR link. The current link goes to an AOMP PR.

And yes, as Ron said already, these tests need to be moved to smoke-dev first. Support for the 2 over-subscription flags does not exist in older compilers.

sorry, the link in the "depends on" worked correctly, the other one didn't.

@nicebert nicebert force-pushed the amd/dev/nicebert/remove-ignore-env-vars-tests branch from 8fe34db to 3e158bf Compare March 17, 2026 12:42
@dhruvachak
Copy link
Contributor

dhruvachak commented Mar 17, 2026

[smoke] Replace deprecated -fopenmp-target-ignore-env-vars flag

Update 27 tests (19 smoke, 8 smoke-limbo) to use replacement flags for specialized kernel generation. The -fopenmp-target-ignore-env-vars flag is removed from ROCm/llvm-project#1698 as it had no codegen implementation and represented a deprecated approach.

I would not say that ignore-envars had no codegen implementation. It has a corresponding implementation. But it is being replaced with the over-subscription options to be in sync with upstream.

Replaced with -fopenmp-assume-teams-oversubscription and -fopenmp-assume-threads-oversubscription, which provide equivalent functionality by indicating that the runtime can ignore environment variables for thread/team configuration, enabling no-loop and xteam-reduction kernel optimizations.

Xteam does not need this guarantee any more, that is legacy. No-Loop needs this guarantee. So please remove mention of Xteam from here.

Depends on: ROCm/llvm-project#1698

RUNCMD = ./$(TESTNAME) 2>&1 | $(FILECHECK) $(TESTSRC_MAIN)

CFLAGS += -fopenmp-target-fast -fno-openmp-target-ignore-env-vars
CFLAGS += -fopenmp-target-fast
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this test pass with this change? I would add the no-variants of teams/threads over-subscription and check that the test passes.

RUNCMD = ./$(TESTNAME) 2>&1 | $(FILECHECK) $(TESTSRC_MAIN)

CFLAGS += -O3 -fno-openmp-target-ignore-env-vars -fopenmp-target-fast
CFLAGS += -O3 -fopenmp-target-fast
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as in no-loop-4.

TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX)

CFLAGS += -O3 -fno-openmp-target-ignore-env-vars
CFLAGS += -O3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as in no-loop-4.

TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX)

CFLAGS += -O3 -fno-openmp-target-ignore-env-vars
CFLAGS += -O3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as in no-loop-4.

TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX)

CFLAGS += -O3 -fno-openmp-target-ignore-env-vars
CFLAGS += -O3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as in no-loop-4.

Update 27 tests (19 smoke, 8 smoke-limbo) to use replacement flags
for specialized kernel generation. The -fopenmp-target-ignore-env-vars
flag is being replaced with -fopenmp-assume-teams-oversubscription and
-fopenmp-assume-threads-oversubscription to sync with upstream LLVM.

The replacement flags provide equivalent functionality for no-loop
kernel optimizations by indicating that the runtime can ignore
environment variables for thread/team configuration.

Tests with -fopenmp-target-fast now include explicit negative flag
variants to verify they work correctly.
@nicebert nicebert force-pushed the amd/dev/nicebert/remove-ignore-env-vars-tests branch from 3e158bf to 744fdb6 Compare March 19, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants