Erik Saule's Homepage



SPart is a C++ library for partitioning a spatially located workload into balanced parts. SPart provides numerous algorithms to partition one dimensional workload into intervals and two dimensional workload into rectangles. The spatial partitioning techniques are commonly used to distribute scientific application including particle in cell simulation, direct volume rendering, linear algebra and collision detection. More information about SPart can be found here.


theadvisor is an academic paper recommendation service that helps researchers with their literature search. The service starts with a simple keyword search or takes a bibliography file (in BibTeX, RIS, or EndNote XML format) of a paper the researcher currently working on, and suggests other relevant publications. It also gives venue and reviewer recommendations. You can access the service at


BADIOS is a C++ program that enables computing the Betweenness Centrality of an undirected unweighted graph. It uses shattering, compression and ordering techniques to significantly compute the betweenness centrality of all the vertices of a graph. You can access BADIOS here.


gpuBC is a sofware including a set of techniques to make the betweenness computations faster on GPUs as well as on heterogeneous CPU/GPU architectures. Our techniques are based on virtualization of the vertices with high degree, strided access to adjacency lists, removal of the vertices with degree 1, and graph ordering. More information can be found here.