Thư viện đồ thị Boost và LEMON
Như Daniel đề cập trong câu trả lời toàn diện của mình , thư viện C ++ chung đầy đủ tính năng nhất là Thư viện đồ thị Boost . Có một phần mở rộng bộ nhớ phân tán mới có khả năng thực hiện một số thuật toán cơ bản như tìm kiếm theo chiều rộng và chiều sâu đầu tiên, cây bao trùm tối thiểu và tìm kiếm các thành phần được kết nối, nhưng tôi không rành lắm về dự án mới. Thư viện đồ thị Boost tự nó đã có uy tín và được sử dụng trong nhiều dự án trên khắp thế giới.
Nếu bạn đang làm công việc đồ thị HPC cơ bản, bạn có thể muốn bắt đầu với Thư viện đồ thị Boost, nhưng lưu ý rằng nhiều trình biên dịch HPC C ++ gặp khó khăn với Boost (mặc dù tuân thủ các tiêu chuẩn C ++ khá nghiêm ngặt) và bạn có thể cần phải sử dụng một phiên bản cũ hơn của Boost hoặc trình biên dịch không phải của nhà cung cấp như GCC để giúp nó hoạt động trên các hệ thống HPC.
Duyệt nhanh các kho lưu trữ của LEMON cho thấy có sự tham gia của nhóm siêu máy tính IBM BlueGene, nhưng tôi không thấy bất kỳ sự phụ thuộc hay cấu hình nào cho MPI, vì vậy hiện tại có thể đây chỉ là một thư viện đồ thị nối tiếp.
Cân bằng tải và đồ thị động (tái)
Nếu bạn quan tâm đến việc cân bằng tải và phân vùng biểu đồ động, bạn có thêm một số tùy chọn. Có lẽ thư viện nổi tiếng nhất là ParMETIS , đã được cập nhật lên phiên bản 4 năm ngoái. ParMETIS có trọng số dựa trên đỉnh, rất quan trọng đối với mô phỏng đa vật lý.
Đối thủ cạnh tranh châu Âu của ParMETIS là PT-Scotch , đã có hiệu suất tốt hơn cho một số loại vấn đề nhất định, nhưng, tương tự như ParMETIS, không được cập nhật thường xuyên.
Bạn cũng có thể quan tâm đến Zoltan , một phần của gói meta Trilinos của Phòng thí nghiệm quốc gia Sandia dành cho điện toán khoa học trong C ++. Zoltan có các phân vùng và giao diện phân cấp riêng của mình vào cả ParMETIS và PT-Scotch.
Đồ thị 500
Nếu bạn đang làm việc trên cạnh chảy máu của tìm kiếm đồng thời, tối ưu hóa (đường dẫn ngắn nhất nguồn đơn) và định hướng cạnh (bộ độc lập tối đa), bạn cũng sẽ quan tâm đến điểm chuẩn Graph500 có sẵn miễn phí .