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

pair_comb_omp fails to compile with NVCC #43

Closed
crtrott opened this issue Mar 24, 2016 · 3 comments
Closed

pair_comb_omp fails to compile with NVCC #43

crtrott opened this issue Mar 24, 2016 · 3 comments

Comments

@crtrott
Copy link
Contributor

crtrott commented Mar 24, 2016

Using nvcc this pair style looks like it is failing to compile. I am 99% convinced this is an issue of NVCC not of the code though. For now I'd like to document it here. I will also file a bug report with NVIDIA. That said we could potentially use a workaround for the use case where this hurts (i.e. Kokkos and OMP are enabled, and Kokkos is compiled for the Cuda+OpenMP). That workaround would be to replace the OpenMP atomic with a Kokkos atomic (which has a simple pointer interface, and doesn't rely on Kokkos being initialized or anything else) if KOKKOS_HAVE_CUDA is defined. Not sure if that is acceptable. The only other thing I can do right now is to remove that pair style from the compilation.

mpicxx -g -O3   -DLAMMPS_GZIP -DLMP_USER_OMP -DLMP_PYTHON -DLMP_MPIIO -DLMP_KOKKOS  -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1    -I/projects/install/rhel6-x86_64/sems/compiler/python/2.7.9/include/python2.7 -I/projects/install/rhel6-x86_64/sems/compiler/python/2.7.9/include/python2.7 -I./ -I../../lib/kokkos/core/src -I../../lib/kokkos/containers/src -I../../lib/kokkos/algorithms/src  --std=c++11 -Xcompiler -fopenmp   -c ../pair_comb_omp.cpp
../domain_kokkos.h(27): warning: overloaded virtual function "LAMMPS_NS::Domain::x2lamda" is only partially overridden in class "LAMMPS_NS::DomainKokkos"

../domain_kokkos.h(27): warning: overloaded virtual function "LAMMPS_NS::Domain::lamda2x" is only partially overridden in class "LAMMPS_NS::DomainKokkos"

../pair_comb_omp.cpp(419): warning: variable "fqj" was set but never used

../pair_comb_omp.cpp(88): warning: variable "ecoul" was set but never used

../domain_kokkos.h(27): warning: overloaded virtual function "LAMMPS_NS::Domain::x2lamda" is only partially overridden in class "LAMMPS_NS::DomainKokkos"

../domain_kokkos.h(27): warning: overloaded virtual function "LAMMPS_NS::Domain::lamda2x" is only partially overridden in class "LAMMPS_NS::DomainKokkos"

../pair_comb_omp.cpp(88): warning: variable "ecoul" was set but never used

../pair_comb_omp.cpp(419): warning: variable "fqj" was set but never used

../pair_comb_omp.cpp: In member function \u2018virtual double LAMMPS_NS::PairCombOMP::yasu_char(double*, int&)\u2019:
../pair_comb_omp.cpp:522:1: error: expected primary-expression before \u2018}\u2019 token
 #endif
@akohlmey
Copy link
Member

yes, this is an issue with nvcc choking on the OpenMP atomic pragmas.
deleting pair_comb__omp._ is what i usually do in this case. perhaps we should put this into the Install.sh script for yes-kokkos?

@crtrott
Copy link
Contributor Author

crtrott commented Mar 24, 2016

Yeah that seems like a reasonable solution.

akohlmey pushed a commit that referenced this issue Sep 29, 2016
@akohlmey
Copy link
Member

nvcc from CUDA-8.0 can compile the code.

