Closed giovanni-rosotti closed 8 years ago
Is the hybrid currently working (to some degree) ?
As far as I know, yes - I run a few tests and they were fine. The only problem I found is when using a lattice in the initial conditions - but as we have discussed this is more likely to be a problem in that routine rather than in the hybrid parallelization...
So there is a problem with the build at the moment when mpic++ invokes icc, since the -ffast-math flag and -openmp flags are different.
Well there's nothing we can do in this case - we can't understand from the command if you're using gnu or intel given that it's always mpic++. There are only two solutions:
Not without some shell magic anyway, which is difficult to make portable. Do you have a preference for which solution is used? Perhaps the easiest thing is to remove the automatic choice of compiler flags and to give a few sensible examples instead.
So I've added the change to the src/Makefile. I'd happily push this except that the travis checks have failed. Although it compiles fine for me. Do you expect it to work with travis?
Well, it fails because there is no travis script in this branch... let's first merge this with master (but it should be David that accepts this request as by our policy). I'll then create a request for merging the branch where I set up travis and then we should be fine. Until that is done, expect all the other pushes to fail...
Okay, I just pulled and double checked this branch was working, which it was on the tests I run. I had the same issue when I tried to send a pull request (for the load balancing) so hopefully we can get this set-up asap.
A few changes to make the code compile in hybrid mode (MPI+OpenMP). One change affects also serial code (intel and gcc compiler behave differently when using a const variable inside a parallel region; the easiest way I found to avoid becoming crazy was just to remove the const...)