Changes between Version 38 and Version 39 of doc/app/palmrun
- Timestamp:
- Nov 20, 2018 9:58:03 AM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/palmrun
v38 v39 24 24 You 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 25 25 {{{ 26 palmrun - d example_cbl -hdefault -a "d3#" -X426 palmrun -r example_cbl -c default -a "d3#" -X4 27 27 }}} 28 28 {{{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. 29 29 30 Option {{{- h}}} specifies the so-called host identifier. It tells {{{palmrun}}} which configuration file should be used. {{{-hdefault}}} 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]).30 Option {{{-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]). 31 31 32 32 Option {{{-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. … … 204 204 Edit file {{{neutral_p3d}}} and add, delete, or change parameters. Run your new set-up with 205 205 {{{ 206 palmrun - d neutral -hdefault -X4 -a "d3#"206 palmrun -r neutral -c default -X4 -a "d3#" 207 207 }}} 208 208 If the run has finished successfully, results can be found in folders {{{JOBS/neutral/MONITORING}}} and {{{JOBS/neutral/OUTPUT}}}. … … 221 221 For 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 222 222 {{{ 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> 224 224 }}} 225 225 where 226 * {{{< host configuration>}}} is the configuration file containing your batch mode settings226 * {{{<configuration identifier>}}} is the configuration file containing your batch mode settings 227 227 * {{{<cputime>}}} is the maximum CPU time (wall clock time) in seconds requested by the batch job 228 228 * {{{<total number of cores>}}} is the total number of CPU cores (not CPUs!) that shall be used for your run … … 275 275 Now you may start your first batch job by entering 276 276 {{{ 277 palmrun -b - d neutral -hbatch -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#" 278 278 }}} 279 279 Based on these arguments, the environment variables that have been described above will be set by {{{palmrun}}} to: … … 306 306 307 307 }}} 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.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 {{{<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. 309 309 310 310 Typically, 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. … … 321 321 Now, 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 322 322 {{{ 323 cp .palm.config.batch .palm.config.<remote hostidentifier>324 }}} 325 where {{{<remote hostidentifier>}}} 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 }}} 325 where {{{<remote configuration identifier>}}} can be any string to identify your remote host. Edit this file and set at minimum the following additional variables: 326 326 {{{ 327 327 %remote_jobcatalog /home/username/job_queue … … 346 346 After 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: 347 347 {{{ 348 palmbuild - h <remote hostidentifier>349 }}} 350 Keep in mind that the configuration file {{{.palm.config.<remote hostidentifier>}}} 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 }}} 350 Keep 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. 351 351 352 352 If {{{palmbuild}}} succeeded, you can enter the {{{palmrun}}} command, like 353 353 {{{ 354 palmrun - d neutral -h <remote hostidentifier> ......354 palmrun -r neutral -c <remote configuration identifier> ...... 355 355 }}} 356 356 After 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.