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

Compiling with NVHPC #1076

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Compiling with NVHPC #1076

wants to merge 8 commits into from

Conversation

Iximiel
Copy link
Member

@Iximiel Iximiel commented May 15, 2024

Description

In this PR I will set up some modifications to the code in order to make possible to compile all plumed with nvhpc v24.3.

As now is a work in progress, I do not know if the CI will even start and some regtests are failing on my pc, the PR is set up to check easily if the modifications do not break other compilers against the master branch.

Target release

I would like my code to appear in release 2.10

Type of contribution
  • changes to code or doc authored by PLUMED developers, or additions of code in the core or within the default modules
  • changes to a module not authored by you
  • new module contribution or edit of a module authored by you
Copyright
  • I agree to transfer the copyright of the code I have written to the PLUMED developers or to the author of the code I am modifying.
  • the module I added or modified contains a COPYRIGHT file with the correct license information. Code should be released under an open source license. I also used the command cd src && ./header.sh mymodulename in order to make sure the headers of the module are correct.
Tests
  • I added a new regtest or modified an existing regtest to validate my changes.
  • I verified that all regtests are passed successfully on GitHub Actions.

#define PLMDAUTO typename C::value_type
#else
//I prefer letting gcc doing his work
#define PLMDAUTO auto
Copy link
Member

Choose a reason for hiding this comment

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

I would avoid setting a macro PLMDAUTO in a .h file which could be included somewhere else. I think this is fine also with gcc:

// nvc++ cannot deduce the type correctly
const typename C::value_type & top() const { return *fwdIt; }

Also, I recently noticed this also with icpc installed on SISSA modules. So maybe it is a widespread bug

Copy link
Member

Choose a reason for hiding this comment

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

I would leave a comment like
// nvc++ and icpc do not deduce the type

otherwise sooner or later we will "fix it" back to "auto"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants