Commit dc871ce2 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

refactored splitting of the bibliography into sections

parent 2e141a86
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ The following parameters were set specifically for GPU computations:
    \item The local interpolation transposes were saved to avoid sparse matrix--transpose--vector multiplications: \ic{HYPRE_BoomerAMGSetKeepTranspose( precond, 1 );}
    \item The triple matrix product $\matrix R \matrix A \matrix P$ was replaced by two matrix products: \\ \ic{HYPRE_BoomerAMGSetRAP2( precond, 1 );}
\end{itemize}
There are many other configurable parameters listed in the Hypre manual \cite{Hypre:manual} that might have an effect on the performance, but they were not investigated in this benchmark.
There are many other configurable parameters listed in the Hypre documentation \cite{Hypre:documentation} that might have an effect on the performance, but they were not investigated in this benchmark.

To reduce the computational time with the Hypre implementation, the BoomerAMG preconditioner is not updated in every time step and instead its setup is reused multiple times as long as the number of iterations necessary for the BiCGstab method to converge does not increase significantly.
Reusing preconditioners and recycling Krylov subspaces are common techniques for solving sequences of linear systems \cite{carr2021recycling,amritkar2015recycling,gaul2014recycling}, such as those arising from discretizations of evolutionary partial differential equations.
+23 −4
Original line number Diff line number Diff line
@@ -115,16 +115,35 @@
% NOTE: we have multiple bibliography sections for different categories:
% - https://www.overleaf.com/learn/latex/Questions/Creating_multiple_bibliographies_in_the_same_document#Bibliographies_for_different_categories
% - https://tex.stackexchange.com/a/317618
\defbibnote{papers}{Journal papers, conference papers, book chapters, books, and theses}
% - https://tex.stackexchange.com/a/112886
\defbibnote{articles}{Articles in scientific journals}
\defbibnote{books}{Books, book chapters, and theses}
\defbibnote{conference}{Conference papers and proceedings}
\defbibnote{manual}{Software manuals, user guides, and technical reports (not peer-reviewed)}
\defbibnote{online}{Online resources (not peer-reviewed)}

\printbibliography[prenote=papers, notkeyword={online}, notkeyword={manual}, heading=subbibintoc, title={Papers and Books}]
\defbibfilter{books}{
    ( type=book or type=inbook or type=thesis )
    and not keyword={manual}
}
\defbibfilter{conference}{
    ( type=collection or type=incollection or type=proceedings or type=inproceedings )
    and not keyword={manual}
}

\newrefcontext[labelprefix=A]
\printbibliography[prenote=articles, type=article, heading=subbibintoc, title={Articles}]

\newrefcontext[labelprefix=B]
\printbibliography[prenote=books, filter=books, heading=subbibintoc, title={Books and Theses}]

\newrefcontext[labelprefix=C]
\printbibliography[prenote=conference, filter=conference, heading=subbibintoc, title={Conference Papers}]

\newrefcontext[labelprefix=M]
\printbibliography[prenote=manual, keyword={manual}, heading=subbibintoc, title={Manuals and Technical Reports}]

\newrefcontext[labelprefix=OL]
\printbibliography[prenote=online, keyword={online}, heading=subbibintoc, title={Online Resources}]
\newrefcontext[labelprefix=O]
\printbibliography[prenote=online, type=online, heading=subbibintoc, title={Online Resources}]

\end{document}
+43 −51
Original line number Diff line number Diff line
@InCollection{coplien:crtp,
@InBook{coplien:crtp,
  author    = {Coplien, James O.},
  booktitle = {C++ gems},
  title     = {Curiously recurring template patterns},
@@ -6,12 +6,11 @@
  date      = {1996},
}

@Misc{nidito:templates-vs-virtual,
@Online{nidito:templates-vs-virtual,
  author   = {Francesco Nidito},
  note     = {[Online; accessed November 2017]},
  note     = {[Accessed November 2017]},
  title    = {Replacing Virtual Methods with Templates},
  year     = {2014},
  keywords = {online},
  url      = {http://www.di.unipi.it/~nids/docs/templates_vs_inheritance.html},
}

@@ -34,12 +33,11 @@
  url          = {https://docs.nvidia.com/cuda/archive/11.6.0/},
}

@Misc{kraus:cuda-aware-mpi,
@Online{kraus:cuda-aware-mpi,
  author   = {Jiri Kraus},
  note     = {{NVIDIA Developer Blog}, [Online; accessed February 2021]},
  note     = {{NVIDIA Developer Blog}, [Accessed February 2021]},
  title    = {An Introduction to {CUDA}-Aware {MPI}},
  year     = {2013},
  keywords = {online},
  url      = {https://developer.nvidia.com/blog/introduction-cuda-aware-mpi/},
}

@@ -58,7 +56,9 @@
@InCollection{monakov:2010sparse,
  author    = {Monakov, Alexander and Lokhmotov, Anton and Avetisyan, Arutyun},
  booktitle = {High Performance Embedded Architectures and Compilers},
  publisher = {Springer},
  series    = {Lecture Notes in Computer Science},
  volume    = {5952},
  publisher = {Springer, Berlin, Heidelberg},
  title     = {Automatically tuning sparse matrix-vector multiplication for {GPU} architectures},
  year      = {2010},
  pages     = {111--125},
@@ -132,12 +132,11 @@
  publisher = {SIAM},
}

@Misc{spatial,
@Online{spatial,
  author   = {Sylvain Bougerel},
  note     = {[Online; accessed November 2017]},
  note     = {[Accessed November 2017]},
  title    = {Spatial {C++} library -- Library of generic, k-d tree multi-dimensional containers},
  year     = {2017},
  keywords = {online},
  url      = {https://sourceforge.net/projects/spatial/},
}

@@ -183,12 +182,11 @@
  publisher = {Elsevier},
}

@Misc{VCGlib,
@Online{VCGlib,
  author   = {Paolo Cignoni and Fabio Ganovelli},
  note     = {[Online; accessed November 2017]},
  note     = {[Accessed November 2017]},
  title    = {{Visualization and Computer Graphics Library (VCGlib)}},
  year     = {2017},
  keywords = {online},
  url      = {http://vcg.isti.cnr.it/vcglib/},
}

@@ -200,7 +198,7 @@
    publisher={Kitware},
}

@InCollection{ahrens:2005paraview,
@InBook{ahrens:2005paraview,
  author    = {Ahrens, James and Geveci, Berk and Law, Charles},
  booktitle = {Visualization Handbook},
  publisher = {Butterworth-Heinemann},
@@ -214,7 +212,7 @@
  doi       = {10.1016/b978-012387582-2/50038-1},
}

@InCollection{HPV:VisIt,
@InBook{HPV:VisIt,
  author    = {Hank Childs and Eric Brugger and Brad Whitlock and Jeremy Meredith and Sean Ahern and David Pugmire and Kathleen Biagas and Mark Miller and Cyrus Harrison and Gunther H. Weber and Hari Krishnan and Thomas Fogal and Allen Sanderson and Christoph Garth and E. Wes Bethel and David Camp and Oliver R\"{u}bel and Marc Durant and Jean M. Favre and Paul Navr\'{a}til},
  booktitle = {{High Performance Visualization--Enabling Extreme-Scale Scientific Insight}},
  title     = {{VisIt}: An End-User Tool For Visualizing and Analyzing Very Large Data},
@@ -223,12 +221,11 @@
  pages     = {357-372},
}

@Misc{meshio,
@Online{meshio,
  author   = {Nico Schlömer},
  note     = {[Online; accessed February 2021]},
  note     = {[Accessed February 2021]},
  title    = {\texttt{meshio}: input/output for many mesh formats},
  year     = {2021},
  keywords = {online},
  url      = {https://github.com/nschloe/meshio},
}

@@ -329,14 +326,15 @@

@InCollection{balogh:2017comparison,
  author    = {Balogh, G{\'a}bor D{\'a}niel and Reguly, Istv{\'a}n Zolt{\'a}n and Mudalige, Gihan R.},
  booktitle    = {Lecture Notes in Computer Science},
  booktitle = {International Workshop on Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems},
  series    = {Lecture Notes in Computer Science},
  volume    = {10724},
  publisher = {Springer International Publishing},
  title     = {Comparison of Parallelisation Approaches, Languages, and Compilers for Unstructured Mesh Algorithms on {GPUs}},
  year      = {2017},
  month     = dec,
  pages     = {22--43},
  doi       = {10.1007/978-3-319-72971-8_2},
  organization = {Springer},
}

@Article{sulyok:2019locality,
@@ -362,12 +360,11 @@
  publisher = {Wiley Online Library},
}

@Misc{marechal:2020gmlib,
@Online{marechal:2020gmlib,
  author   = {Loïc Maréchal},
  note     = {[Online; accessed February 2021},
  note     = {[Accessed February 2021},
  title    = {The {GMlib} library v3.30},
  year     = {2021},
  keywords = {online},
  url      = {https://github.com/LoicMarechal/GMlib},
}

@@ -395,12 +392,11 @@
  doi     = {10.14311/AP.2021.61.0122},
}

@Misc{TNL:documentation,
@Online{TNL:documentation,
  title        = {Template Numerical Library documentation},
  author       = {{TNL project developers}},
  organization = {Czech Technical University, Faculty of Nuclear Sciences and Physical Engineering},
  year         = {2022},
  keywords     = {online},
  url          = {https://tnl-project.org/documentation/},
}

@@ -447,12 +443,11 @@
  url         = {http://images.nvidia.com/content/volta-architecture/pdf/volta-architecture-whitepaper.pdf},
}

@Misc{intel:2017XeonGold,
@Online{intel:2017XeonGold,
  author   = {Intel},
  note     = {{WikiChip} Semiconductor \& Computer Engineering, [Online; accessed February 2021]},
  note     = {{WikiChip} Semiconductor \& Computer Engineering, [Accessed February 2021]},
  title    = {{Xeon} {Gold} 6146 processor specifications},
  year     = {2017},
  keywords = {online},
  url      = {https://en.wikichip.org/w/index.php?title=intel/xeon_gold/6146&oldid=95146},
}

@@ -979,29 +974,27 @@
  year      = {2008},
  editor    = {Peng, Shia-Hui and Haase, Werner},
  pages     = {55--66},
  publisher = {Springer Berlin Heidelberg},
  publisher = {Springer, Berlin, Heidelberg},
  volume    = {97},
  doi       = {https://doi.org/10.1007/978-3-540-77815-8_6},
}

@Misc{davidson:lecture,
@Online{davidson:lecture,
  author       = {Davidson, Lars},
  howpublished = {Chalmers University of Technology, Goteborg, Sweden},
  month        = feb,
  note         = {Lecture notes in MSc courses},
  title        = {Fluid mechanics, turbulent flow and turbulence modeling},
  year         = {2022},
  keywords     = {online},
  url          = {http://www.tfd.chalmers.se/~lada/postscript_files/solids-and-fluids_turbulent-flow_turbulence-modelling.pdf},
}

% physical parameters: air viscosity and water vapor diffusivity
@Misc{engeneeringtoolbox:air-viscosity,
@Online{engeneeringtoolbox:air-viscosity,
  author   = {{Engineering ToolBox}},
  note     = {[Online; Accessed 27-March-2022]},
  note     = {[Accessed March 27 2022]},
  title    = {Air -- Dynamic and Kinematic Viscosity},
  year     = {2003},
  keywords = {online},
  url      = {https://www.engineeringtoolbox.com/air-absolute-kinematic-viscosity-d_601.html},
}

@@ -1023,13 +1016,12 @@
  keywords    = {manual},
}

@Misc{trautz:dataset,
@Online{trautz:dataset,
  author = {Trautz, Andrew C and Illangasekare, Tissa H},
  howpublished = {Mendeley Data},
  note   = {Mendeley Data},
  title  = {Evapotranspiration From Two Limestone Blocks (Plant Analog) Experiments},
  year   = {2022},
  doi    = {10.17632/6fryw4xzgh.1},
  keywords     = {online},
}

@Article{klinkovsky2022:WT,
@@ -1047,7 +1039,7 @@
  editor    = {Gavrilova, Marina L. and Tan, C.J. Kenneth},
  bookTitle = {Transactions on Computational Science XXXIV},
  series    = {Lecture Notes in Computer Science},
  publisher = {Springer Berlin Heidelberg},
  publisher = {Springer, Berlin, Heidelberg},
  pages     = {64--76},
  year      = {2019},
  doi       = {10.1007/978-3-662-59958-7_4},
@@ -1137,7 +1129,7 @@
  doi       = {10.1007/3-540-47789-6_66},
}

@Manual{Hypre:manual,
@Online{Hypre:documentation,
  title        = {hypre documentation},
  author       = {{Hypre project developers}},
  organization = {Lawrence Livermore National Laboratory, CA (United States)},