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

IFX update seg faults compilation (internal compiler error) when offloading to GPU

caplanr
New Contributor II
418 Views

Hi,

 

I recently updated (with apt) the oneapi toolkit and now my code will not compile with GPU-offload (it does compile to CPU).  It gets a seg fault with an internal compiler error.

 

The code is (once again) HipFT (github.com/predsci/hipft) main branch.

 

My flags are:

 

mpif90 -f90=ifx -g -traceback -heap-arrays -xHost -fp-model precise -fopenmp-target-do-concurrent -fiopenmp -fopenmp-targets=spir64 -fopenmp-do-concurrent-maptype-modifier=present

 

My system is:

Linux matana 6.13.12-zabbly+ #ubuntu22.04 SMP PREEMPT_DYNAMIC Sun Apr 20 21:05:02 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Ubuntu 22.04.5 LTS

 

ifx --version
ifx (IFX) 2025.3.0 20251010

 

0f:00.0 VGA compatible controller: Intel Corporation Battlemage G21 [Arc B580]

 

When I try to compile, I get:

mpif90 -f90=ifx -c -g -traceback -heap-arrays -xHost -fp-model precise -fopenmp-target-do-concurrent -fiopenmp -fopenmp-targets=spir64 -fopenmp-do-concurrent-maptype-modifier=present -I/opt/psi/intel/ext_deps/deps/hdf5/include -c "hipft.f90" -o hipft.o
          #0 0x000055c3fb9f9e71
          #1 0x000055c3fba603b7
          #2 0x000055c3fba604e5
          #3 0x00007f8685e42520
          #4 0x000055c3fa8ef8d3
          #5 0x000055c3fa8aa2ca
          #6 0x000055c3fa8a86c1
          #7 0x000055c3fab2ba08
          #8 0x000055c3fab2b741
          #9 0x000055c3faa2ba42
         #10 0x000055c3faa2b611
         #11 0x000055c3faf33678
         #12 0x000055c3faf33311
         #13 0x000055c3fac4798a
         #14 0x000055c3fac47651
         #15 0x000055c3faf35c5d
         #16 0x000055c3faf34f71
         #17 0x000055c3fab252c0
         #18 0x000055c3fb2510ee
         #19 0x000055c3fb250e71
         #20 0x000055c3fab252c0
         #21 0x000055c3fb99586b
         #22 0x000055c3fb9930cf
         #23 0x000055c3fb93b0c4
         #24 0x000055c3fbb217cf
         #25 0x00007f8685e29d90
         #26 0x00007f8685e29e40 __libc_start_main + 128
         #27 0x000055c3fb77268e

/tmp/ifx0419568198p22Eoi/ifxT9J7LR.bc: error #5633: **Internal compiler error: segmentation violation signal raised** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
compilation aborted for /tmp/ifx0419568198p22Eoi/ifxT9J7LR.bc (code 3)
make: *** [Makefile:31: hipft.o] Error 3

 

Before the update I had it compiling and running.

 

 -- Ron

 

 

 

 

 

0 Kudos
4 Replies
jonejames235
Novice
266 Views

This looks like a regression or internal bug introduced in the latest ifx 2025.3.0 release. A segmentation fault during compilation almost always indicates an internal compiler error (not a user code problem).

You can try the following steps to narrow it down or work around it:

  1. Check the build with a previous version:
    If you still have the 2025.2 or earlier ifx available, test whether it compiles successfully. If it does, that confirms the issue was introduced in 2025.3.

  2. Disable specific offload options to isolate the trigger:
    Try removing one at a time:

     
    -fopenmp-target-do-concurrent -fopenmp-do-concurrent-maptype-modifier=present

    If it compiles without one of those flags, that identifies which part of the compiler is failing.

  3. Enable verbose diagnostics:
    Add -diag-enable sc or -qopt-report-phase:offload to get more details before the crash.

  4. File a Software Problem Report (SPR):
    Intel requests that users report segmentation violations like this through Intel’s Online Service Center.
    Include:

    • The full compiler command

    • OS and driver version

    • Minimal reproducer (e.g., which file triggers it)

  5. Temporary workaround:
    If you must compile now, you can disable GPU offload temporarily and build CPU-only with:

     
    -fiopenmp -fopenmp-targets=

    (empty target list disables offload).

0 Kudos
caplanr
New Contributor II
234 Views

Hi,

 

The flags  "-diag-enable sc"   and "-qopt-report-phase:offload" do not work.  

 

The full compiler command is:

mpif90 -f90=ifx -c -O3 -xHost -heap-arrays -fp-model precise -fopenmp-target-do-concurrent -fiopenmp -fopenmp-targets=spir64 -fopenmp-do-concurrent-maptype-modifier=present -I/opt/psi/intel/ext_deps/deps/hdf5/include -c "hipft.f90" -o hipft.o

 

If I take away "-fopenmp-do-concurrent-maptype-modifier=present"  it still crashes.

Only when I remove " -fopenmp-targets=spir64" does it work (but then does not offload to the GPU.

 

"Intel requests that users report segmentation violations like this through Intel’s Online Service Center"

We do not have a paid support service so I cannot submit that.

 

"If you must compile now, you can disable GPU offload temporarily and build CPU-only"

Yes I "can" but since the GPU is 10x faster than the CPU, I cannot do that in production.  I will use an NVIDIA GPU for now.

 

 - Ron

0 Kudos
caplanr
New Contributor II
297 Views

Just an update:

 

I upgraded the whole system from Ubuntu 22.04 to Ubuntu 24.04.

My new kernel is 

6.14.0-33-generic #33~24.04.1-Ubuntu

 

My GPU is detected by xpu-smi now and shows:

$ xpu-smi discovery
+-----------+--------------------------------------------------------------------------------------+
| Device ID | Device Information |
+-----------+--------------------------------------------------------------------------------------+
| 0 | Device Name: Intel(R) Arc(TM) B580 Graphics |
| | Vendor Name: Intel(R) Corporation |
| | SOC UUID: 00000000-0000-000f-0000-0000e20b8086 |
| | PCI BDF Address: 0000:0f:00.0 |
| | DRM Device: /dev/dri/card1 |
| | Function Type: physical |
+-----------+--------------------------------------------------------------------------------------+

 

| Driver Version: F6B62478219078F9C2A43F6 |

 

ifx --version
ifx (IFX) 2025.3.0 20251010

 

With these updates, the seg fault when compiling HipFT to offload to GPU remains, so it seems to be caused by the compiler update.

 

 - Ron

 

 

0 Kudos
caplanr
New Contributor II
79 Views

Just FYI - I have confirmed that if I install the 2025.2 compiler the code compiles and runs correctly on my B580.

So this error is just in the latest 2025.3 compiler.

 - Ron

0 Kudos
Reply