1. A method for network structure learning comprising: determining whether a score cache includes a score for each of multiple network node families, the family scores to provide values with which to compute scores for multiple neighbors; distributing for scoring among parallel computing devices node families for which the score cache does not include scores; loading resulting scores from the parallel computing devices for the scored node families into the master score cache; and synchronizing the parallel computing devices with the master score cache to make the resulting scores available to the parallel computing devices for scoring the neighbors.