I've been experimenting with using OpenMP for getting IMP to make use of more than one thread during evaluation. At the moment, all that is done is that independent ScoreStates have their update methods called in parallel, and restraints are evaluated in parallel. The speedups look to be pretty good with my benchmarks, but I haven't tested too many things yet.
If you want to play with it or get involved in improving it, you can get it from the salilab github repo (http://github.com/salilab/imp) in the openmp branch. See the README.md there (shown on the github page) for more info.
To get started with git, check out the https://github.com/salilab/imp/wiki/Getting-started-as-a-developer