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

Check for GCC <= 4.9 before compiling #14

Closed
bforsbe opened this issue Jun 22, 2016 · 5 comments
Closed

Check for GCC <= 4.9 before compiling #14

bforsbe opened this issue Jun 22, 2016 · 5 comments

Comments

@bforsbe
Copy link
Contributor

bforsbe commented Jun 22, 2016

Originally reported by: Dimitry Tegunov (Bitbucket: DTegunov, GitHub: DTegunov)


I think a few help requests could be avoided in the future if cmake made sure GCC's version (though there are probably similar issues with other compilers?) is <= the maximum supported by the CUDA SDK, before make is executed. Especially when running the latter with many threads, NVCC's complaints about GCC can be hard to find.


@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 22, 2016

Original comment by Bjoern Forsberg (Bitbucket: bforsbe, GitHub: bforsbe):


I agree this would be ideal. However, the supported version of compiler (especially for GCC) depends not only on your CUDA-version but also on you OS. We should put in a warning about using GCC versions higher than 4.x, but for now I think the user should be able to use the CUDA-toolkit documentation about supported compilers to figure out what is needed. But we could definitely include this table in the manual or on the RELION wiki, so that this information is easily accessible when following installation instructions.

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 22, 2016

Original comment by Jon Diprose (Bitbucket: well-jon, GitHub: Unknown):


I'd rather the restriction only applied for CUDA-enabled builds. Not that I'm using a gcc5 but still, if it's a CUDA-imposed limit the check should only be made if CUDA is being used. Unless other things have problems with gcc5!

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 22, 2016

Original comment by Erik Lindahl (Bitbucket: eriklindahl, GitHub: eriklindahl):


The problem is that CUDA evolves rapidly, and if we add a warning e.g. for gcc-5.0 that is going to be invalid already within weeks when NVIDIA releases CUDA-8.0.

We should thus not warn about specific compiler versions, but the one thing we could do is to try and compile a trivial CUDA program to make sure that works with the selected compiler and CUDA version.

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 24, 2016

Original comment by cameron kennedy (Bitbucket: cdk, GitHub: cdk):


We seen this failure on our newer boxes, and machines with updated gcc.
To build, we removed the gcc version check.
We did this by editing $CUDA_DIR/include/host_config.h and commenting out the check for gcc version.

#if GNUC > 4 || (GNUC == 4 && GNUC_MINOR > 9)

// #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!

#endif /* GNUC > 4 || (GNUC == 4 && GNUC_MINOR > 9) */

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 29, 2016

Original comment by Bjoern Forsberg (Bitbucket: bforsbe, GitHub: bforsbe):


Could implement test-compilation and/or CUDA-dep gcc version-check, but that will await stable CUDA 8.0 recommendation at the very least.

@bforsbe bforsbe closed this as completed Jan 26, 2017
biochem-fan pushed a commit that referenced this issue Feb 13, 2019
optimal motion parameters are now written to <out>/opt_params.txt and can be used by motion_refine with the --params_file argument (overrides cmd. line arguments)
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

1 participant