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

Install milc #1

Closed
smangham opened this issue Jul 15, 2024 · 3 comments
Closed

Install milc #1

smangham opened this issue Jul 15, 2024 · 3 comments

Comments

@smangham
Copy link
Member

smangham commented Jul 15, 2024

Forked, cloned. I need to modify the makefile. It works by copying a Makefile into the directory of the application you'd like to build, then running make [a target from Makefile_template].

Full instructions are here: https://web.physics.utah.edu/~detar/milc/milcv7.html#Building-the-MILC-Code

@smangham smangham changed the title Install mlc Install milc Jul 15, 2024
@smangham
Copy link
Member Author

smangham commented Jul 15, 2024

...off to a good start.

  • make ks_spectrum_hisq:
../generic_ks/io_helpers_ks_eigen.c:82:23: error: static declaration of ‘w_open_ks_eigen’ follows non-static declaration
  82 | static ks_eigen_file *w_open_ks_eigen(int flag, char *filename, int parity) {
     |                       ^~~~~~~~~~~~~~~
In file included from ../generic_ks/io_helpers_ks_eigen.c:25:
../generic_ks/../include/io_ks_eigen.h:133:16: note: previous declaration of ‘w_open_ks_eigen’ with type ‘ks_eigen_file *(int,    char *, int)’
 133 | ks_eigen_file *w_open_ks_eigen(int flag, char *filename, int parity);
     |                ^~~~~~~~~~~~~~~
make[1]: *** [../generic_ks/Make_template:378: io_helpers_ks_eigen.o] Error 1

I've tried almost all the options in Makefile_template, it looks like this is normal. OK, I need to see why it's redefined, but I suspect it's just a bug. Yep, it's a GCC 3 vs GCC 4 bug, GCC 4 is stricter on this.

Raised an issue: https://github.com/milc-qcd/milc_qcd/issues

Running the tests: make check "EXEC=ks_spectrum_hisq" &> make_test.log

The process terminates with:

make[1]: *** No rule to make target 'ks_spectrum_hisq.periodic.2.corrfile_t0.test-diff'.  Stop.

Along the way, I get the following errors:

Making ks_spectrum_hisq.fpi.1.test-diff with patterns PLAQ: NERSC     
make[1]: Entering directory '/home/toaster/milc_qcd/ks_spectrum/test'
../../Make_test_template:81: warning: ignoring prerequisites on suffix rule definition
perl ../../headtail.pl PLAQ: NERSC      <  ks_spectrum_hisq.fpi.1.test-out | grep -iv "warning" | grep -v 'time =' | grep -v '^#' >  ks_spectrum_hisq.fpi.1.test-tmp ;\
perl ../../headtail.pl PLAQ: NERSC      <  ks_spectrum_hisq.fpi.1.sample-out > ks_spectrum_hisq.fpi.1.sample-tmp ;\
perl ../../diffn3.pl ks_spectrum_hisq.fpi.1.test-tmp ks_spectrum_hisq.fpi.1.sample-tmp ks_spectrum_hisq.fpi.1.errtol > ks_spectrum_hisq.fpi.1.test-diff
ERROR: File line counts must match at ../../diffn3.pl line 56.

This repeats for every test case:

perl ../../diffn3.pl ks_spectrum_hisq.fpi.1.test-tmp ks_spectrum_hisq.fpi.1.sample-tmp ks_spectrum_hisq.fpi.1.errtol > ks_spectrum_hisq.fpi.1.test-diff
perl ../../diffn3.pl ks_spectrum_hisq.nd.1.test-tmp ks_spectrum_hisq.nd.1.sample-tmp ks_spectrum_hisq.nd.1.errtol > ks_spectrum_hisq.nd.1.test-diff
perl ../../diffn3.pl ks_spectrum_hisq.nl.1.test-tmp ks_spectrum_hisq.nl.1.sample-tmp ks_spectrum_hisq.nl.1.errtol > ks_spectrum_hisq.nl.1.test-diff
perl ../../diffn3.pl ks_spectrum_hisq.nlpi2.1.test-tmp ks_spectrum_hisq.nlpi2.1.sample-tmp ks_spectrum_hisq.nlpi2.1.errtol > ks_spectrum_hisq.nlpi2.1.test-diff
perl ../../diffn3.pl ks_spectrum_hisq.nlpi2.1.test-tmp ks_spectrum_hisq.nlpi2.1.sample-tmp ks_spectrum_hisq.nlpi2.1.errtol > ks_spectrum_hisq.nlpi2.1.test-diff
perl ../../diffn3.pl ks_spectrum_hisq.spectrum2.1.test-tmp ks_spectrum_hisq.spectrum2.1.sample-tmp ks_spectrum_hisq.spectrum2.1.errtol > ks_spectrum_hisq.spectrum2.1.test-diff
perl ../../diffn3.pl ks_spectrum_hisq.periodic.1.test-tmp ks_spectrum_hisq.periodic.1.sample-tmp ks_spectrum_hisq.periodic.1.errtol > ks_spectrum_hisq.periodic.1.test-diff

Then again for double precision. What's in those output files?
Aha. The .sample-tmp files are empty, because the .tes-out files have the error:

get_i: ERROR IN INPUT: expected max_cg_iterations but found set_type

@smangham
Copy link
Member Author

Figured out the error, here: milc-qcd#66

@smangham
Copy link
Member Author

OK, enough tests pass that I'm fairly confident I've installed it OK and it works.

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

No branches or pull requests

1 participant