Project

General

Profile

Bug #494

nonbonded SSE kernels get passed double instead of float

Added by Szilárd Páll almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Erik Lindahl
Category:
mdrun
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

When compiling mdrun in double precision mode a large number of warning at the compilation of nonbonded SSE kernels suggests that double pointers are passed to float pointer parameters:

[...]
/tmp/psz/gmx-release-4.5/src/gmxlib/nonbonded/nb_kernel_x86_64_sse/nb_kernel_allvsallgb_sse2_single.c: In function 'nb_kernel_allvsallgb_sse2_single':
/tmp/psz/gmx-release-4.5/src/gmxlib/nonbonded/nb_kernel_x86_64_sse/nb_kernel_allvsallgb_sse2_single.c:686: warning: passing argument 1 of '_mm_load1_ps' from incompatible pointer type
/afs/pdc.kth.se/pdc/vol/gcc/4.4.1/@sys/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.4.1/include/xmmintrin.h:884: note: expected 'const float *' but argument is of type 'real *'
/tmp/psz/gmx-release-4.5/src/gmxlib/nonbonded/nb_kernel_x86_64_sse/nb_kernel_allvsallgb_sse2_single.c:687: warning: passing argument 1 of '_mm_load1_ps' from incompatible pointer type
[...]

History

#1 Updated by Erik Lindahl almost 10 years ago

Are you configuring with cmake? With autoconf the single-precision directory shouldn't be included when --enable-double is used.

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

(In reply to comment #1)

Are you configuring with cmake? With autoconf the single-precision directory
shouldn't be included when --enable-double is used.

Yes, I am. One more issue with CMake...

#3 Updated by Erik Lindahl almost 10 years ago

There's nothing wrong with the call sequence, but Cmake incorrectly included all the single precision kernels when double was requested. Committed to the release-4-5-patches branch.

Also available in: Atom PDF