taylor-a-barnes added a commit to MolSSI-MDI/lammps that referenced this issue Jan 8, 2020
666e039 Update documentation
b6f8a1b Merge pull request lammps#58 from MolSSI/role
237c970 Add MDI_Get_Role function
aa2a534 Merge pull request lammps#57 from MolSSI/lgtm
4eda6f4 Switch to integers for version number
66bdbbc Add c_ptr_to_py_str function
bd78f2c Merge pull request lammps#56 from MolSSI/coverage
9443684 Update tests
d5202a8 Add testing for MDI_Init errors
8d62a73 Update tests
5404dbd Update tests
f191c8f Add tests for MDI initialization
dffa825 Merge pull request lammps#55 from MolSSI/units
55d9f1e Add physconst.h
a96def3 Merge pull request lammps#54 from MolSSI/coverage
9513007 Update .travis.yml
15ad6da Update .travis.yml
b95e0e1 Update .travis.yml
10745d0 Merge pull request lammps#53 from MolSSI/coverage
5b2e76b Update test codes
e89c29f Update test codes
da951f8 Update test codes
98cde24 Update test codes
ebf6185 Update test codes
c34ae8c Update test codes
6417d96 Update Python engine
b0b1a50 Remove old mpi4py functions
f672237 Update .travis.yml
d6d24a7 Update .travis.yml
2391e76 Update .travis.yml
1c40013 Merge pull request lammps#52 from MolSSI/coverage
cb6e245 Update Python test codes to use local build
230df9b Update test_mdi.py
cace71e Update .travis.yml
ea92372 Update .travis.yml
7fba0a0 Update .travis.yml
7ac54f2 Update test_mdi.py
7075fb6 Update .travis.yml
203307f Merge pull request lammps#51 from MolSSI/coverage
7dde3b9 Update .travis.yml
db78c02 Update .travis.yml
aae0985 Update .travis.yml
7948fba Update .travis.yml
cadaa91 Update .travis.yml
c03f7f0 Add codecov badge
eb6e888 Merge pull request lammps#50 from MolSSI/coverage
d8c4ec8 Update .travis.yml
6c00d36 Update .travis.yml
e19ab56 Update .travis.yml
a6fc00e Update .travis.yml
bf832dc Update .travis.yml
53b441b Update .travis.yml
464caf7 Update .travis.yml
1a5edd1 Update .travis.yml
9a78fcb Update .travis.yml
f4e05c9 Add code coverage token to .travis.yml
6294082 Merge pull request lammps#49 from MolSSI/test_codes
dcdbeff Update exceptions in mdi.py
62b7940 Update mdi.py
ac467d8 Clean mdi.py
504022e Fix bug in mdi.py
95d9130 Fix LGTM alerts
14c9289 Delete old test scripts
076a275 Update .travis.yml
655ee00 Update .travis.yml
0720394 Add test_codes cmake option
fcdd571 Merge pull request lammps#48 from MolSSI/test_codes
c622556 Add .travis.yml
5ddfc3c Update .travis.yml
a7ea283 Update .travis.yml
097d083 Update .travis.yml
5d061dc Update .travis.yml
15ae02f Add test_mdi.py
435697a Update .travis.yml
9604c01 Update .travis.yml
be4ab0d Update .travis.yml
bf238a3 Update .travis.yml
eb1aa88 Update cmake paths
f59a995 Update Fortran MPI stubs path
8e0e11b Add MDI_Test_Codes
6ae309b Merge pull request lammps#47 from MolSSI/library
720439a Remove mdi_mpi4py.py test
a80caea Remove mdi_mpi4py.py
7bdf5af Add support for communicator creation and destruction
8f4df18 Improve Python and Fortran support for the LIBRARY method
d1b4a39 Merge pull request lammps#46 from MolSSI/lib_method
4e0e22f Add LIBRARY communication method
5a1eb8a Merge pull request lammps#45 from MolSSI/nodes
3b8cad4 Fix LGTM alert
1477cde Fix LGTM alerts
94bcb90 Automate communication of node information
6e1e73c Fix MPI stubs
9eec2c1 Update documentation
a7db05f Merge branch 'master' of github.com:MolSSI/MDI_Library
4d22171 Expand MPI stubs
3544ab4 Merge pull request lammps#44 from MolSSI/node
526c60e Update Fortran wrapper
c7c6f7a Update wrappers
8662f22 Update mdi.py
241c34f Update mdi.py
54b7218 Update mdi_general.c
d748576 Update .travis.yml
01c73b4 Add functions to support the Node System
2b92632 Update MDI_Conversion_Factor arguments
78d1101 Update documentation
a7b3c85 Add STRESS commands to the standard
0ec1dd7 Add nanometer and picometer conversions
caa23f5 Update conversion factor names
1ec1d8e Update CMakeLists.txt
4dd4413 Merge pull request lammps#43 from MolSSI/brew
0e2e9fa Update .travis.yml
63baab3 Add QCEngine documentation
f359923 Add Azure Pipelines badge
aac1866 Merge pull request lammps#42 from MolSSI/openmpi
b1bccc6 Add f2c MPI communicator conversions
493a26c Merge pull request lammps#41 from MolSSI/windows
482491f Correct pointer type in mdi_tcp.c
2bff48c Update .travis.yml
7b64c7b Update .travis.yml
19e23b1 Update .travis.yml
afbebe7 Update .travis.yml
113a723 Update .travis.yml
fb615d2 Update .travis.yml
98967ee Update .travis.yml
f2fdc8f Update test scripts for Windows
b97ba61 Update .travis.yml
82d4e61 Update .travis.yml
30d7921 Make cxx-cxx test Windows compatible
bfd7f75 Update .travis.yml
ecde6ac Update .travis.yml
bfe4ae7 Update .travis.yml
fdbdef4 Update .travis.yml
ad28384 Merge pull request lammps#40 from MolSSI/fortran_windows
158b05b Check for Windows test executables in travis build
7e665c8 Build Fortran tests on Windows
c2e266d Use MDI_WINDOWS definition in Fortran wrapper
41ced04 Merge pull request lammps#39 from MolSSI/test_scripts
e998b7e Add test scripts to .travis.yml
d85b3cc Add test scripts
1ed0bff Add cxx-cxx_tcp.sh
8523bbf Add MDI_WINDOWS definition
ec2dec5 Improve Fortran DLL export
230a431 Fix bug in Fortran install
fe677e0 Add ecosystem documentation section
32cafbf Update mdiConfig.cmake.in
d155a16 Fix bug in CMake export
8b83737 Remove extra argument to EXPORT
21166d3 Update export target name
f9372e7 Add CMake find_package support
503aaac Update tutorial documentation
a0e5e17 Update Driver Development tutorial
99f8677 Update documentation of MDI commands Resolves lammps#24
860fe91 Document -out command-line option Resolves lammps#30.
853c1f0 Fix bug when -Dlanguage=Python

git-subtree-dir: lib/mdi
git-subtree-split: 666e039bcb95fc8baff307eaa3c90651a460ab99
akohlmey pushed a commit that referenced this issue Jan 22, 2020
jtclemm pushed a commit to jtclemm/lammps that referenced this issue Nov 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants