Hi,
I had a look at the Gephi algorithm, and I think it would be fairly easy to implement in GraphChi:
1) for the first phase, you need to keep in memory the current edge weight totals for each community and modify
them accordingly when a vertex is moved to a new community. Thus, if you have enough memory (you need O(V) as the number of communities is initially one per vertex), you should be fine. Typically the number of vertices is much less than the number of edges, so you should be fine even on just a laptop. Good way is to manage the community values is to have a std::vector<double> as a field in the graphchiprogram-object.
Aapo