Skip to content

Conversation

@minitu
Copy link
Contributor

@minitu minitu commented Jan 18, 2022

As of Intel oneAPI 2022, Clang is no longer supported in the compiler toolchain.
This commit fixes the issues that arise from this change (and uses ICX instead of DPCPP).
Build tested on Intel DevCloud with NAMD.
Example build command: ./build charm++ multicore-linux-x86_64 icx -j --with-production

As of Intel oneAPI 2022, clang is no longer supported in the compiler toolchain.
This commit fixes the issues that arise from this change (and uses ICX instead of DPCPP).
@minitu minitu added CMake The CMake build system Compiler labels Jan 18, 2022
@minitu minitu self-assigned this Jan 18, 2022
Copy link
Contributor

@jszaday jszaday left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Charm++ now builds with ICX on a machine that does not have clang++, thanks!

@evan-charmworks
Copy link
Contributor

Is it worth leaving DPCPP support for versions of oneAPI prior to 2022, in case users don't have access to the newest version?

@jszaday
Copy link
Contributor

jszaday commented Jan 19, 2022

Is it worth leaving DPCPP support for versions of oneAPI prior to 2022, in case users don't have access to the newest version?

I think icpx has been included with every version of ICX. So, any machine that has icx should have icpx as well. For example, it's present on this lab machine with the 2021 version:

mirzam :: ~ % icpx -v                                                                                                                                                                        
Intel(R) oneAPI DPC++/C++ Compiler 2021.4.0 (2021.4.0.20210924)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/intel/oneapi/compiler/2021.4.0/linux/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Candidate multilib: .;@m64
Selected multilib: .;@m64

@minitu
Copy link
Contributor Author

minitu commented Jan 19, 2022

@evan-charmworks I think it is cleaner to just have an ICX build available, I believe icpx is basically identical to dpcpp (which is why the DPC++ build of NAMD is also able to use the ICX build of Charm++), and as Justin said icpx (C++ compiler) is available with icx (C compiler). This is also the input from the Intel developers working with me on the NAMD DPC++ porting effort.

@minitu minitu merged commit 2d58c2f into main Jan 22, 2022
@minitu minitu deleted the jchoi/icx-build branch January 22, 2022 03:42
@minitu minitu added this to the 7.0.1 milestone Jun 28, 2022
stwhite91 pushed a commit that referenced this pull request May 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CMake The CMake build system Compiler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants