Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 3.67 KB

dealii-policy-compatibility.md

File metadata and controls

43 lines (36 loc) · 3.67 KB

xSDK Community Policy Compatibility for deal.II

Website: https://www.dealii.org/

Mandatory Policies

Policy Support Notes
M1. Support portable installation through Spack. Full There is a spack recipe to build deal.II M1 details
M2. Provide a comprehensive test suite for correctness of installation verification. Full Extensive testsuite for deal.II, including its interfaces to other packages M2 details
M3. Employ user-provided MPI communicator (no MPI_COMM_WORLD). Don't assume a full MPI 3 implementation without checking. Provide an option to prevent any changes to MPI error-handling if it is changed by default. Full None.
M4. Give best effort at portability to key architectures (standard Linux distributions, GNU, Clang, vendor compilers, and target machines at ALCF, NERSC, OLCF). Full None.
M5. Provide a documented, reliable way to contact the development team. Full See https://groups.google.com/g/dealii
M6. Respect system resources and settings made by other previously called packages (e.g. signal handling). Full None.
M7. Come with an open source (BSD style) license. Full deal.II uses the LGPL license.
M8. Provide a runtime API to return the current version number of the software. Full None.
M9. Use a limited and well-defined symbol, macro, library, and include file name space. Full None.
M10. Provide an xSDK team accessible repository (not necessarily publicly available). Full Public repository is at https://github.com/dealii/dealii
M11. Have no hardwired print or IO statements that cannot be turned off. Full None.
M12. For external dependencies, allow installing, building, and linking against an outside copy of external software. Full None.
M13. Install headers and libraries under deal.II/include and deal.II/lib. Full None.
M14. Be buildable using 64 bit pointers. 32 bit is optional. Full Pointers use the default width of a system ABI.
M15. All xSDK compatibility changes should be sustainable. Full None.
M16. Any xSDK-compatible package that compiles code should have a configuration option to build in Debug mode. Full None.

M1 details : See https://github.com/spack/spack/tree/develop/var/spack/repos/builtin/packages/dealii

M2 details : See https://www.dealii.org/developer/developers/testsuite.html

Recommended Policies

Policy Support Notes
R1. Have a public repository. Full Repo is public.
R2. Possible to run test suite under valgrind in order to test for memory corruption issues. Full See https://www.dealii.org/developer/developers/testsuite.html#memcheck .
R3. Adopt and document consistent system for error conditions/exceptions. Full None.
R4. Free all system resources acquired as soon as they are no longer needed. Full None.
R5. Provide a mechanism to export ordered list of library dependencies. Full Via cmake.
R6. Document versions of packages that it works with or depends upon, preferably in machine-readable form. Partial In the readme file.
R7. Have README, SUPPORT, LICENSE, and CHANGELOG files in top directory. Partial README, SUPPORT, and LICENSE yes. The CHANGELOG is autogenerated as an HTML file from other information
R8. Each xSDK member package should have sufficient documentation to support use and further development. Full Extensive documentation of all aspects.