Software tools for training and guided parallelization