부스트 그래프 라이브러리 및 LEMON
Daniel이 포괄적 인 답변 에서 언급했듯이 , 모든 기능을 갖춘 일반 C ++ 라이브러리는 Boost Graph Library 입니다. 너비 우선 및 깊이 우선 검색, 최소 스패닝 트리 및 연결된 구성 요소 검색과 같은 일부 기본 알고리즘을 수행 할 수있는 새로운 분산 메모리 확장이 있지만 새 프로젝트에는 익숙하지 않습니다. Boost Graph Library 자체는 평판이 좋으며 전 세계 많은 프로젝트에서 사용됩니다.
기본 HPC 그래프 작업을 수행하는 경우 Boost Graph Library로 시작하고 싶을 수도 있지만 많은 HPC C ++ 컴파일러는 Boost (C ++ 표준을 엄격하게 준수하더라도)에 어려움을 겪을 수 있습니다. HPC 시스템에서 작동하도록하려면 이전 버전의 Boost 또는 GCC와 같은 비 공급 업체 컴파일러
LEMON의 리포지토리를 빠르게 탐색하면 IBM BlueGene 슈퍼 컴퓨팅 팀의 참여가 있지만 MPI에 대한 종속성 또는 구성이 표시되지 않으므로 현재 직렬 그래프 라이브러리 일 가능성이 높습니다.
로드 밸런싱 및 동적 그래프 (재) 파티셔닝
로드 밸런싱 및 동적 그래프 파티셔닝에 관심이있는 경우 몇 가지 옵션이 더 있습니다. 아마도 가장 잘 알려진 라이브러리는 작년에 버전 4로 업데이트 된 ParMETIS 입니다. ParMETIS는 다중 물리 시뮬레이션에 중요한 정점 기반 가중치를 제공합니다.
ParMETIS의 유럽 경쟁 업체는 PT-Scotch 로 특정 유형의 문제에 대해 더 나은 성능을 보였지만 ParMETIS와 유사하게 자주 업데이트되지는 않습니다.
C ++의 과학 컴퓨팅을위한 Sandia National Laboratories Trilinos 메타 패키지의 일부인 Zoltan에 관심이있을 수도 있습니다 . Zoltan은 자체 계층 적 파티 셔 너를 갖추고 있으며 ParMETIS 및 PT-Scotch에 대한 인터페이스를 제공합니다.
그래프 500
동시 검색, 최적화 (단일 소스 최단 경로) 및 엣지 지향 (최대 독립 세트)의 최첨단 작업을하고 있다면 자유롭게 사용할 수있는 Graph500 벤치 마크에 관심이있을 것 입니다.