Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Intel oneAPI 2025 with configure #1192

Open
adam-sim-dev opened this issue Dec 8, 2024 · 8 comments · Fixed by #1196
Open

Support Intel oneAPI 2025 with configure #1192

adam-sim-dev opened this issue Dec 8, 2024 · 8 comments · Fixed by #1196

Comments

@adam-sim-dev
Copy link
Contributor

adam-sim-dev commented Dec 8, 2024

Since Intel oneAPI 2025, ifort and mpiifort are removed. So simple ./configure won't work because it fails to find the fortran compiler.

17fa100 should be updated by simply moving ifx(mpiifx) ahead of ifort (mpiifort).

for ac_prog in xlf_r ifort ifx gfortran g77 g95 pgf77 pgfortran f77

for ac_prog in xlf ifort ifx gfortran g77 g95 pgf77 pgfortran f77

for ac_prog in mpxlf mpixlf77_r mpiifort mpiifx mpif77 mpipgf77 mpipgifort

for ac_prog in mpxlf mpixlf77 mpiifort mpiifx mpif77 mpipgf77 mpipgifort

config.log

@adam-sim-dev
Copy link
Contributor Author

I am not clear why ifx is not present in the following three lines and if it has some effects, while the above fix works for me.

for ac_prog in g77 ifort pgf77 xlf

for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77

for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77

@ivikiwi-1111
Copy link

ivikiwi-1111 commented Dec 18, 2024

Faced the same issues. Replacing ifort to ifx in the configure file seems to work for me.

@adam-sim-dev
Copy link
Contributor Author

Faced the same issues. Replacing ifort to ifx in the configure file seems to work for me.

See the PR #1193

@ivikiwi-1111
Copy link

ivikiwi-1111 commented Dec 18, 2024

Did you succeed further? I've tried to compile with following options:

--with-sycl --with-sycl-target=amdgcn-amd-amdhsa --enable-unified-memory

Getting a bunch of errors. Tried to checkout to sycl-cleanup MR, didn't help. Not sure if I'm doing something wrong or the packages are broken for some reason.

@waynemitchell
Copy link
Contributor

Did you succeed further? I've tried to compile with following options:

--with-sycl --with-sycl-target=amdgcn-amd-amdhsa --enable-unified-memory

Getting a bunch of errors. Tried to checkout to sycl-cleanup MR, didn't help. Not sure if I'm doing something wrong or the packages are broken for some reason.

Can you share some of the issues you are having? The master branch should work (the sycl cleanup PR was merged a while ago, so that branch is old).

@ivikiwi-1111
Copy link

ivikiwi-1111 commented Dec 19, 2024

My setup is:

OS: Ubuntu 24.04.1 LTS x86_64
Tool-Kit: Intel oneAPI 2025
Options: --with-sycl --with-sycl-target=amdgcn-amd-amdhsa --enable-unified-memory

With fixed configure and the options above after running make I get a lot of similar errors like this one:

icpx  -O3 -fsycl -fsycl-unnamed-lambda  -DHAVE_CONFIG_H -I.. -I./.. -I./../struct_mv -I.    -qmkl -I/include -DMKL_ILP64 -I/opt/intel/oneapi/mkl/2025.0/include        -c general.c -o general.obj
icpx: warning: treating 'c' input as 'c++' when -fsycl is used [-Wexpected-file-type]
In file included from general.c:8:
In file included from ./_hypre_utilities.h:648:
In file included from /opt/intel/oneapi/compiler/2025.0/bin/compiler/../../include/sycl/stl_wrappers/assert.h:20:
In file included from /opt/intel/oneapi/compiler/2025.0/bin/compiler/../../include/sycl/CL/__spirv/spirv_vars.hpp:27:
/opt/intel/oneapi/compiler/2025.0/bin/compiler/../../include/sycl/CL/__spirv/spirv_types.hpp:135:1: error: templates must have C++ linkage
  135 | template <typename T, std::size_t R, std::size_t C, MatrixLayout L,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  136 |           Scope::Flag S = Scope::Flag::Subgroup,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  137 |           MatrixUse U = MatrixUse::MatrixA>
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./_hypre_utilities.h:14:1: note: extern "C" language linkage specification begins here
   14 | extern "C" {
      | ^
      

Seems like *.c files are preferably compiled with icx? Also it's probably better to move all this into a new issue?

@waynemitchell
Copy link
Contributor

waynemitchell commented Dec 19, 2024

Looks like you are running into the same issue reported here: #1191

I'll address this in a separate PR.

@waynemitchell
Copy link
Contributor

Can you try the branch here: #1197

@waynemitchell waynemitchell reopened this Dec 19, 2024
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 a pull request may close this issue.

3 participants