Cactus is an open-source, problem-solving environment designed for scientists and engineers.[1][2] Its modular structure enables parallel computation across different architectures and collaborative code development between different groups. Cactus originated in the academic research community, where it was developed and used over many years by a large international collaboration of physicists and computational scientists.

Cactus Framework
Developer(s)Cactus Team
Stable release
4.15.0 / December 14 2023
Operating systemCross-platform
TypeSoftware framework
LicenseLGPL
Websitewww.cactuscode.org

The name Cactus comes from the design of a central core (or "flesh") which connects to application modules (or "thorns") through an extensible interface. Thorns can implement custom developed scientific or engineering applications, such as computational fluid dynamics. Other thorns from a standard computational toolkit provide a range of computational capabilities, such as parallel I/O, data distribution, or checkpointing.[3][4]

Cactus runs on many architectures. Applications, developed on standard workstations or laptops, can be seamlessly run on clusters or supercomputers. Cactus provides easy access to many cutting-edge software technologies being developed in the academic research community, including the Globus Toolkit, HDF5 parallel file I/O, the PETSc scientific library, adaptive mesh refinement, web interfaces, and advanced visualization tools.

History

edit

Cactus was originally developed at the AEI, and is now developed jointly at AEI, Cardiff University, and the Center for Computation & Technology at LSU. There are several large packages built on Cactus, among others a general relativistic spacetime evolution code, an adaptive mesh refinement driver (Carpet), and a general relativistic hydrodynamics code (Whisky).

Staff with the LSU Center for Computation & Technology, who were part of the original group at AEI who created Cactus, celebrated the program's 10th birthday in April 2007.

See also

edit

References

edit
  1. ^ Allen, Gabrielle; Benger, Werner; Goodale, Tom; Hege, Hans-Christian; Lanfermann, Gerd; Merzky, Andre; Radke, Thomas; Seidel, Edward; Shalf, John (1999). "Solving Einstein's equations on supercomputers" (PDF). Computer. 32 (12): 52–58. doi:10.1109/2.809251. Retrieved 2021-07-22.
  2. ^ Allen, Gabrielle; Benger, Werner; Goodale, Tom; Hege, Hans-Christian; Lanfermann, Gerd; Merzky, Andre; Radke, Thomas; Seidel, Edward; Shalf, John (2000). "The cactus code: A problem solving environment for the grid" (PDF). Proceedings the Ninth International Symposium on High-Performance Distributed Computing. IEEE. pp. 253–260. doi:10.1109/HPDC.2000.868657. Retrieved 2021-07-22.
  3. ^ Goodale, Tom; Allen, Gabrielle; Lanfermann, Gerd; Massò, Joan; Radke, Thomas; Seidel, Edward; Shalf, John (2003). "The Cactus framework and toolkit: Design and applications". High Performance Computing for Computational Science - VECPAR 2002: 5th International Conference. LNCS, Vol. 2565. Springer. pp. 197–227. CiteSeerX 10.1.1.98.8838. doi:10.1007/3-540-36569-9_13.
  4. ^ Allen, Gabrielle; Goodale, Tom; Löffler, Frank; Rideout, David; Schnetter, Erik; Seidel, Erik L. (2010). "Component specification in the Cactus Framework: The Cactus Configuration Language". 11th IEEE/ACM International Conference on Grid Computing. IEEE. pp. 359–368. arXiv:1009.1341. doi:10.1109/GRID.2010.5698008.
edit