ValeevGroup/tiledarray
A massively-parallel, block-sparse tensor framework written in C++
解决的问题
TiledArray 是一个为高性能张量运算设计的可扩展块稀疏张量框架。它简化了在 C++ 中组合复杂张量表达式的过程,同时确保系统能够从单个多核计算机扩展到大规模分布式内存多处理器,这在多体量子力学等领域尤其有用。
工作原理
基于 MADNESS 并行运行时(MADWorld)构建,该框架允许用户使用非常接近标准数学符号和爱因斯坦求和约定的记法来编写张量表达式。它支持密集张量和块稀疏张量,并提供高度可定制的框架,用户可以自定义块类型和稀疏张量结构,以支持磁盘存储或按需计算的张量等特性。
适用人群
适用于需要在分布式内存系统上执行大规模张量操作的科学计算和高性能计算(HPC)领域的研究人员和开发者。
主要亮点
- 数学化语法:使用类似于数学符号和爱因斯坦求和约定的 C++ 代码,实现直观的表达式组合。
- 大规模并行:可在共享内存和分布式内存系统上扩展,某些基准测试中性能优于 ScaLAPACK 等标准库。
- 块稀疏支持:高效处理密集张量和块稀疏张量。
- 可扩展设计:支持自定义块类型和稀疏张量结构的描述,具备高度灵活性。
相关
- 项目
- 项目
- 项目
- 项目
- 项目