Towards Semi-Automatic Deployment of Scientific and Engineering Applications
The progress in science and engineering greatly depends on new software advances, and computational models become everyday tools for experiments and explorations. However, such software is often developed in isolation, for internal use of a research group, and without deployment plans. As a result, other researchers who wish to test these software tools in their settings face challenges during software deployment and execution. Moreover, this is further complicated as typical execution environments for scientific software are HPC machines that may significantly differ from familiar, desktop workstations. The lack of simple and uniform software deployment dissuades the users from experimenting with new applications and hampers overall progress and collaboration. In this paper, we propose a software metadeployment toolkit, called ADAPT, based on adaptable deployment recipes that can preserve deployment knowledge related to a particular software component and automate dependency soft-conditioning. These recipes may be reused for different targets and in various contexts, e.g., recipes may deliver dependencies for software mesh-ups combining scientific codes from a variety of disciplines, thus promoting collaborations among groups. Finally, our proposal has the potential to increase productivity in HPC by providing systematic and automatic software conditioning.