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

Compiler error on icc for threadprivate OMP pragma for random number gens #35

Open
lhilbert opened this issue Aug 3, 2019 · 2 comments
Labels
build Issue related to the build process.

Comments

@lhilbert
Copy link
Owner

lhilbert commented Aug 3, 2019

I had to comment out the threadprivate OMP pragma statements from the files RandonGenerator.h and Microemulsion.h

Otherwise the icc compiler on bwUniCluster gives compile errors with the type definitions.

This issue will have to be addressed if we want to go parallel within a single simulation!

@lhilbert lhilbert added the build Issue related to the build process. label Aug 3, 2019
@churli
Copy link
Collaborator

churli commented Aug 5, 2019

Did you change any compiler flag or switched between debug, PGO or release mode right before trying to build and getting the error?
Also, could you please revert the code back to the original state (uncomment the omp pragmas), check that you are not in PGO mode (switch e.g. to Release), set ENABLE_PGO_USE=0 and run:

rm -rf cmake-build-icc/
make

In this way you will delete any temporary build file and perform a clean build from scratch.
Please note that this will also delete any PGO profile, so the profiling run should be executed again (check docs).

In my experience this kind of problems come from trying to build with some flags and parameters while the temporary build files come from an older build which used different ones.

Let me know how it goes! :)

@lhilbert
Copy link
Owner Author

lhilbert commented Aug 7, 2019

Currently I have achieved a state of the code where I can run simulations, so I will not get into more troubleshooting myself unless required to get results.

Also, this is an issue you explained to me before. Specifically, the problem was that either you make a static declaration of the random number generator types towards OMP, or it will not compile with the threadprivate pragma. Now, when I use this static declaration pragma, it will not compile on my local machine. So, this issue will probably not go away with what you describe above. Also, I did delete the object files a few times before, but feel free to try if you can compile on bwUniCluster. That's probably the best way to try if you can get it to compile without use of the static declarations?!

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

No branches or pull requests

2 participants