Research Group of Carsten Urbach

Lattice QCD and Computational Physics

No longer maintained!

Please visit the ETMC wiki page instead!.

FAQ and latest NEWS!

ILDG Howto for ETMC

Preparations

Please consult first the available documetation at e.g.:

Moreover, I would suggest you to install the LDG software which is available at the LDG site. This software suite ltools contains tools to down- and upload gauge configurations as well as a tool to verify XML files.

In Zeuthen (on the pubs) this software is already available. It can be used by setting the environment variable LROOT to /afs/ifh.de/group/ape/ldg/pro/lroot and source $LROOT/etc/env.sh (or env.csh for csh). Moreover it is available in Jülich on host grid-ui. Here, please insert something like

if test `uname -n` == "grid-ui"
then
export LROOT=/usr/local/lroot
. $LROOT/etc/env.sh
fi

into your .profile (or something equivalent in your .cshrc).

In order to fully use the ILDG software you need a grid certificate. This certificate is anyhow needed for down- and uploading configuration to the ILDG storage places, so I think everybody should apply for such a certificate. Unfortunately the application procedure is different in each country.

After receiving your certificate you have to join the ILDG virtual organisation (VO). See this webpage and click on New Users for information on how to join the VO.

Please send me then your Certificate DN (something like /O=YourGrid/OU=YourOrganisation/CN=Your Name obtainable via grid-proxy-info) such that I can give you write permissions for your ensemble. This step is at the moment not needed if you only require read access to our ensembles.

Downloading configurations

In order to download configurations please first check with lls --all for all the available ensembles. You can obtain the same information with the webinterface. Then you can check for available gauge configurations in a given ensemble with for instance

lls mc://ldg/etmc/tmqcd_nf2/tlSym_b3.75_L24T48_k0.1660_mu0.0200

Use lget to download single configurations to your local disk. lget provides different options to also download the metadata files for the single gauge configuration or for the whole ensemble. See the manpage for details.

Preparing configurations and uploading an ensemble

  1. Where to store the configurations and naming conventions

    Please keep all the configurations on your local machine. They will be copied to the grid storage elements (SE) during upload.

    When you invoke lls --all you will get the following kind of output:

    Markov-Chain-URI EID Read Write
    ================ === ==== =====
    mc://ldg/etmc/tmqcd_nf2/tlSym_b3.75_L24T48_k0.1660_mu0.0200 53 All 6

    It gives an example for our naming convention. There is no convention for the name of the gauge file, however, you might want to do it as it was done until now. In particular it would be nice if in case of separate series (replicas) in the same ensemble this would be visible in the file name. For instance like gauge.01.0000, where the 01 stands for the first series.

  2. Conversion to ILDG format

    this should not be neccessary anymore

    First of all, all the gauge configurations have to be translated to ILDG file format, if they are not already in this format. The Zeuthen HMC C-code writes this format now automatically. Moreover, in this code there are tools available to convert the old GWC/XLF file format to ILDG file format.

    Andre Sternbeck wrote a tool capable to convert APE to ILDG format.

    In order to write conversion tools please consult the ILDG file format standard.

  3. Adding the logical file name (lfn)

    The logical file name (lfn) should follow the rules given in this file. I represents the universal filename for a given gauge configuration, which is independent of the physical location of the configuration. It contains information about the collaborations, the project etc.

    A lime record must be added to each configuration file containing the lfn. This c-program does the work. (Thanks to Dirk Pleiter!).

    Note that you need the lime library (at least version 1.2.3) to compile this program. Downlaod it and follow the instructions to install it on you machine. In Juelich on the host grid-ui it is already available.

  4. Preparation of the meta data files

    Apart from the configuration file itself the following additional separate files have to be provided:

    • The ensemble XML file

      Will be done by me or Siebren

      after you send us the hmc.input file

    • The configuration XML file

      The configurations XML file should look like this example. Again, I have prepared a template file. Algorithm parameters that might change during the run should be placed here. There must be one XML file per configuration with the proper value for the lfn. There is one configuration XML file per gauge configuration file.

      In the configuration XML file there is a crcCheckSum required that can be determined with this tool written by Boris Orth.

    • The glossary files

      We should prepare glossary files explaining the parameters of the algorithms in use. For the multiple time scale Hasenbusch accelerated HMC (mtHHMC) there exists a first version. There is only one glossary file per algorithm, probably you do not have to do anything.

    I have prepared a Perl script which automatises the XML file preparation, starting from the above mentioned template files. The script will add the lfn's - if neccessary -, compute the checksum and replace certain tags in the template files. The script must be adjusted for the actual ensemble, and - of course - comes without any warranty...

    The script assumes that the programs addlfn, ildg_cksum and lime_extract_type can be found in your $PATH.

  5. Uploading the ensemble

    The procedure to upload an ensemble is as follows:

    • Use lput to upload the single configurations to the grid. See the manpage for details concerning the usage of lput.

      The aforementioned script can be used to upload many configurations at once.

      Not that grid-proxy-init has an option -valid H:M such that you can have the script uploading in the backgroud even if it may take days...

Comments are welcome!