Skip to content

Conversation

lgritz
Copy link
Collaborator

@lgritz lgritz commented Apr 18, 2024

Background: Intel's icc is essentially discontinued and we think all the renderers using OSL have moved on to the newer icx, but Alex Wells still likes to sometime use icc for its better facilities for some SIMD code generation sleuthing that he does. So we keep it in our CI matrix to esure we don't break it for OSL until it is truly unavoidable or he doesn't feel like he needs it anymore.

Some recent changes to OIIO's simd.h, from PR 4187 in that project, seem to tweak what appears to be a compiler bug in icc -- bugs were also noted in OIIO in the course of this PR and some workarounds were put there just for icc to make OIIO's own tests pass. Well, once that went in, OSL's CI tests for the icc case also started failing. It's only texture derivatives that are broken, and in a weird wy that smells like a compiler icc bug with SIMD generation similar to what we discovered on the OIIO side.

Like I said, this is a discontinued compiler that no major renderers are still using, so it doesn't seem worth tracking it down any further to find a true fix. So let's just lock that one test case down to OIIO 2.5 (the current release) to avoid the changes that will eventually be in OIIO 2.6/3.0 and hope that we fully retire icc before OIIO 2.5 is no longer supported by OSL.

Background: Intel's icc is essentially discontinued and we think all
the renderers using OSL have moved on to the newer icx, but Alex Wells
still likes to sometime use icc for its better facilities for some
SIMD code generation sleuthing that he does. So we keep it in our CI
matrix to esure we don't break it for OSL until it is truly
unavoidable or he doesn't feel like he needs it anymore.

Some recent changes to OIIO's simd.h, from PR 4187 in that project,
seem to tweak what appears to be a compiler bug in icc -- bugs were
also noted in OIIO in the course of this PR and some workarounds were
put there just for icc to make OIIO's own tests pass. Well, once that
went in, OSL's CI tests for the icc case also started failing.  It's
only texture derivatives that are broken, and in a weird wy that
smells like a compiler icc bug with SIMD generation similar to what we
discovered on the OIIO side.

Like I said, this is a discontinued compiler that no major renderers
are still using, so it doesn't seem worth tracking it down any further
to find a true fix. So let's just lock that one test case down to OIIO
2.5 (the current release) to avoid the changes that will eventually be
in OIIO 2.6/3.0 and hope that we fully retire icc before OIIO 2.5 is
no longer supported by OSL.

Signed-off-by: Larry Gritz <lg@larrygritz.com>
@lgritz
Copy link
Collaborator Author

lgritz commented Apr 27, 2024

No objections, CI only change -> merging

@lgritz lgritz merged commit 633b3d3 into AcademySoftwareFoundation:main Apr 27, 2024
lgritz added a commit to lgritz/OpenShadingLanguage that referenced this pull request Apr 29, 2024
Background: Intel's icc is essentially discontinued and we think all
the renderers using OSL have moved on to the newer icx, but Alex Wells
still likes to sometime use icc for its better facilities for some
SIMD code generation sleuthing that he does. So we keep it in our CI
matrix to esure we don't break it for OSL until it is truly
unavoidable or he doesn't feel like he needs it anymore.

Some recent changes to OIIO's simd.h, from PR 4187 in that project,
seem to tweak what appears to be a compiler bug in icc -- bugs were
also noted in OIIO in the course of this PR and some workarounds were
put there just for icc to make OIIO's own tests pass. Well, once that
went in, OSL's CI tests for the icc case also started failing.  It's
only texture derivatives that are broken, and in a weird wy that
smells like a compiler icc bug with SIMD generation similar to what we
discovered on the OIIO side.

Like I said, this is a discontinued compiler that no major renderers
are still using, so it doesn't seem worth tracking it down any further
to find a true fix. So let's just lock that one test case down to OIIO
2.5 (the current release) to avoid the changes that will eventually be
in OIIO 2.6/3.0 and hope that we fully retire icc before OIIO 2.5 is
no longer supported by OSL.

Signed-off-by: Larry Gritz <lg@larrygritz.com>
@lgritz lgritz deleted the lg-icc branch April 29, 2024 02:33
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.

1 participant