Graph500 Build

Graph500은 큰 그래프에 대해 생성, 압축, 너비 우선 탐색을 수행하는 워크로드이다[1].
http://www.graph500.org/referencecode에서 소스 코드를 다운받을 수 있다.

$wget http://www.graph500.org/sites/default/files/files/graph500-2.1.4.tar.bz2
$tar -xvf ./graph500-2.1.4.tar.bz2
$cd graph500-2.1.4.tar.bz2

Makefile에서 make.inc를 include하고 있으며, 몇몇 예제가 make-incs 디렉토리 안에 있다. 이 파일을 수정해 여러 설정을 바꿀 수 있다.

$cp ./make-incs/make.inc-gcc ./make.inc
$make

빌드하면 각 디렉토리에 구현 방식에 따라 서로 다른 바이너리가 생성된다.

octave/Graph500.m : GNU Octave (may be Matlab(TM) compatible) from the specification.
seq-list/seq-list : Sequential list-based implementation
seq-csr/seq-csr : Sequential compressed-sparse-row implementation
omp-csr/omp-csr : OpenMP compressed-sparse-row implementation
xmt-csr/xmt-csr : Cray XMT compressed-sparse-row implementation
xmt-csr-local/xmt-csr-local : Cray XMT compressed-sparse-row implementation accumulating vertices into a small buffer before storing globally
mpi/ : Several implementations using MPI

http://www.graph500.org/specifications에 나와있는 parameter settings를 참고해 scale과 edge factor를 설정해 실행하면 된다.

$./seq-csr/seq-csr -s 24 -e 16

References :
[1] Graph500, http://www.graph500.org/
[2] Arkaprava Basu et al., Efficient virtual memory for big memory servers, ISCA’13

Advertisements
Tagged with: , ,
Posted in 2) Computer Engineering

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 96,405 hits
%d bloggers like this: