Changes between Version 38 and Version 39 of doc/app/palmrun


Ignore:
Timestamp:
Nov 20, 2018 9:58:03 AM (6 years ago)
Author:
scharf
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/app/palmrun

    v38 v39  
    2424You should see the default configuration file {{{.palm.config.default}}}. Furthermore, the parameter file {{{JOBS/example_cbl/INPUT/example_cbl_p3d}}} should also exist. This is a FORTRAN-NAMELIST file to define the simulation setup and to steer the PALM simulation. You should now be able to start the first PALM simulation yourself. Please enter
    2525{{{
    26    palmrun  -d example_cbl  -h default  -a "d3#"  -X4
     26   palmrun  -r example_cbl  -c default  -a "d3#"  -X4
    2727}}}
    2828{{{example_cbl}}} is the so-called ''run identifier'' and tells {{{palmrun}}} to use the NAMELIST file {{{example_cbl_p3d}}} from {{{JOBS/example_cbl/INPUT}}}. It also determines folders and names of output files generated by PALM using informations from the default file configuration file {{{..../trunk/SCRIPTS/.palm.iofiles}}}. Chapter [wiki:doc/app/palm_iofiles PALM iofiles] explains the format of this file and how you can modify or extend it. As a new user, you should not need to care about this file because the default settings should do the job for you.
    2929
    30 Option {{{-h}}} specifies the so-called host identifier. It tells {{{palmrun}}} which configuration file should be used. {{{-h default}}} means to use the configuration file {{{.palm.config.default}}}. The configuration file contains all the computer (host) specific settings, e.g. which compiler and compiler options should be used, the pathnames of libraries (e.g. NetCDF or MPI), or the name of the execution command (e.g. {{{mpirun}}} or {{{mpiexec}}}), as well as many other important settings. If the automatic installer worked correctly, it created this file for you with settings based on your responses during the installation process. You may create additional configuration files with different settings for other computers (hosts), or for the same computer, e.g. if you like to compile and run PALM with debug compiler options (see chapter [wiki:doc/app/palm_config PALM configuration file]).
     30Option {{{-c}}} specifies the so-called configuration identifier. It tells {{{palmrun}}} which configuration file should be used. {{{-c default}}} means to use the configuration file {{{.palm.config.default}}}. The configuration file contains all the computer (host) specific settings, e.g. which compiler and compiler options should be used, the pathnames of libraries (e.g. NetCDF or MPI), or the name of the execution command (e.g. {{{mpirun}}} or {{{mpiexec}}}), as well as many other important settings. If the automatic installer worked correctly, it created this file for you with settings based on your responses during the installation process. You may create additional configuration files with different settings for other computers (hosts), or for the same computer, e.g. if you like to compile and run PALM with debug compiler options (see chapter [wiki:doc/app/palm_config PALM configuration file]).
    3131
    3232Option {{{-a}}} is used for steering the handling of input and output files that are required / generated by PALM. Its argument is called the file activation string(s). The file configuration file {{{..../trunk/SCRIPTS/.palm.iofiles}}} contains a complete list of PALM's I/O files, one line per file. PALM expects its input files in a temporary working directory that is created by each call of {{{palmrun}}} and it outputs data to this temporary directory too. The file configuration file tells {{{palmrun}}} where to find your input files and where to copy the output files (because the temporary working directory is automatically deleted before {{{palmrun}}} has finished). The default setting is that all these files are in subdirectory {{{$HOME/palm/current_version/JOBS/<run_identifier>}}}, where {{{<run_identifier>}}} is the one given with option {{{-d}}}. The argument of option {{{-a}}} tells {{{palmrun}}} which of these files need to be copied. If the option is omitted, no I/O files will be copied at all. Argument {{{"d3#"}}} means that the parameter/NAMELIST file for steering PALM shall be provided as input file. This is the minimum setting for option {{{-a}}}, because PALM cannot run without this parameter file. Multiple activation strings can be given. See chapter [wiki:doc/app/palm_iofiles PALM iofiles] for handling PALM I/O files.
     
    204204Edit file {{{neutral_p3d}}} and add, delete, or change parameters. Run your new set-up with
    205205{{{
    206    palmrun -d neutral -h default -X4 -a "d3#"
     206   palmrun -r neutral -c default -X4 -a "d3#"
    207207}}}
    208208If the run has finished successfully, results can be found in folders {{{JOBS/neutral/MONITORING}}} and {{{JOBS/neutral/OUTPUT}}}.
     
    221221For running PALM in batch mode you need to include additional options in the {{{palmrun}}} command to specify the system resources requested by the job, and to modify your configuration file. A minimum set of additional {{{palmrun}}} options is
    222222{{{
    223    palmrun  ....-b -h <host configuration>  -t <cputime>  -X <total number of cores>  -T <MPI tasks per node>  -q <queue>
     223   palmrun  ....-b -c <configuration identifier>  -t <cputime>  -X <total number of cores>  -T <MPI tasks per node>  -q <queue>
    224224}}}
    225225where
    226  * {{{<host configuration>}}} is the configuration file containing your batch mode settings
     226 * {{{<configuration identifier>}}} is the configuration file containing your batch mode settings
    227227 * {{{<cputime>}}} is the maximum CPU time (wall clock time) in seconds requested by the batch job
    228228 * {{{<total number of cores>}}} is the total number of CPU cores (not CPUs!) that shall be used for your run
     
    275275Now you may start your first batch job by entering
    276276{{{
    277    palmrun  -b -d neutral -h batch -t 5400 -m 1500 -X 48 -T 12 -q medium -a "d3#"
     277   palmrun  -b -r neutral -c batch -t 5400 -m 1500 -X 48 -T 12 -q medium -a "d3#"
    278278}}}
    279279Based on these arguments, the environment variables that have been described above will be set by {{{palmrun}}} to:
     
    306306
    307307}}}
    308 Before the batch job is finally submitted, {{{palmrun}}} creates a folder named {{{SOURCES_FOR_RUN_<run_identifier>}}} which is located in the {{{fast_io_catalog}}} and which contains various files required for the run (e.g. the PALM executable, PALM's source code and object files, copies of the configuration files, etc.). Messages {{{*** executable and other sources created}}} and {{{*** input files have been copied}}} tell you that this folder has beeen created. {{{*** nothing to compile for this run}}} means that no user interface needs to be compiled. After the job submission, the batch system usually prompts a message ({{{<<<submit message from batch system>>>}}}) which tells you the batch system id under which you can find your job in the queueing system (e.g. if you like to cancel it). The job is now queued and you have to wait until it is finished. The main task of the job is to execute the {{{palmrun}}} command again, that you have entered, but now on the compute nodes of your system. A job protocol file with name {{{<host identifier>_<run identifier>}}} as given with {{{palmrun}}} options {{{-h}}} and {{{-d}}} (here it will be {{{batch_neutral}}}) will be put in the folder that you have set by variable {{{local_jobcatalog}}} in your configuration file ({{{.palm.config.batch}}}). Check contents of this file carefully. Beside some additional information, it mainly contains the output of the {{{palmrun}}} command as you get it during interactive execution, e.g. information is given to where the output files have been copied.
     308Before the batch job is finally submitted, {{{palmrun}}} creates a folder named {{{SOURCES_FOR_RUN_<run_identifier>}}} which is located in the {{{fast_io_catalog}}} and which contains various files required for the run (e.g. the PALM executable, PALM's source code and object files, copies of the configuration files, etc.). Messages {{{*** executable and other sources created}}} and {{{*** input files have been copied}}} tell you that this folder has beeen created. {{{*** nothing to compile for this run}}} means that no user interface needs to be compiled. After the job submission, the batch system usually prompts a message ({{{<<<submit message from batch system>>>}}}) which tells you the batch system id under which you can find your job in the queueing system (e.g. if you like to cancel it). The job is now queued and you have to wait until it is finished. The main task of the job is to execute the {{{palmrun}}} command again, that you have entered, but now on the compute nodes of your system. A job protocol file with name {{{<configuration identifier>_<run identifier>}}} as given with {{{palmrun}}} options {{{-c}}} and {{{-r}}} (here it will be {{{batch_neutral}}}) will be put in the folder that you have set by variable {{{local_jobcatalog}}} in your configuration file ({{{.palm.config.batch}}}). Check contents of this file carefully. Beside some additional information, it mainly contains the output of the {{{palmrun}}} command as you get it during interactive execution, e.g. information is given to where the output files have been copied.
    309309
    310310Typically, batch systems allow you to run jobs only for a limited time, e.g. 12 hours. See chapter [wiki:doc/restarts job chains and restart jobs] on how you can use {{{palmrun}}} to create so-called job chains in order to carry out simulations which exceed the time limit for single jobs.
     
    321321Now, let's start with the configuration file settings for remote batch jobs. For this it would be convenient to create a new configuration file based on the one you already used locally, e.g. by
    322322{{{
    323    cp  .palm.config.batch  .palm.config.<remote host identifier>
    324 }}}
    325 where {{{<remote host identifier>}}} can be any string to identify your remote host. Edit this file and set at minimum the following additional variables:
     323   cp  .palm.config.batch  .palm.config.<remote configuration identifier>
     324}}}
     325where {{{<remote configuration identifier>}}} can be any string to identify your remote host. Edit this file and set at minimum the following additional variables:
    326326{{{
    327327%remote_jobcatalog   /home/username/job_queue
     
    346346After setting up the configuration file and before calling {{{palmrun}}}, you need to call the {{{palmbuild}}} command to generate the PALM executable for the remote host:
    347347{{{
    348    palmbuild -h <remote host identifier>
    349 }}}
    350 Keep in mind that the configuration file {{{.palm.config.<remote host identifier>}}} requires correct settings valid for your remote computer (compiler name, compiler options, include and library paths, etc.). If you forgot to call {{{palmbuild}}}, {{{palmrun}}} will ask you to do this for you.
     348   palmbuild -c <remote configuration identifier>
     349}}}
     350Keep in mind that the configuration file {{{.palm.config.<remote configuration identifier>}}} requires correct settings valid for your remote computer (compiler name, compiler options, include and library paths, etc.). If you forgot to call {{{palmbuild}}}, {{{palmrun}}} will ask you to do this for you.
    351351
    352352If {{{palmbuild}}} succeeded, you can enter the {{{palmrun}}} command, like
    353353{{{
    354    palmrun -d neutral -h <remote host identifier> ......
     354   palmrun -r neutral -c <remote configuration identifier> ......
    355355}}}
    356356After confirming the {{{palmrun}}} settings by entering {{{y}}}, similar information as for local batch jobs will be output to the terminal. {{{palmrun}}} finally terminates with messsage {{{--> palmrun finished}}}. The batch job is now queued on the remote system. After the job has been finished, the job protocol will be transferred back to your local computer and put into the folder defined by {{{local_jobcatalog}}}. If this file does not appear, because e.g. the transfer failed, you may find the protocol file on the remote host in the folder defined by {{{remote_jobcatalog}}}. Like in case of batch jobs running on local computers, check the contents of this file carefully. Beside some additional information, it mainly contains the output of the {{{palmrun}}} command as you get it during interactive execution, and especially you get information about where to find the output files on your local computer.