iqm-finland / KQCircuits

KLayout Python library for integrated quantum circuit design.
GNU General Public License v3.0
142 stars 73 forks source link

Refactor Singularity image links to use Singularity apps #54

Open nikosavola opened 1 year ago

nikosavola commented 1 year ago

Description

Currently, singularity/create_links.sh along with singularity/libexec/kqclib.sh is used for creating commands like kqclib and ElmerSolver to be runnable on host OS. I think the inner implementation should be changed from manual bash files runnning singularity exec to Singularity Apps. See also Reproducible SCI-F Apps. This would change the implementation to something standardised.

Use case

Using Singularity apps, one exposes an interface given in the Singularity definition file

singularity run --app ElmerSolver /some/path [args...]

Though the current exec solution is also possible with apps.

singularity exec --app ElmerSolver container.sif command_inside_container

The functionality overlaps with the exposed kqc command (kqc simulate and kqc mask). So maybe that should kept as a main runscript instead of something like

singularity run --app kqc-simulate /some/path.py