_INDEX_INDEP_GEOM broken #86

Open
urbach opened this Issue Mar 19, 2012 · 9 comments

Projects

None yet

3 participants

@urbach
Contributor
urbach commented Mar 19, 2012

No description provided.

@ggscorzato
Member

version? configure options? error message?

@kostrzewa
Member

Unfortunately I can't remember how exaclty I tried to build the index
independent version but it failed to build (although it configured just
fine). Moreover, Carsten has made some changes to the exchange routines,
mostly through the addition of "edge" terms to the momentum exchange
which were not transferred to the index independent parts. I'm not sure
whether Carsten also had trouble buildig it or whether he was just
relating my status from a conversation we had while he was implementing
the clover routines.

It would be very helpful, I think (if the code will remain maintained in
the future) if you tried building and testing it with the various
parallelizations since you know this part so well. It would be
especially important, if it does indeed fail to build, to compare to
5.1.6 and perhaps look at the diffs in the relevant files.

Somewhat but not entirely related: I was wondering whether anyone ever
used the XYZT parallelization to do finite-temperature work. I was
talking to Florian and he has trouble with getting good performance with
TXYZ parallelization because T is so small for him. If using XYZT brings
substantial performance gains I think it would be wise to keep the code
for that maintained for our tmfT friends.

If you are unfamiliar with git, I can help you with some commands that
will make it easy to find the differences I mentioned above.

@ggscorzato
Member

I tried to compile what I downloaded now from: git clone https://github.com/etmc/tmLQCD.git
I see that the configure file is not in the repository now.
I tried autoconf (version 2.63), but I get:
autom4te: cannot lock autom4te.cache/requests with mode 2: Function not implemented

How should I produce the configure file now?
thanks, Luigi

@kostrzewa
Member

On 25/04/12 20:11, ggscorzato wrote:

autom4te: cannot lock autom4te.cache/requests with mode 2: Function not implemented

Hi Luigi,

are you trying to compile on a network file system like lustre or NFS?
If so, that could be the culprit. I did a quick google search and it
seems like autoconf requires globally coherent locks and these are often
not enabled because they induce a minor performance hit.

Having said that, I've so far never run into this problem on a number of network file systems.

Bartek

@ggscorzato
Member

Hi Bartek. You are right. There is a small autoconf-lustre compatibility issue. We found a workaround.

I checked that with:
./configure --enable-sse3 --enable-mpi --with-mpidimension=XYZ --disable-halfspinor --enable-indexindepgeom --enable-tsplitpar --with-limedir=${limedir} --with-lemondir=${lemondir} --with-lapack=${lapacklib} CC="${mpicomp} -O3" CFLAGS="-msse3 -O3"

the configuration and the build work. So, at least my typical usage of indexindepgeom is not broken. I will try it together with the other options and let you know.

I see you anyway in Paris, right?

@kostrzewa
Member

Yes, I'll be in Paris too.

Good news on the fact that it still works, I must have done something wrong then. I'm quite sure I tried a TXYZ build though so maybe that's the problem.

The routines need to be extended in any case though because of the changes introduced as a result of the clover term.

@ggscorzato
Member

I also tried without tsplitpar and with/without halfspinor and they all build.

Then, I find it difficult to imagine which option causes the clash.

Does my configure string help you to remember which were your configure options, by chance?
thanks, Luigi

@kostrzewa
Member

No, unfortunately I don't remember. I might try to reproduce it in two weeks time.

@ggscorzato
Member

...sorry ... I wrote before seeing your answer ...

the synthax
--with-mpidimension=TXYZ
is not allowed. But the configure should complain. In fact, I get:
configure: error: Only t, xt, xyt, xyzt, x, xy, xyz parallelisation available

one should use the synthax:
--with-mpidimension=XYZT
in this case it builds (in the tests that I did).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment