Changes between Version 34 and Version 35 of ApplicationScripts
- Timestamp:
- 07/21/14 16:00:32 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ApplicationScripts
v34 v35 14 14 {{{ 15 15 MATLAB * /opt/qcg-app-scripts/apps/matlab.app 16 NAMD * /opt/qcg-app-scripts/apps/namd.app16 NAMD 6.2 /opt/qcg-app-scripts/apps/namd-6.2.app 17 17 bash * /opt/qcg-app-scripts/apps/bash.app 18 18 R * /opt/qcg-app-scripts/apps/R.app 19 CFX * /opt/qcg-app-scripts/apps/cfx.app20 fluent * /opt/qcg-app-scripts/apps/fluent.app21 nwchem * /opt/qcg-app-scripts/apps/nwchem.app22 g09 * /opt/qcg-app-scripts/apps/g09.app23 19 }}} 24 20 The scripts for the most common applications are provided by the `qcg-appscripts` RPM package. … … 77 73 == Installation == 78 74 To install QCG application scripts: 79 1. install `qcg-appscripts` RPM package 75 1. install (as root) the `qcg-appscripts` RPM package 76 {{{ 77 yum install qcg-appscripts 78 }}} 80 79 2. edit `/etc/qcg/qcg-comp/app-scripts/config` configuration file and set `cluster_shared_path` variable to point to a directory shared by all worker nodes 81 3. launch `qcg-appscripts-deploy` script80 3. launch the `qcg-appscripts-deploy` script 82 81 4. edit/create application configuration files in `$cluster_shared_path/apps` directory and refer to them in the QCG-Computing application mapping file (`/etc/qcg/qcg-comp/application_mapfile`) 83 82 84 83 85 84 == Upgrade == 86 After instalation of new QCG application scripts package: 85 After installation of new QCG application scripts package: 86 87 87 1. launch `qcg-appscripts-deploy` script to update files in shared directory. 88 88 89 `qcg-appscripts-deploy` updates directories `app-scripts`, `core`, `tools`. `apps` directories (besides `bash.app`, `common.app` and `template.app` is not overwritten. 89 '''IMPORTANT:''' 90 `qcg-appscripts-deploy` updates directories `app-scripts`, `core`, `tools`. 91 92 `apps` directories (besides `bash.app`, `common.app` and `template.app`) are not overwritten. 90 93 91 94 92 95 = New application = 93 To handle a pplication,following elements must be provided:96 To handle a application, the following elements must be provided: 94 97 * application configuration file (script in `apps` directory), 95 98 * application script (script in `app-scripts` directory), … … 99 102 == Application configuration file == 100 103 101 The application configuration file is simple script that:104 The application configuration file is a simple script that: 102 105 * loads the required modules or sets PATH/LD_LIBRARY_PATH variables, 103 106 * calls proper application script (from the `app-scripts` directory). 104 107 105 To create new application configuration`apps/template.app` file can be used as a base.108 To create a new application configuration the `apps/template.app` file can be used as a base. 106 109 107 110 Example application configuration file for NAMD application: … … 123 126 * validation of input arguments, 124 127 * preparation of input data, 125 * application launchwith proper parameters,128 * launching the application with proper parameters, 126 129 * optional post processing of output data/files. 127 130 … … 152 155 }}} 153 156 154 Every application script should include `core.qcg` script which provides rich function library that can be used by application scripts. In the above simple example, application script only validates number of arguments and uses `qcg_app_wrapper` function to launch MPI version of the NAMD application. The `qcg_app_wrapper` function should always be used to launch application, as it also activates other QCG mechanismsuch as: user's pre-processing & post-processing scripts, application monitoring, output file notifications, mounting remote file systems etc.155 156 Any modification/conversion of input file should be done in function `qcg_pre_callback`, for example:157 Every application script has to include the `core.qcg` script which provides rich function library that can be used by application scripts. In the above simple example, the application script only validates number of arguments and uses the `qcg_app_wrapper` function to launch MPI version of the NAMD application. The `qcg_app_wrapper` function should always be used to launch application, as it also activates other QCG mechanisms such as: user's pre-processing & post-processing scripts, application monitoring, output file notifications, mounting remote file systems etc. 158 159 Any modification/conversion of input files should be done in the `qcg_pre_callback` function, for example: 157 160 {{{ 158 161 function qcg_pre_callback { … … 172 175 173 176 = New application version = 174 To create new version of already supported application, it is sufficient to:175 1. copyexisting application configuration file, eg:177 To create a new version of the already supported application, it is sufficient: 178 1. to copy the existing application configuration file, eg: 176 179 {{{ 177 180 cp /opt/qcg-app-scripts/apps/namd.app /opt/qcg-app-scripts/apps/namd-6.2.app 178 181 }}} 179 2. change loaded moduleand/or environment variables in `$cluster_shared_path/apps/namd-6.2.app`180 3. addnew application version to the QCG application mapping file (`/etc/qcg/qcg-comp/application_mapfile`), eg:182 2. to change the module to be loaded and/or environment variables in `$cluster_shared_path/apps/namd-6.2.app` 183 3. to add a new application version to the QCG application mapping file (`/etc/qcg/qcg-comp/application_mapfile`), eg: 181 184 {{{ 182 185 ...