How to contribute a new model to DRIHM
The DRIHM IT infrastructure is provided as a Grid, which (typically) consists of a large amount of very heterogeneous resources, owned, managed, and maintained by a multitude of autonomous resource providers. Heterogeneity is given in several dimensions, e.g., (CPU-) architecture, operating system or installed software and libraries. In particular the following situation is valid for nearly every Grid resource:
- No root-access available, which means that you cannot install software
- Machines have no libraries other that native system libraries installed
- You may assume an x86_64 CPU in a first step
- No assumption about a directory structure can be made, directory of execution unknown. To get the current directory, use pwd
- Only Linux machines available as of now (several distributions)
Model preparation
To enable the execution of your model, you have to address the above outlined situation by "gridifying " your model and providing a packaged version. In our term, the software is called "packaged", if an TAR-archive exists including any executable binary and any library the binaries depend on or need for their execution.
- The archive includes the following folders
- bin/ - holds any binary (assume an x86_64 CPU in a first step) the software needs for its execution
- lib/ - holds any library (assume an x86_64 CPU in a first step) the software depends on or needs for its execution
- src/ - create subfolders and include the source code of the software and libraries as from above
- One must be able to extract the archive on an arbitrary (x86_64-)Linux machine and execute the software.
- Please provide a very small (!) test job (including any necessary input file and configuration needed for execution) in an independent TAR-archive
- Please provide one shell script ("test.sh") that executes the test job by simply executing ./test.sh, assuming the TAR-archives (software as well as test job) had been extracted into the current working directory.
- Provided binaries and libraries can be re-compiled from the src/-directory error-free using a single Makefile (including any dependency!), a documentation for the compilation exists
- A documentation of the location of any output of the software run (i.e. files or directories of interest) exists
- Please provide a changelog.txt that is contained in the tar-archive. The changelog should contain
- the current version number
- the changes until the last version, especially those that are about paths, compiler settings etc. -> Everything that might be relevant for the Grid execution should emphasized.
Model testing
To test your packaged version before sending it to DRIHM, please do the two subsequent test cases.
Test run A
- Extract the packaged software into the current working directory
- Extract the test job into the current working directory
- start ./test.sh : your software should successfully execute your test job
Test run B
- change to the src/-directory
- for any directory below src/, execute a simple "make" : every source code should compile without an error
More detailed information are provided in "Contributing New Components" of the DRIHM Structure Section.