It seems there are 5 different available "compute types". what are these compute types? What's the difference between them?
The difference relies in in which device the actual calculations are done. CPU and OpenMP are run on the CPU, while GLSL Transform Feedback and GLSL Compute are run on the GPU.
- CPU - single threaded CPU implementation. it is mainly useful in cases when GPU compute is possible and threaded CPU option causes artifacts (it is unlikely to happen, but still possible).
- OpenMP - multi-threaded CPU implementation. It is similar to threading model of old subsurf code. Use it for maximum performance in cases when GPU compute is not available.
- GLSL Transform Feedback - uses GPU to perform calculations, has minimal requirements to video card and driver.
- GLSL Compute - uses GPU to perform calculations, supposed to be more efficient than Transform Feedback but also has higher requirements to video card and driver.