1. A method for large-scale web community detection using a graphical processing unit (GPU), comprising: receiving, by the GPU, an input graph formatted into one or more first adjacency lists from a central processing unit (CPU); performing, by the GPU, a first level shingling on the one or more first adjacency lists; sending, by the GPU, the first level shingling to the CPU to generate an aggregate graph based upon the first level shingling; receiving, by the GPU, the aggregate graph formatted into one or more second adjacency lists from the CPU; performing, by the GPU, a second level shingling on the one or more second adjacency lists; and sending, by the GPU, the second level shingling to the CPU to generate a dense sub-graph that identifies one or more web communities.