Another alternative to ditching VTK for calculations would be to separate them into a separate executable that runs ONLY calculation threads, and then feed the results back over to your original executable, either via files, or pipes, or network sockets. Have you looked at ParaView and its data server / viz server pieces?