|
META TOPICPARENT |
name="WebHome" |
Writing portable software - The Golden Rules |
|
Portable software means that: |
|
< < |
- it must run on any SL6 (or whatever is the flavour of the moment) machine, not only where it was compiled
|
> > |
- it must run on any SL6, CC7 (or whatever is the flavour of the moment) machine, not only where it was compiled
|
|
- it must run from any directory, not only from the
install_dir
- inputs must be easily configurable at run time
Your software is not ready for running on the grid if any of the following apply: |
|
> > |
- is dependent on specific hardware
|
|
- it makes use of libraries found only on your machine
- uses several versions of the same shared library
- dynamically linked libraries are hardcoded with your local path(s)
- requires inputs that are hardcoded with your local path(s)
- is dependent on the order of libraries found in the
LD_LIBRARY_PATH
|
|
> > |
- requires AFS access
|
|
Checks |
|
- it compiles on a standard Linux box (not only on your devel desktop and not only on lxplus)
- the executable and all the necessary dynamically linked libraries, config, dat files and scripts can be packed in a tarball not bigger than a few GB
- it runs on a standard Linux box after you unpack the tarball and set the linux environment (to use only components from the tarball)
|
|
< < |
- you provide easy to use config scripts to compile the code and to set things up
|
> > |
- you provide easy to use config scripts to compile the code and run a MC+Reco sequence
When using CVMFS, you must test the installation in situ, and make sure all relevant conditions from the list(s) above are met. |
|
Revisions and releases |