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

debugging output generated by ifx

lrego-developer
440 Views

Having worked with ifort based oneAPI for several years, for debugging the code I have used the flags

safe: FC_ALL += -check all -traceback -fstack-protector -assume protect_parens -implicitnone -warn all,noexternal -fpe-all=0
safe: CC_ALL += -traceback -fstack-protector

which gave a clear traceback of the error module-by-module, up to the line where the fault occurred. 

However, with the new ifx-based oneAPI, the same compilation flags produce an incomprehensible output.

How can I recover the simpler and clearer debugging output I use to get from ifort?

Thanks.

0 Kudos
3 Replies
Barbara_P_Intel
Moderator
295 Views

ifx uses LLVM memory sanitizer features to check for uninitialized variables. That output can be confusing. Ron posted this message about it.

ifx 2024.1.0 will be available in the next week or so.

Also, with ifx -check uninit examines scalars, arrays, array slices, array elements, allocatable, automatics, and derived types. By contrast, ifort could only catch local scalar variables of intrinsic type INTEGER, REAL, COMPLEX, and LOGICAL without the SAVE attribute.

One other point... this feature is only enabled on Linux.

 

0 Kudos
lrego-developer
216 Views

Hello there,

I have the following problem whenever I try to use ifx-based oneAPI toolkit to debug my code with the safe flags below

-g -check all,nouninit -traceback -fstack-protector -assume protect_parens -implicitnone -warn all,noexternal -fpe-all=0

 

The output produced by some fatal error (also featured in the attached image) is incomprehensible to me; it looks like

ifx: warning #10182: disabling optimization; runtime debug checks enabled
ld: EnvField.o: in function `PC_implicit_mapper':
ifxKE5Z2y.i:(.text+0x184f7): undefined reference to `__tgt_mapper_num_components'
ld: ifxKE5Z2y.i:(.text+0x1852f): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x18565): undefined reference to `__tgt_mapper_num_components'
ld: ifxKE5Z2y.i:(.text+0x1859a): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x186e3): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x1874f): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x188b1): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x1891d): undefined reference to `__tgt_push_mapper_component'
ld: EnvField.o:ifxKE5Z2y.i:(.text+0x18a95): more undefined references to `__tgt_push_mapper_component' follow
ld: EnvField.o: in function `ATOM_implicit_mapper':
ifxKE5Z2y.i:(.text+0x18c5c): undefined reference to `__tgt_mapper_num_components'
ld: ifxKE5Z2y.i:(.text+0x18ca0): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x18cd6): undefined reference to `__tgt_mapper_num_components'
ld: ifxKE5Z2y.i:(.text+0x18d0e): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x18e1b): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x18f2c): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x1903d): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x1914e): undefined reference to `__tgt_push_mapper_component'
ld: EnvField.o:ifxKE5Z2y.i:(.text+0x1925f): more undefined references to `__tgt_push_mapper_component' follow
ld: EnvField.o: in function `QNCA_a0$TYPE_M$.btMOLECULAR*$rank1$_implicit_mapper':
ifxKE5Z2y.i:(.text+0x1a854): undefined reference to `__tgt_mapper_num_components'
ld: ifxKE5Z2y.i:(.text+0x1a88c): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x1aaed): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x1ab5b): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x1acc6): undefined reference to `__tgt_push_mapper_component'
ld: ifxKE5Z2y.i:(.text+0x1adda): undefined reference to `__tgt_push_mapper_component'
ld: EnvField.o:ifxKE5Z2y.i:(.text+0x1aeee): more undefined references to `__tgt_push_mapper_component' follow
make: *** [makefile:222: dynemol] Error 1

0 Kudos
Barbara_P_Intel
Moderator
207 Views

Can you please provide a small reproducer?

 

0 Kudos
Reply