Skip to content

Commit

Permalink
feat: cleanup bibtex and move bibtex to footnotes
Browse files Browse the repository at this point in the history
  • Loading branch information
Conni2461 committed May 10, 2024
1 parent 3cb49a7 commit 98367dd
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 51 deletions.
80 changes: 31 additions & 49 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,8 @@ @article{xSDK2023
title = "{xSDK Community Package Policies 1.0.0}",
year = "2023",
month = "2",
url = "https://figshare.com/articles/online_resource/xSDK_Community_Package_Policies_1_0_0/13087196",
doi = "10.6084/m9.figshare.13087196.v1"
}
@incollection{Kim_2019,
doi = "10.1007/978-3-030-12842-5\_8",
year = 2019,
publisher = {Springer International Publishing},
pages = {281--299},
author = {Kyeong Soo Kim},
title = {Simulation Reproducibility with Python and Pweave},
booktitle = {Recent Advances in Network Simulation}
}
@inproceedings{Devresse_2015,
doi = "10.1145/2830168.2830172",
year = 2015,
Expand All @@ -35,11 +25,17 @@ @inproceedings{Devresse_2015
booktitle = {Proceedings of the 3rd International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering}
}
@inproceedings{Dolstra_2004,
author = {Dolstra, Eelco and Jonge, Merijn and Visser, Eelco},
year = 2004,
month = {jan},
pages = {79-92},
title = {Nix: A Safe and Policy-Free System for Software Deployment.}
author = {Dolstra, Eelco and de Jonge, Merijn and Visser, Eelco},
title = {Nix: A Safe and Policy-Free System for Software Deployment},
year = {2004},
publisher = {USENIX Association},
address = {USA},
booktitle = {Proceedings of the 18th USENIX Conference on System Administration},
pages = {79–92},
numpages = {14},
location = {Atlanta, GA},
series = {LISA '04},
doi={10.5555/1052676.1052686},
}
@inproceedings{Dolstra_2010,
title={NixOS: A purely functional Linux distribution},
Expand All @@ -48,7 +44,7 @@ @inproceedings{Dolstra_2010
number={5-6},
journal={Journal of Functional Programming},
publisher={Cambridge University Press},
author={DOLSTRA, EELCO and LÖH, ANDRES and PIERRON, NICOLAS},
author={Dolstra, Eelco and Löh, Andres and Pierron, Nicolas},
year=2010,
pages={577–615}
}
Expand Down Expand Up @@ -80,22 +76,15 @@ @inproceedings{Geimer_2014
title = {Modern Scientific Software Management Using {EasyBuild} and Lmod},
booktitle = {2014 First International Workshop on {HPC} User Support Tools}
}
@misc{xsdk-website,
title = {xSDK Website},
url = "https://xsdk.info/"
}
@inproceedings {spack7832814,
author = {T. Gamblin and M. LeGendre and M. R. Collette and G. L. Lee and A. Moody and B. R. de Supinski and S. Futral},
booktitle = {SC15: International Conference for High-Performance Computing, Networking, Storage and Analysis},
title = {The Spack package manager: bringing order to HPC software chaos},
year = {2015},
volume = {},
issn = {2167-4337},
pages = {1-12},
abstract = {Large HPC centers spend considerable time supporting software for thousands of users, but the complexity of HPC software is quickly outpacing the capabilities of existing software management tools. Scientific applications require specific versions of compilers, MPI, and other dependency libraries, so using a single, standard software stack is infeasible. However, managing many configurations is difficult because the configuration space is combinatorial in size. We introduce Spack, a tool used at Lawrence Livermore National Laboratory to manage this complexity. Spack provides a novel, recursive specification syntax to invoke parametric builds of packages and dependencies. It allows any number of builds to coexist on the same system, and it ensures that installed packages can find their dependencies, regardless of the environment. We show through real-world use cases that Spack supports diverse and demanding applications, bringing order to HPC software chaos.},
keywords = {libraries;complexity theory;syntactics;operating systems;production},
doi = {10.1145/2807591.2807623},
url = {https://doi.ieeecomputersociety.org/10.1145/2807591.2807623},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
month = {nov}
Expand All @@ -105,8 +94,6 @@ @inproceedings{easybuil6495863
booktitle={2012 SC Companion: High Performance Computing, Networking Storage and Analysis},
title={EasyBuild: Building Software with Ease},
year={2012},
volume={},
number={},
pages={572-582},
keywords={Software;Software packages;Tools;Python;Libraries;Task analysis;Maintenance engineering;scientific software;compilation;installation;Python;automation;build procedure},
doi={10.1109/SC.Companion.2012.81}
Expand All @@ -124,7 +111,6 @@ @Article{dealII95
pages = {231--246},
volume = {31},
number = {3},
url = {https://dealii.org/deal95-preprint.pdf}
}
@article{bezanson2017julia,
title={Julia: A fresh approach to numerical computing},
Expand All @@ -135,11 +121,12 @@ @article{bezanson2017julia
pages={65--98},
year={2017},
publisher={SIAM},
url={https://doi.org/10.1137/141000671}
doi={10.1137/141000671}
}
@set{preciceDistribution,
title={preCICE Distribution Version v2211.0},
author={Gerasimos Chourdakis and Kyle Davis and Ishaan Desai and Benjamin Rodenberg and David Schneider and Frédéric Simonis and Benjamin Uekermann and Boshra Ariguib and Philip Cardiff and Alexander Jaust and Pavel Kharitenko and Robert Klöfkorn and Niklas Kotarsky and Boris Martin and Erik Scheurer and Valentina Schüller and Gertjan van Zwieten and Kursat Yurt},
year={2023},
doi={10.18419/darus-3576}
}
@inproceedings{Uekermann2017_Adapters,
Expand All @@ -150,17 +137,22 @@ @inproceedings{Uekermann2017_Adapters
year = {2017}
}
@misc{bastian2020dune,
title={The DUNE Framework: Basic Concepts and Recent Developments},
author={Peter Bastian and Markus Blatt and Andreas Dedner and Nils-Arne Dreier and Christian Engwer and René Fritze and Carsten Gräser and Christoph Grüninger and Dominic Kempf and Robert Klöfkorn and Mario Ohlberger and Oliver Sander},
year={2020},
eprint={1909.13672},
archivePrefix={arXiv},
primaryClass={cs.MS}
title={The DUNE Framework: Basic Concepts and Recent Developments},
author={Peter Bastian and Markus Blatt and Andreas Dedner and Nils-Arne Dreier and Christian Engwer and René Fritze and Carsten Gräser and Christoph Grüninger and Dominic Kempf and Robert Klöfkorn and Mario Ohlberger and Oliver Sander},
year={2020},
eprint={1909.13672},
archivePrefix={arXiv},
primaryClass={cs.MS},
doi={10.1016/j.camwa.2020.06.007},
}
@book{fenics,
title={Automated Solution of Differential Equations by the Finite Element Method},
authors={Anders Logg, Kent-Andre Mardal, Garth Wells},
doi={https://doi.org/10.1007/978-3-642-23099-8},
title={Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book},
ISBN={9783642230998},
ISSN={1439-7358},
doi={10.1007/978-3-642-23099-8},
journal={Lecture Notes in Computational Science and Engineering},
publisher={Springer Berlin Heidelberg},
year={2012}
}
@article{Rodenberg2021,
title = {FEniCS--preCICE: Coupling FEniCS to other simulation software},
Expand All @@ -169,11 +161,9 @@ @article{Rodenberg2021
pages = {100807},
year = {2021},
issn = {2352-7110},
doi = {https://doi.org/10.1016/j.softx.2021.100807},
url = {https://www.sciencedirect.com/science/article/pii/S2352711021001072},
doi = {10.1016/j.softx.2021.100807},
author = {Benjamin Rodenberg and Ishaan Desai and Richard Hertrich and Alexander Jaust and Benjamin Uekermann},
keywords = {FEniCS, Fluid–structure interaction, Conjugate heat transfer, Multiphysics, Coupled problems, Finite element method, preCICE},
abstract = {The new software FEniCS–preCICE is a middle software layer, sitting in between the existing finite-element library FEniCS and the coupling library preCICE. The middle layer simplifies coupling (existing) FEniCS application codes to other simulation software via preCICE. To this end, FEniCS–preCICE converts between FEniCS and preCICE mesh and data structures, provides easy-to-use coupling conditions, and manages data checkpointing for implicit coupling. The new software is a library itself and follows a FEniCS-native style. Only a few lines of additional code are necessary to prepare a FEniCS application code for coupling. We illustrate the functionality of FEniCS–preCICE by two examples: aFEniCS heat conduction code coupled to OpenFOAM and a FEniCS linear elasticity code coupled to SU2. The results of both scenarios are compared with other simulation software showing good agreement.}
}
@article{OpenFOAMpreCICE,
author = {Chourdakis, Gerasimos and Schneider, David and Uekermann, Benjamin},
Expand All @@ -184,7 +174,6 @@ @article{OpenFOAMpreCICE
month = {Feb},
pages = {1-25},
doi = {10.51560/ofj.v3.88},
url = {https://doi.org/10.51560/ofj.v3.88}
}

@misc{koch2023sustainable,
Expand All @@ -193,13 +182,6 @@ @misc{koch2023sustainable
year={2023},
eprint={2301.12830},
archivePrefix={arXiv},
primaryClass={cs.SE}
}
@misc{comparision-fosdem,
title = {Installing software for scientists on a multi-user HPC system},
titleaddon = {A comparison between conda, EasyBuild, Guix, Nix & Spack},
author = {Kenneth Hoste},
year = {2018},
month = {Feb},
url = "https://archive.fosdem.org/2018/schedule/event/installing_software_for_scientists/"
primaryClass={cs.SE},
doi={10.48550/arXiv.2301.12830},
}
4 changes: 2 additions & 2 deletions paper/paper.tex
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ \section{Discussion}
They also generally already provide proven interfaces for configuring packages with additional features, and these also might be self documenting.

The authors of the xSDK\footnote{\url{https://xsdk.info/}} came to a very similar conclusion.
Their goal is to ``identify, adapt, and adopt best practices in software engineering''~\cite{xsdk-website} and ``to provide the foundation of this extensible scientific software ecosystem''~\cite{xsdk-website}.
Their goal is to ``identify, adapt, and adopt best practices in software engineering'' and ``to provide the foundation of this extensible scientific software ecosystem''~\footnote{\url{https://xsdk.info/}}.
To achieve this they provide a list of package policies~\cite{xSDK2023}, that for example specifies as mandatory policy that packages ``must support portable installation through Spack''~\cite{xSDK2023} and that all packages ``should have a build system that is appropriate for the language''~\cite{xSDK2023}, that includes CMake and autoconf as examples.
If a package supports all these policies, they can be added to the growing list of packages in the xSDK, that currently among other things include PETSc, deal.ii and preCICE.
These packages are already part of nixpkgs, or it is easy to provide a package for them because they support portable installation, meaning installation into custom prefixes such as nix store paths, and common build systems such as CMake and autoconf.
Expand All @@ -438,7 +438,7 @@ \section{Discussion}
\section{Comparison}

This chapter compares Nix with two widely used solution in HPC environments, Spack and EasyBuild.
There was a similar comparison done at FOSDEM 2018~\cite{comparision-fosdem} that also included conda and Guix, but this was by the release manager of EasyBuild and we want to provide an update with this comparison.
There was a similar comparison done at FOSDEM 2018~\footnote{\url{https://archive.fosdem.org/2018/schedule/event/installing_software_for_scientists/}} that also included conda and Guix, but this was by the release manager of EasyBuild and we want to provide an update with this comparison.
The comparison first takes a high level look on some statistics and how they compare and after that we will discuss, usability, reproducibly and performance in more detail.

\subsection{Overview}
Expand Down

0 comments on commit 98367dd

Please sign in to comment.