- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Good day!
I have recently obtained the following compile error with Intel Compiler 2020.1.217.
internal error: assertion failed: find_assoc_pragma: pragma not found (shared/cfe/edgcpfe/il.c, line 24734)
function_2a(temp1[i_ + 2 * comp * dofs_per_face],
^
compilation aborted
The problematic OpenMP statement in the lines above is "#pragma omp simd". With version 2019.5.281 everything compiled nicely.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for reporting the issue to us. We are forwarding this issue to the concerned team. They will get back to you.
Warm Regards,
Abhishek
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you look into your buildlog and see which source file gave the internal error, then create a preprocess (replace -c with -E and remove -o filename.o) file for us to investigate?
Thanks,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for the quick response.
Please check if the attachment is that what you asked for.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I dont have "7z" handy to extract your file. Can you provide us .tbz. or some thing that I can use "tar" to extract it.
Also, please provide us your command line options as well.
Thanks,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I attached gzip archive, check it please. There is already the preprocessed i-file there.
My compile line is:
mpiicpc $(CXX_FLAGS) -o step-67.cc.o -c step-
where
CXX_FLAGS = -fpic -ansi -w2 -diag-disable=remark -wd21 -wd68 -wd135 -wd175 -wd177 -wd191 -wd193 -wd279 -wd327 -wd383 -wd854 -wd981 -wd1418 -wd1478 -wd1572 -wd2259 -wd2536 -wd2651 -wd3415 -wd15531 -wd15552 -wd111 -wd128 -wd185 -wd186 -wd280 -qopenmp-simd -std=c++14 -march=native -Wno-array-bounds -Wno-parentheses -no-ansi-alias -ip -funroll-loops -O3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the test case. I've reported this bug to our Developer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We just stumbled upon this problem, too.
compiler: icpc (ICC) 2021.1 Beta 20200827 (using the latest docker image)
```
/opt/intel/oneapi/compiler/2021.1-beta10/linux/bin/intel64/icpc -DAUTOPAS_OPENMP -DSPDLOG_COMPILED_LIB -Iexamples/md-flexible -I../../examples/md-flexible -I../../src -Isrc -I../../tools/. -O3 -DNDEBUG -fno-math-errno -fp-model precise -qopenmp-simd -march=native -qopenmp -std=c++17 -MD -MT examples/md-flexible/CMakeFiles/md-flexible.dir/src/main.cpp.o -MF examples/md-flexible/CMakeFiles/md-flexible.dir/src/main.cpp.o.d -o examples/md-flexible/CMakeFiles/md-flexible.dir/src/main.cpp.o -c ../../examples/md-flexible/src/main.cpp
FAILED: examples/md-flexible/CMakeFiles/md-flexible.dir/src/main.cpp.o
/opt/intel/oneapi/compiler/2021.1-beta10/linux/bin/intel64/icpc -DAUTOPAS_OPENMP -DSPDLOG_COMPILED_LIB -Iexamples/md-flexible -I../../examples/md-flexible -I../../src -Isrc -I../../tools/. -O3 -DNDEBUG -fno-math-errno -fp-model precise -qopenmp-simd -march=native -qopenmp -std=c++17 -MD -MT examples/md-flexible/CMakeFiles/md-flexible.dir/src/main.cpp.o -MF examples/md-flexible/CMakeFiles/md-flexible.dir/src/main.cpp.o.d -o examples/md-flexible/CMakeFiles/md-flexible.dir/src/main.cpp.o -c ../../examples/md-flexible/src/main.cpp
../../src/autopas/containers/verletClusterLists/VerletClusterLists.h(594): internal error: assertion failed: find_assoc_pragma: pragma not found (il.c, line 25362 in find_assoc_pragma)
loopBody(cluster);
^
compilation aborted for ../../examples/md-flexible/src/main.cpp (code 4)
```
In case you can use an additional test-case, I have attached it below.
Sadly, it is not at all minimal and taken from our code base.
The code compiled fine with a 2019 version of icpc.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you use -O1 instead of -O3 as a workaround?
Thanks,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
compilation in debug mode, or using -O1 does not help.
But thanks for the suggestion.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks,
I've also reported your case to our Developer.
Here is a small reproducer:
$ icpc test2.cpp -c -O3 -qopenmp -std=c++17
test2.cpp(7): internal error: assertion failed: find_assoc_pragma: pragma not found (il.c, line 25362 in find_assoc_pragma)
f(0);
^
compilation aborted for test2.cpp (code 4)
$ cat test2.cpp
template < typename F>
void foo(const F& f)
{
#pragma omp parallel for schedule(dynamic) collapse(2)
for (unsigned int v = 0; v < 0; ++v){
for (unsigned int t = 0; t < 0; ++t){
f(0);
}
}
}
void f() {
foo( [](const auto &indices_2) {} );
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We hit the same issue in [alpaka](https://github.com/alpaka-group/alpaka/pull/1279)
A workaround is:
template<typename F> void foo(const F& f) { #pragma omp parallel for schedule(dynamic) collapse(2) for (unsigned int v = 0; v < 0; ++v){ for (unsigned int t = 0; t < 0; ++t){ auto x = [&f]( const auto & i){ f(i);}; x(0); } } } void f() { foo( [](const auto &indices_2) {} ); }
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I missed to add the compiler version I used to test my workaround.
```
icpc -V
Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.3.304 Build 20200925_000000
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
```
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the workaround. It also works with our oneAPI 2021.2
$ icpc -V
Intel(R) C++ Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Glad to know the issue is resolved. If any addition help is required, please raise another thread, as this thread will no longer be monitored.
Regards,
Arpita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Arpita,
the issue is NOT solved.
We only know a workaround that can be used until the bug is fixed in the compiler.
As soon as this issue is fixed it should be announced in this thread that the reader/follower is aware of which ICC version is solving the issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I really apologize .
I thought that the work around works perfectly fine. I would surely keep the forum posted regarding the issue fix. But I cannot promise the time frame of this issue fix.
Regards,
Arpita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The fix is available in the latest oneAPI 2022.2.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page