public inbox for [email protected]
help / color / mirror / Atom feedFrom: Bertrand Drouvot <[email protected]>
To: Andres Freund <[email protected]>
Cc: [email protected]
Subject: Re: Make Intel's ICX compiler working
Date: Wed, 11 Mar 2026 18:10:55 +0000
Message-ID: <[email protected]> (raw)
In-Reply-To: <cswzz3vc7uk4gcxuzdqyx4j2iluhbkscngnlsiaihnl7ccwsp4@eq7vf56wxrj4>
References: <abF/[email protected]>
<cswzz3vc7uk4gcxuzdqyx4j2iluhbkscngnlsiaihnl7ccwsp4@eq7vf56wxrj4>
Hi,
On Wed, Mar 11, 2026 at 11:08:01AM -0400, Andres Freund wrote:
> Hi,
>
> On 2026-03-11 14:44:11 +0000, Bertrand Drouvot wrote:
> > After having worked on [1], I tried to make use of the Intel's ICX compiler [2].
>
> Why? We removed icc support because it was barely maintained and buggy. Why
> would we expect ICX to be different? What would we gain by supporting what is
> essentially an LLVM fork?
>
>
> > The reason is that ICX defaults to -fp-model=fast enabling unsafe floating-point
> > optimizations (see [4]).
>
> That alone makes me extremely hesitant to support it. If a compiler vendor
> thinks defaulting to generating wrong results is a sane idea, I don't trust
> them.
Good point.
> > 2/ Issue on ICX's default runtime libraries
> >
> > For example, I was observing:
> >
> > postgres: postgres regression [local] CREATE SUBSCRIPTION: Relink
> > `/opt/intel/oneapi/compiler/2025.3/lib/libimf.so' with `/lib/x86_64-linux-gnu/libm.so.6' for IFUNC symbol `cosf'
> >
> > followed by a SIGSEGV.
> >
> > The reason is that ICX by default links against Intel runtime libraries such as
> > libimf.so, which provide IFUNC-based replacements for standard math functions (e.g.
> > cosf). When shared libraries built with ICX are loaded into a process that
> > also uses the system libm.so.6, the dynamic linker encounters conflicting
> > IFUNC resolvers and segfaults.
> >
> > The issue is solved by making use of -no-intel-lib ([7]).
>
> So their runtime is too buggy to be used as well.
> > I think that it makes sense to have ICX working (we took care of ICC in the past),
> > so PFA, a patch implementing those changes for both autoconf and meson.
>
> -many without some very very very good reasons.
The reasoning was that without the patch, one could still compile with ICX and
get silent errors or worst segfault later on. The patch idea was to prevent
those. That said, I agree that ICX looks buggy, so maybe we should just
error out if we detect it's being used?
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
view thread (5+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: Make Intel's ICX compiler working
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox