Bibliography

[1]    S. Selberherr, Analysis and Simulation of Semiconductor Devices. Springer, 1984, ISBN: 3211818006.

[2]    W. Arden, M. Brillouët, P. Cogez, M. Graef, B. Huizing, and R. Mahnkopf, “More-than-Moore,” International Technology Roadmap for Semiconductors (ITRS), White Paper, 2010. URL: http://www.itrs.net/Links/2010ITRS/IRC-ITRS-MtM-v2%203.pdf

[3]    I. Sommerville, Software Engineering, 9th ed. Addison-Wesley, 2010, ISBN: 0137035152.

[4]    J. Weinbub, “Why Isn’t There More Open Source in Research?” Blog of the Software Sustainability Institute, 2013. URL: http://software.ac.uk/blog/2013-01-21-why-isnt-there-more-open-source-research/

[5]    Archimedes. URL: http://www.gnu.org/software/archimedes/

[6]    The Yale Law School Roundtable on Data and Code Sharing, “Reproducible Research,” Computing in Science and Engineering, vol. 12, no. 5, pp. 8–13, 2010. DOI: 10.1109/MCSE.2010.113

[7]    V. Stodden, “The Legal Framework for Reproducible Scientific Research,” Computing in Science and Engineering, vol. 11, no. 1, pp. 35–40, 2009. DOI: 10.1109/MCSE.2009.19

[8]    M. Fayad and D. C. Schmidt, “Object-Oriented Application Frameworks,” Communications of the ACM, vol. 40, no. 10, pp. 32–38, Oct. 1997. DOI: 10.1145/262793.262798

[9]    ViennaMini. URL: https://github.com/viennamini/

[10]    ViennaX. URL: http://viennax.sourceforge.net/

[11]    ViennaMOS. URL: http://viennamos.sourceforge.net/

[12]    ANSYS. URL: http://www.ansys.com/

[13]    T. Goodale, G. Allen, J. Lanfermann, G.and Massó, T. Radke, E. Seidel, and J. Shalf, “The Cactus Framework and Toolkit: Design and Applications,” in High Performance Computing for Computational Science - VECPAR 2002, ser. Lecture Notes in Computer Science, 2003, vol. 2565, pp. 197–227. DOI: 10.1007/3-540-36569-9_13

[14]    Cactus. URL: http://cactuscode.org/

[15]    R. Armstrong, D. Gannon, A. Geist, K. Keahey, S. Kohn, L. McInnes, S. Parker, and B. Smolinski, “Toward a Common Component Architecture for High-Performance Scientific Computing,” in Proceedings of the IEEE International Symposium on High Performance Distributed Computing (HPDC), 1999, p. 13, ISBN: 0769502873.

[16]    B. A. Allan, R. Armstrong, D. E. Bernholdt, F. Bertrand, K. Chiu, T. L. Dahlgren, K. Damevski, W. R. Elwasif, T. G. W. Epperly, M. Govindaraju, D. S. Katz, J. A. Kohl, M. Krishnan, G. Kumfert, J. W. Larson, S. Lefantzi, M. J. Lewis, A. D. Malony, L. C. Mclnnes, J. Nieplocha, B. Norris, S. G. Parker, J. Ray, S. Shende, T. L. Windus, and S. Zhou, “A Component Architecture for High-Performance Scientific Computing,” International Journal of High Performance Computing Applications, vol. 20, no. 2, pp. 163–202, 2006. DOI: 10.1177/1094342006064488

[17]    The Common Component Architecture Forum. URL: http://www.cca-forum.org/

[18]    B. A. Allan, R. C. Armstrong, A. P. Wolfe, J. Ray, D. E. Bernholdt, and J. A. Kohl, “The CCA Core Specification in a Distributed Memory SPMD Framework,” Concurrency and Computation: Practice and Experience, vol. 14, no. 5, pp. 323–345, 2002. DOI: 10.1002/cpe.651

[19]    M. Govindaraju, M. Head, and K. Chiu, “XCAT-C++: Design and performance of a distributed cca framework,” in High Performance Computing - HiPC 2005, ser. Lecture Notes in Computer Science, 2005, vol. 3769, pp. 270–279. DOI: 10.1007/11602569_30

[20]    M. J. Lewis, A. J. Ferrari, M. A. Humphrey, J. F. Karpovich, M. M. Morgan, A. Natrajan, A. Nguyen-Tuong, G. S. Wasson, and A. S. Grimshaw, “Support for Extensibility and Site Autonomy in the Legion Grid System Object Model,” Journal of Parallel and Distributed Computing, vol. 63, no. 5, pp. 525–538, 2003. DOI: 10.1016/S0743-7315(03)00012-1

[21]    K. Zhang, K. Damevski, V. Venkatachalapathy, and S. Parker, “SCIRun2: A CCA framework for high performance computing,” in Proceedings of the International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS, 2004, pp. 72–79. DOI: 10.1109/HIPS.2004.1299192

[22]    COMSOL Multiphysics. URL: http://www.comsol.com/

[23]    A. Lani, T. Quintino, D. Kimpe, H. Deconinck, S. Vandewalle, and S. Poedts, “The COOLFluiD Framework: Design Solutions for High Performance Object Oriented Scientific Computing Software,” in Computational Science - ICCS 2005, ser. Lecture Notes in Computer Science, 2005, vol. 3514, pp. 279–286. DOI: 10.1007/11428831_35

[24]    T. Quintino, “A Component Environment for High-Performance Scientific Computing,” Ph.D. thesis, Katholieke Universiteit Leuven, 2008.

[25]    COOLFluiD. URL: http://coolfluidsrv.vki.ac.be/trac/coolfluid/

[26]    G. Bosilca, A. Bouteiller, A. Danalis, T. Herault, P. Lemarinier, and J. Dongarra, “DAGuE: A Generic Distributed DAG Engine for High Performance Computing,” Parallel Computing, vol. 38, no. 1-2, pp. 37–51, 2012. DOI: 10.1016/j.parco.2011.10.003

[27]    DAGuE. URL: http://icl.cs.utk.edu/dague/

[28]    C. Hill, C. DeLuca, V. Balaji, M. Suarez, and A. d. Silva, “The Architecture of the Earth System Modeling Framework,” Computing in Science and Engineering, vol. 6, no. 1, pp. 18–28, 2004. DOI: 10.1109/MCISE.2004.1255817

[29]    Earth System Modeling Framework. URL: http://www.earthsystemmodeling.org/

[30]    M. Berzins, “Status of Release of the Uintah Computational Framework,” Scientific Computing and Imaging Institute, University of Utah, Tech. Rep. UUSCI-2012-001, 2012.

[31]    J. Davison de St.Germain, J. McCorquodale, S. Parker, and C. Johnson, “Uintah: A massively parallel problem solving environment,” in Proceedings of the IEEE International Symposium on High Performance Distributed Computing (HPDC), 2000, pp. 33–41. DOI: 10.1109/HPDC.2000.868632

[32]    C. Szyperski, Component Software: Beyond Object-Oriented Programming, 2nd ed. Addison-Wesley Longman Publishing, 2002, ISBN: 0201745720.

[33]    J. Sellier, J. Fonseca, and G. Klimeck, “Archimedes, the free Monte Carlo Simulator,” in Proceedings of the International Workshop on Computational Electronics (IWCE), 2012, pp. 1–4. DOI: 10.1109/IWCE.2012.6242861

[34]    Genius TCAD Open. URL: https://github.com/cogenda/Genius-TCAD-Open/

[35]    Gold Standard Simulations. URL: http://www.goldstandardsimulations.com/

[36]    S. Wagner, “Small-Signal Device and Circuit Simulation,” Dissertation, Technische Universität Wien, 2005. URL: http://www.iue.tuwien.ac.at/phd/wagner/

[37]    R. Klima, “Three-Dimensional Device Simulation with Minimos-NT,” Dissertation, Technische Universität Wien, 2002. URL: http://www.iue.tuwien.ac.at/phd/klima/

[38]    S. Selberherr, A. Schütz, and H. Pötzl, “MINIMOS - A Two-Dimensional MOS Transistor Analyzer,” IEEE Transactions on Electron Devices, vol. 27, no. 8, pp. 1540–1550, 1980. DOI: 10.1109/T-ED.1980.20068

[39]    nanoHUB. URL: http://nanohub.org/

[40]    G. Klimeck, M. McLennan, S. Brophy, G. Adams, and M. Lundstrom, “nanoHUB.org: Advancing Education and Research in Nanotechnology,” Computing in Science Engineering, vol. 10, no. 5, pp. 17–23, 2008. DOI: 10.1109/MCSE.2008.120

[41]    Count Lines of Code (CLOC). URL: http://cloc.sourceforge.net/

[42]    NanoTCAD ViDES. URL: http://vides.nanotcad.com/

[43]    Silvaco. URL: http://www.silvaco.com/

[44]    Synopsys. URL: http://www.synopsys.com/

[45]    ViennaSHE. URL: http://viennashe.sourceforge.net/

[46]    K. Rupp, “Deterministic Numerical Solution of the Boltzmann Transport Equation,” Dissertation, Technische Universität Wien, 2011. URL: http://www.iue.tuwien.ac.at/phd/rupp/

[47]    Boost. URL: http://www.boost.org/

[48]    Boost Graph. URL: http://www.boost.org/libs/graph/

[49]    Boost MPI. URL: http://www.boost.org/libs/mpi/

[50]    Boost Serialization. URL: http://www.boost.org/libs/serialization/

[51]    Boost Smart Pointers. URL: http://www.boost.org/libs/smart_ptr/

[52]    Boost uBLAS. URL: http://www.boost.org/libs/numeric/ublas/

[53]    Boost Variant. URL: http://www.boost.org/libs/variant/

[54]    S.-W. Cheng, T. K. Dey, and J. R. Shewchuk, Delaunay Mesh Generation. Taylor & Francis, 2012, ISBN: 9781584887300.

[55]    J. Shewchuk, “What is a Good Linear Element?” in Proceedings of the International Meshing Roundtable (IMR), 2002, pp. 115–126. URL: http://www.imr.sandia.gov/papers/imr11/shewchuk2.pdf

[56]    S. J. Owen, “A Survey of Unstructured Mesh Generation Technology,” in Proceedings of the International Meshing Roundtable (IMR), 1998, pp. 239–267. URL: http://www.imr.sandia.gov/papers/imr7/owen_meshtech98.ps.gz

[57]    ViennaMesh. URL: http://viennamesh.sourceforge.net/

[58]    Computational Geometry Algorithms Library (CGAL). URL: http://www.cgal.org/

[59]    Gmsh. URL: http://geuz.org/gmsh/

[60]    Netgen. URL: http://sourceforge.net/projects/netgen-mesher/

[61]    TetGen. URL: http://tetgen.berlios.de/

[62]    Triangle. URL: http://www.cs.cmu.edu/quake/triangle.html

[63]    ParaView. URL: http://www.paraview.org/

[64]    Qt. URL: http://qt-project.org/

[65]    Software at the Institute for Microelectronics. URL: http://www.iue.tuwien.ac.at/software/

[66]    ViennaProfiler. URL: http://viennaprofiler.sourceforge.net/

[67]    ViennaWD. URL: http://viennawd.sourceforge.net/

[68]    ViennaCL. URL: http://viennacl.sourceforge.net/

[69]    ViennaData. URL: http://viennadata.sourceforge.net/

[70]    ViennaFEM. URL: http://viennafem.sourceforge.net/

[71]    ViennaFVM. URL: http://viennafvm.sourceforge.net/

[72]    ViennaGrid. URL: http://viennagrid.sourceforge.net/

[73]    ViennaIPD. URL: http://viennaipd.sourceforge.net/

[74]    ViennaMaterials. URL: https://github.com/viennamaterials/

[75]    ViennaMath. URL: http://viennamath.sourceforge.net/

[76]    Visualization Toolkit (VTK). URL: http://www.vtk.org/

[77]    R. Heinzl, “Concepts for Scientific Computing,” Dissertation, Technische Universität Wien, 2007. URL: http://www.iue.tuwien.ac.at/phd/heinzl/

[78]    P. Schwaha, “Beyond Atavistic Structures in Scientific Computing,” Dissertation, Technische Universität Wien, 2010. URL: http://www.iue.tuwien.ac.at/phd/schwaha/

[79]    P. Wegner, “Concepts and Paradigms of Object-Oriented Programming,” SIGPLAN OOPS Messenger, vol. 1, no. 1, pp. 7–87, 1990. DOI: 10.1145/382192.383004

[80]    P. Hudak, “Conception, Evolution, and Application of Functional Programming Languages,” ACM Computing Surveys, vol. 21, no. 3, pp. 359–411, 1989. DOI: 10.1145/72551.72554

[81]    J. Backus, “Can Programming Be Liberated from the Von Neumann Style?” Communications of the ACM, vol. 21, no. 8, pp. 613–641, 1978. DOI: 10.1145/359576.359579

[82]    Haskell. URL: http://www.haskell.org/

[83]    Boost Lambda. URL: http://www.boost.org/libs/lambda/

[84]    Boost Phoenix. URL: http://www.boost.org/libs/phoenix/

[85]    B. Stroustrup, “Evolving a Language in and for the Real World: C++ 1991-2006,” in Proceedings of the ACM SIGPLAN Conference on History of Programming Languages, 2007, pp. 4–1–4–59. DOI: 10.1145/1238844.1238848

[86]    D. Musser and A. A. Stepanov, “Generic Programming,” in Proceedings of the International Symposium on Symbolic and Algebraic Computation (ISSAC), 1988, pp. 13–25, ISBN: 3540510842.

[87]    G. D. Reis and J. Järvi, “What is Generic Programming?” in Proceedings of the Object-Oriented Programming Systems, Languages, and Applications Conference (OOPSLA), Workshop on Library-Centric Software Design (LCSD), 2005. URL: http://lcsd05.cs.tamu.edu/papers/dos_reis_et_al.pdf

[88]    T. Veldhuizen, “Expression Templates,” C++ Report, vol. 7, no. 5, pp. 26–31, 1995.

[89]    D. Abrahams and A. Gurtovoy, C++ Template Metaprogramming. Addison-Wesley, 2004, ISBN: 0321227255.

[90]    The Matrix Template Library. URL: http://www.simunova.com/

[91]    W. Bangerth, R. Hartmann, and G. Kanschat, “deal.II - A General-Purpose Object-Oriented Finite Element Library,” ACM Transactions on Mathematical Software, vol. 33, no. 4, pp. 24:1–24:27, 2007. DOI: 10.1145/1268776.1268779

[92]    deal.II. URL: http://www.dealii.org/

[93]    The Blitz++ Library. URL: http://blitz.sourceforge.net/

[94]    B. Stroustrup, “Evolving a Language in and for the Real World: C++ 1991-2006,” in Proceedings of the ACM SIGPLAN Conference on History of Programming Languages (HOPL), 2007, pp. 4:1–4:59. DOI: 10.1145/1238844.1238848

[95]    TIOBE Programming Community Index. URL: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

[96]    C++ Standards Committee. URL: http://open-std.org/JTC1/SC22/WG21/

[97]    GNU Compiler Collection. URL: http://gcc.gnu.org/

[98]    Clang. URL: http://clang.llvm.org/

[99]    Intel Developer Zone. URL: http://software.intel.com/

[100]    G. Hager and G. Wellein, Introduction to High Performance Computing for Scientists and Engineers. CRC Press, 2010, ISBN: 9781439811924.

[101]    Boost Python. URL: http://www.boost.org/libs/python/

[102]    D. E. Bernholdt, R. C. Armstrong, and B. A. Allan, “Managing Complexity in Modern High End Scientific Computing through Component-Based Software Engineering,” in Proceedings of the Workshop on Productivity and Performance in High-End Computing (P-PHEC), 2004. URL: http://www.research.ibm.com/people/r/rajamony/pphec2004-proceedings.pdf

[103]    W. Van Roosbroeck, “Theory of the Flow of Electrons and Holes in Germanium and Other Semiconductors,” Bell System Technical Journal, vol. 29, no. 4, pp. 560–607, 1950. DOI: 10.1002/j.1538-7305.1950.tb03653.x

[104]    D. Scharfetter and H. Gummel, “Large-Signal Analysis of a Silicon Read Diode Oscillator,” IEEE Transactions on Electron Devices, vol. 16, no. 1, pp. 64–77, 1969. DOI: 10.1109/T-ED.1969.16566

[105]    T. Grasser, T.-W. Tang, H. Kosina, and S. Selberherr, “A Review of Hydrodynamic and Energy-Transport Models for Semiconductor Device Simulation,” Proceedings of the IEEE, vol. 91, no. 2, pp. 251–274, 2003. DOI: 10.1109/JPROC.2002.808150

[106]    B. M. Klingner and J. R. Shewchuk, “Agressive Tetrahedral Mesh Improvement,” in Proceedings of the International Meshing Roundtable (IMR), 2007, pp. 3–23. URL: http://www.imr.sandia.gov/papers/imr16/klinger.pdf

[107]    P. Fleischmann and S. Selberherr, “Enhanced Advancing Front Delaunay Meshing in TCAD,” in Proceedings of the International Conference on Simulation of Semiconductor Processes and Devices (SISPAD), 2002, pp. 99–102. DOI: 10.1109/SISPAD.2002.1034526

[108]    V. Palankovski, “Simulation of Heterojunction Bipolar Transistors,” Dissertation, Technische Universität Wien, 2000. URL: http://www.iue.tuwien.ac.at/phd/palankovski/

[109]    M. Gayer and G. Iannaccone, “A Software Platform for Nanoscale Device Simulation and Visualization,” in Proceedings of the International Conference on Advances in Computational Tools for Engineering Applications (ACTEA), 15-17 2009, pp. 432–437. DOI: 10.1109/ACTEA.2009.5227880

[110]    A. Logg and G. N. Wells, “DOLFIN: Automated Finite Element Computing,” ACM Transactions on Mathematical Software, vol. 37, no. 2, pp. 1–28, 2010. DOI: 10.1145/1731022.1731030

[111]    B. Stroustrup, “Software Development for Infrastructure,” Computer, vol. 45, no. 1, pp. 47–58, 2012. DOI: 10.1109/MC.2011.353

[112]    pugixml. URL: http://pugixml.org/

[113]    Libxml2. URL: http://www.xmlsoft.org/

[114]    FEniCS. URL: http://fenicsproject.org/

[115]    M. G. Knepley, J. Brown, K. Rupp, and B. F. Smith, “Achieving High Performance with Unified Residual Evaluation,” Computing Research Repository, 2013. URL: http://arxiv.org/abs/1309.1204

[116]    R. N. Hall, “Electron-Hole Recombination in Germanium,” Physical Review, vol. 87, pp. 387–387, 1952. DOI: 10.1103/PhysRev.87.387

[117]    W. Shockley and W. T. Read, “Statistics of the Recombinations of Holes and Electrons,” Physical Review, vol. 87, pp. 835–842, 1952. DOI: 10.1103/PhysRev.87.835

[118]    M. R. Hestenes and E. Stiefel, “Methods of Conjugate Gradients for Solving Linear Systems,” Journal of Research of the National Bureau of Standards, vol. 49, no. 6, pp. 409–436, 1952. DOI: 10.6028/jres.049.044

[119]    Y. Saad and M. Schultz, “GMRES: A Generalized Minimal Residual Algorithm for Solving Nonsymmetric Linear Systems,” SIAM Journal on Scientific and Statistical Computing, vol. 7, no. 3, pp. 856–869, 1986. DOI: 10.1137/0907058

[120]    Y. Saad, Iterative Methods for Sparse Linear Systems, 2nd ed. Society for Industrial and Applied Mathematics, 2003, ISBN: 9780898715347.

[121]    Trilinos. URL: http://trilinos.sandia.gov/

[122]    PETSc. URL: http://www.mcs.anl.gov/petsc/

[123]    UDUNITS. URL: http://www.unidata.ucar.edu/software/udunits/

[124]    Lua. URL: http://www.lua.org/

[125]    J. Weinbub, R. Heinzl, P. Schwaha, F. Stimpfl, and S. Selberherr, “A Lightweight Material Library for Scientific Computing in C++,” in Proceedings of the European Simulation and Modelling Conference (ESM), 2010, pp. 454–458, ISBN: 9789077381571.

[126]    B. Reed and D. D. E. Long, “Analysis of Caching Algorithms for Distributed File Systems,” ACM SIGOPS Operating Systems Review, vol. 30, no. 3, pp. 12–21, 1996. DOI: 10.1145/230908.230913

[127]    H. Gummel, “A Self-Consistent Iterative Scheme for One-Dimensional Steady State Transistor Calculations,” IEEE Transactions on Electron Devices, vol. 11, no. 10, pp. 455–465, 1964. DOI: 10.1109/T-ED.1964.15364

[128]    J. Dongarra and A. van der Steen, “High-Performance Computing Systems,” Acta Numerica, vol. 21, pp. 379–474, 2012, ISBN: 9781107026155. URL: http://www.netlib.org/utk/people/PAPERS/acta-num-2012.pdf

[129]    S. Borkar and A. A. Chien, “The Future of Microprocessors,” Communications of the ACM, vol. 54, no. 5, pp. 67–77, 2011. DOI: 10.1145/1941487.1941507

[130]    H. Sutter and J. Larus, “Software and the Concurrency Revolution,” ACM Queue, vol. 3, no. 7, pp. 54–62, 2005. DOI: 10.1145/1095408.1095421

[131]    C. Lameter, “NUMA (Non-Uniform Memory Access): An Overview,” ACM Queue, vol. 11, no. 7, pp. 40:40–40:51, 2013. DOI: 10.1145/2508834.2513149

[132]    OpenMP. URL: http://openmp.org/

[133]    Intel Cilk Plus. URL: http://www.cilkplus.org/

[134]    IEEE and The Open Group, IEEE Stdandard 1003.1, 2004 Edition, 2004. URL: http://pubs.opengroup.org/onlinepubs/000095399/

[135]    Message Passing Interface Forum, “MPI: A Message-Passing Interface Standard Version 3.0,” 2012. URL: http://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf

[136]    CORPORATE Rice University, “High Performance Fortran Language Specification,” SIGPLAN Fortran Forum, vol. 12, no. 4, pp. 1–86, 1993. DOI: 10.1145/174223.158909

[137]    K. Kennedy, C. Koelbel, and H. Zima, “The Rise and Fall of High Performance Fortran,” in Proceedings of the ACM SIGPLAN Conference on History of Programming Languages (HOPL), 2007, pp. 7:1–7:22. DOI: 10.1145/1238844.1238851

[138]    Partitioned Global Address Space. URL: http://www.pgas.org/

[139]    R. W. Numrich and J. Reid, “Co-Array Fortran for Parallel Programming,” SIGPLAN Fortran Forum, vol. 17, no. 2, pp. 1–31, 1998. DOI: 10.1145/289918.289920

[140]    W. W. Carlson, J. M. Draper, D. E. Culler, K. Yelick, E. Brooks, and K. Warren, “Introduction to UPC and Language Specification,” IDA/CCS, Tech. Rep. CCS-TR-99-157, 1999. URL: http://www3.uji.es/aliaga/UPC/upc_intro.pdf

[141]    Titan. URL: http://www.olcf.ornl.gov/titan/

[142]    Sequoia. URL: https://asc.llnl.gov/computing_resources/sequoia/

[143]    H. Esmaeilzadeh, E. Blem, R. St. Amant, K. Sankaralingam, and D. Burger, “Dark Silicon and the End of Multicore Scaling,” ACM SIGARCH Computer Architecture News, vol. 39, no. 3, pp. 365–376, 2011. DOI: 10.1145/2024723.2000108

[144]    V. Sarkar, W. Harrod, and A. Snavely, “Software Challenges at Extreme Scale,” SciDAC Review, Special Issue on Advanced Computing: The Roadmap to Exascale, vol. 16, 2010. URL: http://www.scidacreview.org/1001/html/software.html

[145]    Stampede. URL: http://www.tacc.utexas.edu/resources/hpc/stampede/

[146]    D. B. Kirk and W. W. Hwu, Programming Massively Parallel Processors. Morgan Kaufman, 2010, ISBN: 0123814723.

[147]    K. Rupp, “CPU, GPU and MIC Hardware Characteristics over Time.” URL: http://www.karlrupp.net/2013/06/cpu-gpu-and-mic-hardware-characteristics-over-time/

[148]    M. Arora, S. Nath, S. Mazumdar, S. Baden, and D. Tullsen, “Redefining the Role of the CPU in the Era of CPU-GPU Integration,” IEEE Micro, vol. 32, no. 6, pp. 4–16, 2012. DOI: 10.1109/MM.2012.57

[149]    A. Dios, R. Asenjo, A. Navarro, F. Corbera, and E. Zapata, “High-Level Template for the Task-Based Parallel Wavefront Pattern,” in Proceedings of the International Conference on High Performance Computing (HiPC), 2011, pp. 1–10. DOI: 10.1109/HiPC.2011.6152717

[150]    J. Weinbub, K. Rupp, and S. Selberherr, “ViennaX: A Parallel Plugin Execution Framework for Scientific Computing,” Engineering with Computers, 2013. DOI: 10.1007/s00366-013-0314-1

[151]    J. Weinbub, K. Rupp, and S. Selberherr, “Highly Flexible and Reusable Finite Element Simulations with ViennaX,” Journal of Computational and Applied Mathematics, 2013. DOI: 10.1016/j.cam.2013.12.013

[152]    MPICH. URL: http://www.mpich.org/

[153]    E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994, ISBN: 0201633612.

[154]    D. Kharrat and S. Quadri, “Self-Registering Plug-ins,” in Proceedings of the Canadian Conference on Electrical and Computer Engineering (CCECE), 2005, pp. 1324–1327. DOI: 10.1109/CCECE.2005.1557221

[155]    J. G. Siek, L.-Q. Lee, and A. Lumsdaine, The Boost Graph Library. Addison-Wesley Professional, 2001, ISBN: 0201729148.

[156]    T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms. The MIT Press, 2009, ISBN: 0262033844.

[157]    Y.-K. Kwok and I. Ahmad, “Static Scheduling Algorithms for Allocating Directed Task Graphs to Multiprocessors,” ACM Computing Surveys, vol. 31, no. 4, 1999. DOI: 10.1145/344588.344618

[158]    J. C. Tiernan, “An Efficient Search Algorithm to Find the Elementary Circuits of a Graph,” Communications of the ACM, vol. 13, no. 12, pp. 722–726, 1970. DOI: 10.1145/362814.362819

[159]    K. Agrawal, C. Leiserson, and J. Sukha, “Executing Task Graphs Using Work-Stealing,” in Proceedings of the IEEE International Symposium on Parallel and Distributed Processing (IPDPS), 2010, pp. 1–12. DOI: 10.1109/IPDPS.2010.5470403

[160]    J. Dinan, D. B. Larkins, P. Sadayappan, S. Krishnamoorthy, and J. Nieplocha, “Scalable Work Stealing,” in Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis (SC), 2009, pp. 53:1–53:11. DOI: 10.1145/1654059.1654113

[161]    METIS. URL: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview/

[162]    P. Colella, J. Bell, N. Keen, T. Ligocki, M. Lijewski, and B. van Straalen, “Performance and Scaling of Locally-Structured Grid Methods for Partial Differential Equations,” Journal of Physics: Conference Series, vol. 78, no. 1, p. 012013, 2007. DOI: 10.1088/1742-6596/78/1/012013

[163]    M. Möller and D. Kuzmin, “Adaptive Mesh Refinement for High-Resolution Finite Element Schemes,” International Journal for Numerical Methods in Fluids, vol. 52, no. 5, pp. 545–569, 2006. DOI: 10.1002/fld.1183

[164]    D. W. Kelly, J. P. De S. R. Gago, O. C. Zienkiewicz, and I. Babuska, “A Posteriori Error Analysis and Adaptive Processes in the Finite Element Method,” International Journal for Numerical Methods in Engineering, vol. 19, no. 11, pp. 1593–1619, 1983. DOI: 10.1002/nme.1620191103

[165]    FastFlow. URL: http://calvados.di.unipi.it/dokuwiki/doku.php/ffnamespace:about

[166]    M. Aldinucci, M. Danelutto, P. Kilpatrick, and M. Torquati, “FastFlow: High-Level and Efficient Streaming on Multi-Core,” in Programming Multi-core and Many-core Computing Systems, ser. Parallel and Distributed Computing. Wiley, 2013, ISBN: 0470936908.

[167]    HECToR. URL: http://www.hector.ac.uk/

[168]    W. Bangerth, C. Burstedde, T. Heister, and M. Kronbichler, “Algorithms and Data Structures for Massively Parallel Generic Adaptive Finite Element Codes,” ACM Transactions on Mathematical Software, vol. 38, no. 2, pp. 14:1–14:28, 2011. DOI: 10.1145/2049673.2049678

[169]    C. Burstedde, L. C. Wilcox, and O. Ghattas, “p4est: Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees,” SIAM Journal on Scientific Computing, vol. 33, no. 3, pp. 1103–1133, 2011. DOI: 10.1137/100791634

[170]    p4est. URL: http://www.p4est.org/

[171]    Hypre. URL: http://acts.nersc.gov/hypre/

[172]    Visualization and Computer Graphics (VCG) Library. URL: http://vcg.isti.cnr.it/cignoni/newvcglib/html/