Project

General

Profile

Bug #2300

Intel compiler warnings

Added by Szilárd Páll about 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Low
Category:
mdrun
Target version:
Affected version - extra info:
2018-beta1
Affected version:
Difficulty:
simple
Close

Description

$ icc --version | head -n1
icc (ICC) 17.0.4 20170411


The warning in question is:
src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h(37): (col. 1) remark: Some OpenMP processing was skipped to constrain compile time. Consider overriding limits (-qoverride-limits).

Associated revisions

Revision dda08169 (diff)
Added by Roland Schulz about 2 years ago

Fix ICC warnings

Fixes #2300

Change-Id: Ia5ce081af805d905b7642d773fa51fb0b729a109

Revision 80dd3f5b (diff)
Added by Mark Abraham almost 2 years ago

Update double-precision test configurations

These changes improve coverage of double precision, using more release
mode, particularly with latest gcc and icc, and using 128-bit SIMD,
which have been cases that were buggy recently. The other aspects of
the configurations that have been modified have been
non-critical. Where appropriate, brief rationales are recorded. This
resolves an old TODO item in the post-submit matrix.

Fixed a sign mismatch in initializing an OpenCL variable that didn't
need to be initialized.

Noted relevant new TODOs.

Refs #2300, #2325, #2326, #2334, #2335, #2336, #2337, #2338

Change-Id: I131fa1a6776d1e7809799c3f931a1fc8100fcdc9

History

#1 Updated by Szilárd Páll about 2 years ago

Rather surprised given that some of us were very upset due to similarly harmless compiler warnings recently, but this seems to have been there for some time.

#2 Updated by Szilárd Páll about 2 years ago

Several more (times 4):

src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu(583): remark #181: argument of type "unsigned int" is incompatible with format "%d", expecting argument of type "int" 
  fprintf(debug, "Pruning GPU kernel launch configuration:\n\tThread block: %dx%dx%d\n\t\tGrid: %dx%d\n\t#Super-clusters/clusters: %d/%d (%d)\n\tS" "hMem: %d\n", dim_block.x, dim_block.y, dim_block.z, dim_grid.x, dim_grid.y, numSciInPart * c_numClPerSupercl, c_numClPerSupercl, plist->na_c, shmem); 

#3 Updated by Aleksei Iupinov about 2 years ago

That last one seems strange though, everything should be int. I guess whole shmem calculation gets inlined so it becomes unsigned because of sizeof.

#4 Updated by Mark Abraham about 2 years ago

OK, should be simple for someone to fix. Since you already have the build configuration, please handle it?

The OpenMP issue is a bit more awkward, though. We could suppress the remark along with all the other intel compiler diagnostics we treat in gmxCFlags.cmake, or actually override the limits. We don't really care about compile time enough to want to work out whether we want the optimization or not. Especially if intel 18 doesn't issue the diagnostic.

#5 Updated by Szilárd Páll about 2 years ago

  • Assignee set to Szilárd Páll
  • Difficulty simple added
  • Difficulty deleted (uncategorized)

Mark Abraham wrote:

OK, should be simple for someone to fix. Since you already have the build configuration, please handle it?

As long as verification does not issue warnings, I don't think it's urgent, so I'll fix it when there are less urgent tasks.

The OpenMP issue is a bit more awkward, though. We could suppress the remark along with all the other intel compiler diagnostics we treat in gmxCFlags.cmake, or actually override the limits. We don't really care about compile time enough to want to work out whether we want the optimization or not. Especially if intel 18 doesn't issue the diagnostic.

I have no idea whether this is specific to icc 17, whether it does affect performance, and whether/how much does influence compile time. We should not make build times explode, but otherwise I don't think compile time with icc matters much -- at least not to me as I don't develop with it.

#6 Updated by Gerrit Code Review Bot about 2 years ago

Gerrit received a related patchset '1' for Issue #2300.
Uploader: Roland Schulz ()
Change-Id: gromacs~release-2018~Ia5ce081af805d905b7642d773fa51fb0b729a109
Gerrit URL: https://gerrit.gromacs.org/7299

#7 Updated by Roland Schulz about 2 years ago

  • Status changed from New to Fix uploaded

#8 Updated by Roland Schulz about 2 years ago

  • Status changed from Fix uploaded to Resolved

#10 Updated by Szilárd Páll about 2 years ago

  • Target version set to 2018-beta2
  • Affected version - extra info set to 2018-beta1

Thanks for the fix. I was going to check how much does -qoverride-limits impact compile time. Have you checked? Is it a major difference? Any performance difference?

#11 Updated by Roland Schulz about 2 years ago

I have previously checked performance and couldn't notice anything. Subjectively I haven't noticed compile time difference (haven't measured). I prefer this solution over silencing the warning because otherwise we don't notice if in the future it appears somewhere where it matters.

#12 Updated by Gerrit Code Review Bot about 2 years ago

Gerrit received a related patchset '1' for Issue #2300.
Uploader: Mark Abraham ()
Change-Id: gromacs~release-2018~I131fa1a6776d1e7809799c3f931a1fc8100fcdc9
Gerrit URL: https://gerrit.gromacs.org/7303

#13 Updated by Mark Abraham about 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF