ValeevGroup/tiledarray
A massively-parallel, block-sparse tensor framework written in C++
해결하는 문제
TiledArray는 고성능 텐서 연산을 위한 확장 가능한 블록 희소 텐서 프레임워크입니다. C++에서 복잡한 텐서 표현식을 구성하는 것을 단순화하면서도, 단일 멀티코어 컴퓨터부터 거대한 분산 메모리 다중 프로세서에 이르기까지 시스템이 확장 가능하도록 보장합니다. 이는 특히 다체 양자역학과 같은 분야에서 특히 유용합니다.
작동 방식
MADNESS 병렬 런타임(MADWorld) 위에 구축되어 있으며, 사용자는 표준 수학적 표기법과 아인슈타인 합성 규칙에 매우 가까운 표기법을 사용하여 텐서 표현식을 작성할 수 있습니다. 밀집형과 블록 희소 텐서 모두를 지원하며, 타일 유형과 희소 텐서 구조를 사용자 정의할 수 있는 매우 유연한 프레임워크를 제공합니다. 디스크 기반 저장이나 실시간 계산 텐서와 같은 기능을 지원할 수 있습니다.
대상 사용자
분산 메모리 시스템에서 대규모 텐서 연산을 수행해야 하는 과학 계산 및 고성능 컴퓨팅(HPC) 분야의 연구자 및 개발자에게 적합합니다.
주요 특징
- 수학적 구문: 수학적 표기법과 아인슈타인 합성 규칙을 닮은 C++ 코드를 사용하여 직관적인 표현식 구성이 가능합니다.
- 대규모 병렬 처리: 공유 메모리 및 분산 메모리 시스템에서 확장 가능하며, 특정 벤치마크에서는 ScaLAPACK과 같은 표준 라이브러리를 능가합니다.
- 블록 희소 지원: 밀집형과 블록 희소 텐서 모두를 효율적으로 처리합니다.
- 확장 가능한 설계: 타일 유형과 희소 텐서 구조의 정의를 사용자 정의할 수 있어 유연한 확장이 가능합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트