This plug-in contains two parallel implementations of the Force Atlas layout, one running on CPUs (OpenMP) and one running on GPUs (CUDA).
Plugin Owner's Notes
It uses libraries written in Fortran and C++ to perform the costly O(n2) repulsion between nodes. The parallelization of the CPU implementation is done using OpenMP, multiple threads being created and the work being divided among them. The version of the layout running on GPUs was implemented with CUDA and is based on the "Fast N-Body Simulation with CUDA" paper published in the GPU Gems 3 book.Performance
The CPU implementation performs more than 50 times faster than the standard Force Atlas on recent multi-core architectures. The increase in speed is the result of thread-level parallelism (OpenMP), instruction-level parallelism (SSE instructions) and the superior performance of Fortran for compute-intensive tasks.
The performance of the GPU implementation depends on the number of nodes in the graph. It is more than 1,000 times faster than the standard Force Atlas with a graph of 100,000 nodes. It is not advised to use this implementation with less than 1,000 nodes as it does not perform as well as the CPU implementation.
*Windows 64 bit
*A CUDA compatible NVIDIA graphic card with the latest driver installed (GPU implementation only)
v0.1: July 8th, 2011
*First release of the plug-in
*Contains the parallel implementation running on CPUs
v0.2: July 23rd, 2011
*Added the parallel implementation running on GPUs
*Tested on Quadro 2000 and Geforce GT 540m graphic cards