Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28854 Discussions

Unresolved symbol __tgt_push_mapper_component with IFX Fortran

Andrew_Smith
Valued Contributor I
698 Views

error LNK2019: unresolved external symbol __tgt_push_mapper_component referenced in function anon_type$_implicit_mapper

Visual Studio 2022 17.6.5
Windows 10
Fortran 2024.0.1

Its a shame as its the furthest I got with IFX. The compile went fine.

Does this look like something supplied by the Fortran libraries?

0 Kudos
3 Replies
Steve_Lionel
Honored Contributor III
693 Views

Looks like part of LLVM OpenMP support. Did you enable an OpenMP build?

0 Kudos
Andrew_Smith
Valued Contributor I
648 Views

Yes its using openMP. Two of my object files were referred to as callees for the missing __tgt... things and each is using do concurrent, but not within a parallel region. Reverting to serial loops eliminated the issue.

I tried to make a small re-producer with same project settings and use of do concurrent but it didn't replicate the link issue.

My use of do concurrent was questionable, it was done when this construct started to be supported and well before it was parallelised by the compiler. It is no benefit since the work in the loop was too small to justify the overhead of starting up threads so its simplest for me to change these to serial loops.

New discovery is that the original link error only occurred in my debug build. Maybe the do concurrent was not parallelised in the release build because of the small amount of work seen by the optimiser.

0 Kudos
Andrew_Smith
Valued Contributor I
643 Views

I didn't appreciate that the IFORT/IFX switch was configuration based so release build was still ifort. IFX release would probably have had the link issue too

0 Kudos
Reply