The LvArray project is a collection of array classes for use in high-performance simulation software. LvArray provides:
- Multi-dimensional arrays with permutable data layout.
- Sorted Arrays are similar to std::set but are contiguous in memory.
- ArrayOfArrays provide a 2-dimensional array with variable sized second dimension.
- ArrayOfSets provide a 2-dimensional array with variable sized second dimension that are sorted.
- CRSMatrix for storage of sparse matricies.
All components of LvArray provide smart management of data motion between memory spaces on systems with hetergeneous memory (e.g. CPU/GPU) through lambda copy semantics in RAJA, similar to the implementation of the CHAI::ManagedArray
Full documenation is hosted at readthedocs
See Github
LvArray is licensed under the BSD 3-Clause license, (BSD-3-Clause or https://opensource.org/licenses/BSD-3-Clause).
Copyrights and patents in the LvArray project are retained by contributors. No copyright assignment is required to contribute to LvArray.
Unlimited Open Source - BSD 3-clause Distribution LLNL-Code-746361
OCEC-18-021
For release details and restrictions, please read the LICENSE file. LICENSE